aergo

package module
v0.10.0-rc Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2019 License: MIT Imports: 0 Imported by: 0

README

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 testnet via aergoscan service: aergoscan

Roadmaps

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 https://aergoscan.io.
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

Information

Server port usages
Usage Port
gRPC 7845
P2P 7846
REST 8080

Installation

Prerequisites
Build

gettig started_how to build

Contribution

Following Golang conventions TBD

License

All code is licensed under the MIT License (https://opensource.org/licenses/MIT).

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
key
cmd
aergocli
* * @file * @copyright defined in aergo/LICENSE.txt
* * @file * @copyright defined in aergo/LICENSE.txt
aergocli/cmd/mock_types
Package mock_types is a generated GoMock package.
Package mock_types is a generated GoMock package.
aergocli/util/encoding
Package encoding defines interfaces shared by other packages that convert data to and from byte-level and textual representations.
Package encoding defines interfaces shared by other packages that convert data to and from byte-level and textual representations.
aergocli/util/encoding/json
Package json implements encoding and decoding of JSON as defined in RFC 7159.
Package json implements encoding and decoding of JSON as defined in RFC 7159.
aergosvr
* * @file * @copyright defined in aergo/LICENSE.txt * * @file * @copyright defined in aergo/LICENSE.txt
* * @file * @copyright defined in aergo/LICENSE.txt * * @file * @copyright defined in aergo/LICENSE.txt
colaris
* @file * @copyright defined in aergo/LICENSE.txt
* @file * @copyright defined in aergo/LICENSE.txt
polaris
* @file * @copyright defined in aergo/LICENSE.txt
* @file * @copyright defined in aergo/LICENSE.txt
system
* * @file * @copyright defined in aergo/LICENSE.txt * * @file * @copyright defined in aergo/LICENSE.txt
* * @file * @copyright defined in aergo/LICENSE.txt * * @file * @copyright defined in aergo/LICENSE.txt
examples
component
* * @file * @copyright defined in aergo/LICENSE.txt
* * @file * @copyright defined in aergo/LICENSE.txt
internal
enc
mocks
Code generated by mockery v1.0.0.
Code generated by mockery v1.0.0.
p2p
mocks
Package mock_p2p is a generated GoMock package.
Package mock_p2p is a generated GoMock package.
pkg
tools
pkgen
* * @file * @copyright defined in aergo/LICENSE.txt
* * @file * @copyright defined in aergo/LICENSE.txt

Jump to

Keyboard shortcuts

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