/project-bee

light and fast blockchain

Primary LanguageGo

project-bee

make run
make test

ep5 block header

ep6 verify block

  • 生成随机区块
  • header 的 hash 方法
  • 验证区块头 hash

ep7 mem pool

  • blockchain.go -- GetHeader() 增加 bc.lock.Lock() -- Height() 增加 bc.lock.RLock() -- addBlockWithoutValidation() 增加 bc.lock.Lock()

  • 增加 txPool.go -- Add() -- Has() -- Len() -- Flush()

  • 增加 txPool_test.go

  • server.go -- handleTransaction()

ep8 mem pool

  • txPool.go -- NewTxMapSorter() FIFO的tx排序方法

  • txPool_test.go -- TestSortTransactions()

  • encoding.go 注册elliptic.P256()椭圆曲线的签名算法 -- Encode(tx *Transaction) -- Decode(tx *Transaction)

ep9 rpc

  • rpc.go -- DefaultRPCDecodeFunc(rpc RPC) (*DecodedMessage, error) -- RPCProcessor interface{}

ep10 rpc

  • server.go -- processTransaction()

  • localTransfer.go -- Broadcast(payload []byte)

ep11 1st block

  • server.go -- ServerOpts struct -- Server struct

ep20 TCP

  • todo s.peerMap[peer.conn.RemoteAddr()] = peer