ev-node

module
v1.0.0-beta.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2025 License: Apache-2.0

README

EV-node

Ev-node is the basis of the Evolve Stack. For more in-depth information about Evolve, please visit our website.

Go Report Card codecov GoDoc

⚠️ Version Notice: Do not use tags or releases before v1.*. Pre-v1 releases are not stable and should be considered abandoned.

Using Evolve

Evolve supports multiple sync modes:

  • Hybrid sync: Sync from both DA layer and P2P network (default when peers are configured)
  • DA-only sync: Sync exclusively from DA layer by leaving P2P peers empty (see Configuration Guide)
  • P2P-priority sync: Prioritize P2P with DA as fallback
Example Implementation: TestApp CLI

The easiest way to understand how to use Evolve is by exploring our example implementation, TestApp.

Requires Go version >= 1.22.

TestApp is a CLI tool that demonstrates how to run different kinds of nodes using the Evolve framework. It serves as a reference implementation and helps you understand how to build your own Evolve-based blockchain.

Install

To install the example testapp, simply run the following command at the root of the ev-node repo:

make install

The latest TestApp example is now installed. You can verify the installation by running:

testapp version
Quick Start

You can spin up a local TestApp network (powered by Evolve) with the following command:

testapp start

Building with Evolve

Evolve is the first sovereign application framework that allows you to launch a sovereign, customizable blockchain as easily as a smart contract. TestApp serves as a reference implementation to help you get started with your own Evolve-based blockchain.

Check out our tutorials on our website.

Contributing

We welcome your contributions! Everyone is welcome to contribute, whether it's in the form of code, documentation, bug reports, feature requests, or anything else.

If you're looking for issues to work on, try looking at the good first issue list. Issues with this tag are suitable for a new external contributor and is a great way to find something you can help with!

See the contributing guide for more details.

Please join our Community Discord to ask questions, discuss your ideas, and connect with other contributors.

Helpful commands
# Run unit tests
make test

# Generate protobuf files (requires Docker)
make proto-gen

# Run linters (requires golangci-lint, markdownlint, hadolint, and yamllint)
make lint

# Lint protobuf files (requires Docker and buf)
make proto-lint

Tools
  1. Install golangci-lint
  2. Install markdownlint
  3. Install hadolint
  4. Install yamllint

Audits

Date Auditor Version Report
2024/01/12 Informal Systems eccdd...bcb9d informal-systems.pdf
2024/01/10 Binary Builders eccdd...bcb9d binary-builders.pdf

Directories

Path Synopsis
This pkg defines a set of sequencer configurations that can be used out of the box.
This pkg defines a set of sequencer configurations that can be used out of the box.
grpc/single module
core module
da module
execution
evm module
evm/test module
grpc module
pkg
cmd
da
os
p2p
signer/file
File Remote Signer implements the Signer interface using a file to store the keys.
File Remote Signer implements the Signer interface using a file to store the keys.
signer/noop
Noop remote signer implements the Signer interface using a no-op signer.
Noop remote signer implements the Signer interface using a no-op signer.
sequencers
single
This package implements a single sequencer.
This package implements a single sequencer.
based module
test
mocks
Package mocks provides mock implementations for testing.
Package mocks provides mock implementations for testing.
tools
blob-decoder command
cache-analyzer command
da-debug module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL