aergo

package module
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2018 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

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 (planned in Dec, 2018)
  • Advanced dPOS
  • Governance with DAO
  • Advanced client framework (including domain-specific parts)
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

  1. MVP based, Forward compatibility, Iteration
  2. Following Golang conventions

Information

Server port usages
Usage Port
gRPC 7845
* P2P 7846
REST 8080

Installation

Prerequisites
Build
$ go get -d github.com/aergoio/aergo/account
$ cd ${GOPATH}/src/github.com/aergoio/aergo
$ git submodule init && git submodule update
$ make deps
$ make

Contribution

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 command
*
*
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.
aergoluac command
aergosvr command
*
*
system
*
*
examples
component command
*
*
internal
enc
mocks
Code generated by mockery v1.0.0.
Code generated by mockery v1.0.0.
p2p
pkg
tools
pkgen command
*
*

Jump to

Keyboard shortcuts

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