# README
Implement a simple blockchain use dpos algorithm
Architecture Design
- Create a P2P Conn-pool
- BlockChain Generate
- Node Manage And Vote
- Pick Node
- Write Block On Blockchain
Build
go build -o build/dpos main/dpos.go
RUN
git clone [email protected]:csunny/dpos.git
cd dpos // 切换到源码路径下
go build main/dpos.go
connect multi peer
./dpos new --port 3000 --secio
Vote
./dpos vote -name QmaxEdbKW4x9mP2vX15zL9fyEsp9b9yV48zwtdrpYddfxe -v 30
Document
Licence
MIT
# Functions
CaculateBlockHash 计算Block的hash值.
CaculateHash 计算string的hash值.
GenerateBlock 根据上一个区块信息,生成新的区块.
HandleStream handler stream info.
IsBlockValid 校验区块是否合法.
MakeBasicHost 构建P2P网络.
PickWinner 根据投票数量选择生成区块的节点.
Run 函数.
SavePeer 将加入到网络中的节点信息保存到配置文件中,方便后续投票与选择.