Official Go implementation of TTC, A Decentralized and Incentivized Social Networking Protocol
Clone or download
Latest commit 3525a69 Nov 1, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
accounts go fmt again Sep 20, 2018
bmt geth 1.8.9, change import to this github path May 29, 2018
build fix make file Oct 18, 2018
cmd update confirm info to main chain Nov 1, 2018
common geth 1.8.9, change import to this github path May 29, 2018
consensus refactor: add cross_chain.go Nov 1, 2018
console fix cmd/gttc test Aug 20, 2018
contracts geth 1.8.9, change import to this github path May 29, 2018
core fix the hash of testnet for current ttc testnet Sep 21, 2018
crypto fix go 1.11 build Sep 25, 2018
dashboard go fmt Sep 20, 2018
eth update confirm info to main chain Nov 1, 2018
ethclient geth 1.8.9, change import to this github path May 29, 2018
ethdb geth 1.8.9, change import to this github path May 29, 2018
ethstats geth 1.8.9, change import to this github path May 29, 2018
event geth 1.8.9, change import to this github path May 29, 2018
internal add getSnapshotByHeaderTime Oct 30, 2018
les les: add Skip overflow check to GetBlockHeadersMsg handler Oct 16, 2018
light go fmt Sep 20, 2018
log geth 1.8.9, change import to this github path May 29, 2018
metrics geth 1.8.9, change import to this github path May 29, 2018
miner no confirmed tx in sidechain Oct 29, 2018
mobile geth 1.8.9, change import to this github path May 29, 2018
node set clientIdentifier to gttc Aug 17, 2018
p2p go fmt again Sep 20, 2018
params modify version Oct 30, 2018
rlp geth 1.8.9, change import to this github path May 29, 2018
rpc go fmt Sep 20, 2018
signer go fmt Sep 20, 2018
swarm set clientIdentifier to gttc Aug 17, 2018
tests fix lock bug to improve tps Aug 21, 2018
trie go fmt Sep 20, 2018
vendor add golang.org/x/sys/cpu Sep 25, 2018
whisper geth 1.8.9, change import to this github path May 29, 2018
.gitignore edit gitignore file, ignore some exe file in cmd dir Sep 19, 2018
.travis.yml modify travis.yml add go 1.11.x Sep 25, 2018
AUTHORS geth 1.8.9, change import to this github path May 29, 2018
COPYING geth 1.8.9, change import to this github path May 29, 2018
COPYING.LESSER geth 1.8.9, change import to this github path May 29, 2018
Dockerfile geth 1.8.9, change import to this github path May 29, 2018
Dockerfile.alltools geth 1.8.9, change import to this github path May 29, 2018
LICENSE Initial commit May 29, 2018
Makefile modify makefile Oct 18, 2018
README.md modify readme Nov 1, 2018
VERSION modify version Oct 30, 2018
appveyor.yml geth 1.8.9, change import to this github path May 29, 2018
circle.yml geth 1.8.9, change import to this github path May 29, 2018
interfaces.go geth 1.8.9, change import to this github path May 29, 2018

README.md

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 test chain is deploy the code of branch v0.0.6

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

Connection to Testnet

gttc --testnet

You can test on this test chain, it is just for test.

Contact

email: liupeng@tataufo.com