Golang implementation of MARO Blockchain (Previously known as TTC protocol).
gttc is base on go-ethereum, the main part be modified is in consensus directory. We add a new consensus algorithm named alien in it.
Alien is a simple version of DPOS-PBFT consensus algorithm, which in consensus/alien:
Alien use header.extra to record the all infomation of current block and keep signature of miner. The snapshot keep vote & confirm information of whole chain, which will be update by each Seal or VerifySeal. By the end of each loop, the miner will calculate the next loop miners base on the snapshot. Code annotation will show the details about how it works.
More information about this upgrade will be found UPGRADE TO GTTC V0.2.5
Requirement | Notes |
---|---|
Go version | Go1.9 ~ Go1.15, Go1.13 is recommended. |
See the HOWTO_INSTALL
Enode list for Mainnet & Slavenet
You can find all documents in our Wiki
DPOS_CONSENSUS_ALGORITHM: description of DPOS algorithm
PBFT_CONSENSUS_ALGORITHM: description of PBFT algorithm
HOWTO_IMPLEMENT_DPOS_PBFT_IN_ALIEN: details about how we implement dpos and pbft
genesis.json : genesis.json file for the testnet we deploy
HOWTO_RUNNING_TEST_ON_PRIVATE_NETWORK : The instruction of deploy your own testnet
HOWTO_VOTE_ON_GTTC : how to vote on alien testnet and view snapshot through API
GENESIS_JSON_SAMPLE : genesis.json sample
email: peng@ttc.eco