×

ledger冷钱包官网查询

ledger冷钱包官网查询(冷钱包erc)

admin88 admin88 发表于2024-05-25 11:48:12 浏览89 评论0

抢沙发发表评论

  区块链兄弟社区ledger冷钱包官网查询,区块链技术专业问答先行者ledger冷钱包官网查询,中国区块链技术爱好者聚集地

  作者:郑泽洲

  原文链接:https://tinyurl.com/ybj8wbw6

  著权归作者所有。商业转载请联系作者获得授权ledger冷钱包官网查询,非商业转载请注明出处。

  本文约2000字+,阅读(观看)需要12分钟

  之前学习比特币和以太坊,必先学习其区块结构,当时在银行做Hyperledger相关项目时,我却对结构很忽略,只关心智能合约,居然也能初步掌握并开始项目相关ledger冷钱包官网查询的开发。这说明超级账本的区块属性其实比较弱,重要的是智能合约的属性。性能也不错。从这个意义上讲Hyperledger用来做存证是大材小用的。

  问题1:交易是怎么存入区块的?

  Transactions are collected into blocks/batches on the ordering service first. Blocks are cut either when the BatchSize is met, or when BatchTimeout elapses (provided a non-empty block).

  也就是说,满足这2个条件,区块生成ledger冷钱包官网查询了:

交易数量够了

超时时间到了

  所以Hyperledger的区块生成不是定时的,高峰时间,区块生成速度明显加快

configtx.yaml in the common/configtx/tool/ directory for more info on the block-cutting criteria.

The Block type definition in protos/common/common.proto

  和以太坊一样,hyperledger的区别,也有区块号、指向前一个区块的指针、指向数据的指针,因为没有挖矿,头部简洁了很多。

  // This is finalized block structure to be shared among the orderer and peer

  // Note that the BlockHeader chains to the previous BlockHeader, and the

  BlockData hash is embedded

  // in the BlockHeader. This makes it natural and obvious that the Data is included in the hash, but

  // the Metadata is not.

  message Block {

  BlockHeader header = 1;

  BlockData data = 2;

  BlockMetadata metadata = 3;

  }

  // BlockHeader is the element of the block which forms the block chain

  // The block header is hashed using the configured chain hashing algorithm

  // over the ASN.1 encoding of the BlockHeader

  message BlockHeader {

  **uint64 number = 1;** // The position in the blockchain

  **bytes previous_hash = 2;** // The hash of the previous block header

  **bytes data_hash = 3;** // The hash of the BlockData, by MerkleTree

  }

  message BlockData {

  repeated bytes data = 1;

  }

  message BlockMetadata {

  repeated bytes metadata = 1;

ledger冷钱包官网查询(冷钱包erc)

  }

  问题2:怎么存入LevelDB

  These blocks are stored locally to disk on every ordering service node along with a LevelDB to index these blocks by number – see orderer/ledger/file

ledger冷钱包官网查询(冷钱包erc)

  // Append a new block to the ledger

  func (fl *fileLedger) Append(block *cb.Block) error {

  err := fl.blockStore.AddBlock(block)

  if err == nil {

  close(fl.signal)

  fl.signal = make(chan struct{})

  }

  return err

  }

  

  文章发布只为分享区块链技术内容,版权归原作者所有,观点仅代表作者本人,绝不代表区块链兄弟赞同其观点或证实其描述

群贤毕至

访客