aergo

package module
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 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

Installation

Prerequisites
Build

Building from Source

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