Skip to content
forked from TTCECO/gttc

Official Go implementation of TTC, A Decentralized and Incentivized Social Networking Protocol

License

LGPL-3.0 and 2 other licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
LICENSE
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

yingjun-wu/gttc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Go TTC

Golang implementation of the TTC protocol.

GoDoc GoReport Travis License

About gttc

gttc is base on go-ethereum (v1.8.9), 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:

  • 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 Mainnet and Testnet is deploy the code of branch release/v0.1.7

Minimum requirements

Requirement Notes
Go version Go1.9 or higher

Install

See the HOWTO_INSTALL

Other Documents List

You can find all documents in our Wiki

Contact

email: liupeng@tataufo.com

About

Official Go implementation of TTC, A Decentralized and Incentivized Social Networking Protocol

Resources

License

LGPL-3.0 and 2 other licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
LICENSE
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 86.2%
  • C 6.0%
  • JavaScript 4.7%
  • C++ 1.0%
  • Assembly 0.5%
  • Python 0.4%
  • Other 1.2%