Code Monkey home page Code Monkey logo

accumulate's Introduction

Accumulate

Accumulate is a novel blockchain network designed to be hugely scalable while maintaining security. More details

CLI

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. Or it can be installed to $GOPATH/bin/accumulated (GOPATH defaults to $HOME/go) via go install ./cmd/accumulated.

Main TestNet

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.

Local TestNet

To set up a testnet on your PC, using localhost addresses, run accumulated testnet -w <config-dir>, e.g. accumulated testnet -w ./nodes.

  • -v/--validators sets the number of nodes created, default 3.
  • --ip sets the IP address of the first node, default 127.0.1.1. Nodes after the first will increment the IP, e.g. 127.0.1.2.
  • --port sets the base port, default 26656. 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.

Code organization

Accumulate is broken into the following components:

  • cmd/accumulated - Daemon
  • cmd/cli - CLI wallet
  • config - Daemon configuration types
  • internal/abci - ABCI implementation
  • internal/api- JSON-RPC v1; Deprecated: use internal/api/v2
  • internal/api/v2- JSON-RPC v2
  • internal/chain - Transaction validation and processing (aka chain validators)
  • internal/cmd/gentypes - Type generator for internal/api and protocol
  • internal/encoding - Shared code used by generated types in internal/api and protocol
  • internal/genesis - Objects that are created when the node first starts up
  • internal/logging - Logging setup
  • internal/node - Node configuration, initialization, and execution
  • internal/relay - The relay, responsible for relaying transactions to the appropriate BVC; Deprecated: use internal/api/v2
  • internal/testing - Test helpers
  • internal/url - Accumulate URL parser
  • internal/web/static - Embedded web server content
  • networks - Accumulate network definitions
  • protocol - Protocol types and definitions
  • router - Accumulate API
  • smt - Stateful Merkle Tree
  • types - Data type definitions, used for RPC and persistence; Deprecated: these packages will eventually be moved or replaced, new work should happen elsewhere

Load Test

To load test an Accumulate network, run accumulated testnet --network <name> or accumulated testnet --remote <ip-addr>. These flags can be combined.

  • --network adds the first IP of the named or numbered network to the target list.
  • --remote adds the given IP to the target list.
  • --wallets sets the number of generated wallets.
  • --transactions sets the number of generated transactions.

accumulate's People

Contributors

bunfield avatar firelizzard18 avatar ilzheev avatar mayhallaj avatar paulsnow avatar qvidal avatar ranjan008 avatar stolmanb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.