Skip to content
aergo blockchain kernel
Branch: develop
Clone or download
eve2adam Merge branch 'hotfix/1.0.5' into develop
# Conflicts:
#	contract/vm_test.go
Latest commit f7baf62 May 22, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
account Update aergo-protobuf Mar 27, 2019
aergo-protobuf @ 3835057 Update aergo-protobuf May 16, 2019
bin [CLI] Fix input json parsing for committx Dec 4, 2018
chain [CHAIN] improve performance of orphan pool May 20, 2019
cmd [RPC] Support to get name at a specific number of block (#78) May 16, 2019
config [RAFT] add SnapFrequency property to raft config May 17, 2019
consensus [RAFT] refactoring cluster and add SnapFrequency property to raft config May 17, 2019
contract Merge branch 'hotfix/1.0.5' into develop May 22, 2019
examples [minor] Remove coinbasefee in example/genesis.json Mar 27, 2019
fee [ctr] Remove state db fee when payload is zero Apr 15, 2019
hooks [ci] add dockerfiles and hooks to support automated builds on docker hub Feb 20, 2019
internal [MISC] Clarify documentation (#49) Jan 31, 2019
libtool [ctr/lua] Update submodule luajit (87250997) May 3, 2019
mempool [mempool] Close dump file after loading Apr 11, 2019
message [RPC] Support to get name at a specific number of block (#78) May 16, 2019
node Remove config files, use default config Apr 16, 2019
p2p [P2P] Refacotor code May 14, 2019
pkg [trie] fix : node unavailable in db error not handled when node movin… Jan 23, 2019
polaris [P2P] Refacotor code May 14, 2019
rpc Merge branch 'topic/metadata-blocksize' into develop May 16, 2019
scripts [ci] fix polaris dockerfile, improve build script Mar 27, 2019
state [RPC] Support to get name at a specific number of block (#78) May 16, 2019
syncer [RAFT] refactoring cluster and add SnapFrequency property to raft config May 17, 2019
test [P2P][RPC] Add version information Apr 25, 2019
tools [tool] Tool for analyze mempool dump file Apr 2, 2019
types Update aergo-protobuf May 16, 2019
.gitattributes linguist ignore vendored code (fixed) Apr 24, 2019
.gitignore [build] Refine build systems Nov 19, 2018
.gitmodules change submodule url from ssh to https for travis Sep 20, 2018
.travis.yml modify travis file Mar 28, 2019
CMakeLists.txt [ctr/lua] add version flag to aergoluac May 2, 2019
Dockerfile Remove config files, use default config Apr 16, 2019
Dockerfile.polaris [ci]fix polaris dockerfile Mar 27, 2019 [ci] add mp4 to Dockerfile Mar 27, 2019
LICENSE.txt Initial Commit of aergo blockchain kernel Jul 31, 2018
Makefile [build] Fix release rule May 15, 2019 Update Feb 25, 2019
aergo.iml [CHAIN] fix log messages Aug 21, 2018
doc.go [misc] add doc.go file to be indexed at a godoc site Sep 3, 2018
glide.lock [GLIDE] update aergoio/etcd to support SnapshotSaver Apr 29, 2019
glide.yaml [GLIDE] update aergoio/etcd to support SnapshotSaver Apr 29, 2019

Go Report Card MIT License Travis_ci Maintainability Test Coverage LoC API Reference

Aergo - Distributed Trust at Scale

Official Chain Software of Aergo Protocol

We are developing the most practical and powerful platform for blockchain businesses. This will be a huge challenge. There are 4 main ideologies regarding this project.

  1. Developer-friendly
  2. Guaranteed performance
  3. Scalable architecture
  4. Connect with the world

You can see the current public network status via aergoscan service: aergoscan

Official Documentation Link: aergodocs


beginning: Skeleton (31, July, 2018)

  • Platform framework
  • Stub consensus(dpos without voting)
  • Account model
  • Mempool
  • Networking - p2p/protocol
  • Cmd aergocli/aergosvr
  • Simple client API
  • Smart contract will not be released - you can see the prototype in coinstack3sp2

1st: Aergo Alpha (31, Oct, 2018)

  • Consensus - BFT-dPOS (election not integrated)
    • We provide BFT by solving various problems that may occur in dpos.
  • Aergo SQL smart contract (Lua-jit)
    • It is a powerful smart contract language providing DB function.
  • Client - Ship
    • Client framework and development environment
    • Provides a package management and testing environment similar to NPM.
  • Client SDK
    • heraj (java)
    • herajs (javascript)
    • herapy (python)
  • Browser Wallet (1~2 weeks later)
    • Chrome Extension provides a coin transfer wallet.
  • Sub Project
    • Litetree
      • Improved SQLite is used to provide DB functionality in a block chain.
      • Provides higher performance through LMDB.
    • Sparse Merkle Tree
      • Provides fast, space-saving sparse merkle tree.
    • Pre-Testnet

2nd: Aergo Testnet (28, Dec, 2018)

  • BFT-dPOS with Voting
    • The pre-test net has the function of agreeing blocks among the set BPs. TestNet has a function to select BP through voting.
  • Named Account
    • For user's convenience, Named Account function that can be accessed based on Name rather than Address is provided.
  • Expanded Aergo Lua
    • The Aergo Lua feature has been extended for more convenient development.
  • Advanced Client Framework
    • Provides a wallet interface that interacts with keystore and manages nonce.
    • Provides the ability to make smart contracts through interface calls.
    • Provides a contract library to issue tokens based on Aergo.
  • Hub Enterprise
    • Enterprise customers view management and monitoring of their networks as a prerequisite.
    • We provide Hub Enterprise control solution to solve this problem.
  • Merkle Bridge Verification
    • StateTrie Merkle proof verifications and delegated token transfers are now implemented in the merkle-bridge.
  • Various Smart Contract Examples
    • Provide some standard smart contracts
  • TestNet
    • Launch the Test Network to provide network for community and experment
    • We provide

3rd: Aergo Mainnet (planned in March, 2019)

  • Parallelism (inter-contract)
  • Simple branching (2WP or simple Plasma)

4th: Aergo World Launch (planned in 4Q, 2019)

  • Orchestration with Aergo Horde
  • Service with Aergo Hub
  • Advanced performance features

5th: Aergo Future

  • Will be updated

Key thoughts of the architecture

MVP based, Forward compatibility, Iteration


Server port usages

Usage Port
gRPC 7845
P2P 7846




Building from Source


Following Golang conventions TBD


All code is licensed under the MIT License (

You can’t perform that action at this time.