Golang implementation of the TTC protocol.
Alien is a simple version of DPOS-PBFT consensus algorithm, which in consensus/alien:
- alien.go : Implement the consensus interface
- custom_tx.go : Process the custom transaction such as vote,proposal,declare and so on...
- snapshot.go : Keep the snapshot of vote and confirm status for each block
- signer_queue.go : calculate the order of signer queue
- api.go : API
- cross_chain.go : Cross chain communication by custom transaction
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.
- Current Mainnet and Testnet is deploy the code of branch release/v0.2.0
- Next version will be release on July 12, which contain the hard-fork at block height 2968888
- Please make sure your node upgrade to release/v0.2.0 before that block height.(before July 17,2019 UTC/GMT+8)
More information about this upgrade will be found UPGRADE TO GTTC V0.2.0
|Go version||Go1.9 or higher|
See the HOWTO_INSTALL
Other Documents List
You can find all documents in our Wiki
description of DPOS algorithm
description of PBFT algorithm
details about how we implement dpos and pbft
genesis.json file for the testnet we deploy
The instruction of deploy your own testnet
how to vote on alien testnet and view snapshot through API