Accumulate is a novel blockchain network designed to be hugely scalable while maintaining security. More details
The CLI lives in ./cmd/accumulated. It can be run directly via go run ./cmd/accumulated ..., which builds to a
temporary directory and executes the binary in one go. It can be built via go build ./cmd/accumualted, which
creates accumulated or accumulated.exe in the current directory. It can be installed to $GOPATH/bin/accumulated (
GOPATH defaults to $HOME/go) via
go install ./cmd/accumulated.
To initialize node configuration in ~/.accumulate, choose a network from
networks/networks.go, and run accumulated init -n <name>.
Once ~/.accumulate is initialized, run accumulated run -n <n> where <n> is the index of the node you want to run.
For example, "Arches" has two nodes, index 0 and index 1.
To set up a testnet on your PC, using localhost addresses, run accumulated testnet -w <config-dir>,
e.g. accumulated testnet -w ./nodes.
-v/--validatorssets the number of nodes created, default 3.--ipsets the IP address of the first node, default127.0.1.1. Nodes after the first will increment the IP, e.g.127.0.1.2.--portsets the base port, default26656. Tendermint P2P will run on the base port, Tendermint RPC on base port + 1, Tendermint GRPC on +2, Accumulate RPC on +3, Accumulate JSONRPC API on +4, and Accumulate REST API on +5.
To run a node in the testnet, run accumulated run -w <dir>/Node<n>, e.g.
accumulated run -w ./nodes/Node0.
Accumulate is broken into the following components:
cmd/accumulated- Daemoncmd/accumulate- CLI walletconfig- Daemon configuration typesinternal/abci- ABCI implementationinternal/api- JSON-RPC v1; Deprecated: useinternal/api/v2internal/api/v2- JSON-RPC v2internal/chain- Transaction validation and processing (aka chain validators)internal/cmd/gentypes- Type generator forinternal/apiandprotocolinternal/encoding- Shared code used by generated types ininternal/apiandprotocolinternal/genesis- Objects that are created when the node first starts upinternal/logging- Logging setupinternal/node- Node configuration, initialization, and executioninternal/relay- The relay, responsible for relaying transactions to the appropriate BVC; Deprecated: useinternal/api/v2internal/testing- Test helpersinternal/url- Accumulate URL parserinternal/web/static- Embedded web server contentnetworks- Accumulate network definitionsprotocol- Protocol types and definitionsrouter- Accumulate APIsmt- Stateful Merkle Treetypes- Data type definitions, used for RPC and persistence; Deprecated: these packages will eventually be moved or replaced, new work should happen elsewhere
To load test an Accumulate network, run accumulated testnet --network <name>
or accumulated testnet --remote <ip-addr>. These flags can be combined.
--networkadds the first IP of the named or numbered network to the target list.--remoteadds the given IP to the target list.--walletssets the number of generated wallets.--transactionssets the number of generated transactions.