🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 区块链结构层设计与实现 区块链结构主要包括Block、Blockchain、Transaction、UTXO,他们都**与P2P网络**无关,与第七版相比,这些结构的设计并没有太大的变动: ## Block ``` type Block struct {     Timestamp    int64`json:"Timestamp"`     Hash         []byte`json:"Hash"`     PrevHash     []byte`json:"PrevHash"`     Transactions []*Transaction `json:"Transactions"`     Nonce        int`json:"Nonce"`     Height       int`json:"Height"`     MerkleRoot   []byte`json:"MerkleRoot"`     Difficulty   int`json:"Difficulty"`     TxCount      int`json:"TxCount"` } ``` Block需要存储到数据库,所以需要为每一个字段给出json名称 ## Blockchain ``` type Blockchain struct {     LastHash   []byte     Database   *badger.DB     InstanceId string } ``` ## Transaction ``` typeTransactionstruct {     ID      []byte     Inputs  []TxInput     Outputs []TxOutput } ``` ## UTXO 与前一版设计与实现基本相同,utxo也是同样保存到数据库中,以提升效率。 ## MerkleTree 与前一版设计与实现相同 # 数据存储 ## 数据库变更为更高效的badger.DB badger.DB的操作与bolt.DB的操作有些区别。