Skip to content
Liu Peng edited this page Jul 11, 2019 · 13 revisions
  • For the API reference and developer documentation head over to the auto generated GoDoc documentation.
  • GTTC is base on go-ethereum code, so if you find geth in this wiki, replace it with gttc and try again ;-)

This is the Wiki for the official Go implementation of TTC, A Decentralized and Incentivized Social Networking Protocol.For generic TTC-related information see our website: https://www.ttc.eco/.

About gttc

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 contain 7 files in consensus/alien and you can find reference about alien on godoc:

  • 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
  • snapshot_test.go : test for snapshot
  • signer_queue.go : calculate the order of signer queue
  • signer_queue_test.go : test for signer_queue
  • api.go : API

If you familiar with clique, you will find alien like that very much. We also 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 from the snapshot. Code annotation will show the details about how it works.

Current test chain is deploy the code of branch v0.0.4

Minimum requirements

Requirement Notes
Go version Go1.9 or higher

Main entry points:

Sidebar lists all pages.

Clone this wiki locally