go谈话+区块链教程fabric1.0源代码领会ledger账本一

  go谈话+区块链教程fabric1.0源代码领会ledger账本一,2021年下星期,区块链行业正渐渐褪去兴盛之初的烦躁、...

go谈话+区块链教程fabric1.0源代码领会ledger账本一

  go谈话+区块链教程fabric1.0源代码领会ledger账本一,2021年 下星期,区块链行业正渐渐褪去兴盛之初的烦躁、回归理性,外表上看关系人才需要与身价犹如正在回落区块链伯仲。但究竟上,恰是前期泡沫的渐退,让人们更多的关心点放在了区块链真实的本领之上。

  # fabric 1.0源代码条记 之 ledger(账本)

  ## 1、ledger概括

  ledger,即账本数据库区块链伯仲。fabric账本中有四种数据库,idstore(ledgerid数据库)、blkstorage(block文献保存)、statedb(状况数据库)、historydb(汗青数据库)。

  个中idstore、historydb运用leveldb实行,statedb可采用运用leveldb或couchdb区块链伯仲。而blkstorage中index局部运用leveldb实行,本质区块链数据保存运用文献实行。

币小哥资源讯息:[fabric 1.0源代码条记 之 ledger #idstore(ledgerid数据库)](idstore.md)

币小哥资源讯息:[fabric 1.0源代码条记 之 ledger #blkstorage(block文献保存)](blkstorage.md)

币小哥资源讯息:[fabric 1.0源代码条记 之 ledger #statedb(状况数据库)](statedb.md)

币小哥资源讯息:[fabric 1.0源代码条记 之 ledger #historydb(汗青数据库)](historydb.md)

  ## 2、ledger代码目次构造

币小哥资源讯息:

  * common/ledger目次

  * ledger_interface.go,设置了通用接口ledger、resultsiterator、以及queryresult和prunepolicy(姑且均为空接口)区块链伯仲。

  * blkstorage目次,**blkstorage关系接口及实行**区块链伯仲。

  * util/leveldbhelper目次,leveldb数据库操纵的封装区块链伯仲。

  * core/ledger目次

  * ledger_interface.go,设置了中心接口peerledgerprovider、peerledger、validatedledger(姑且不决义)、queryexecutor、historyqueryexecutor和txsimulator区块链伯仲。

币小哥资源讯息:kvledger区块链伯仲。

  * kv_ledger_provider.go,实行peerledgerprovider接口,即provider构造体及其本领,以及**idstore构造体及本领**区块链伯仲。

  * kv_ledger.go,实行peerledger接口,即kvledger构造体及本领区块链伯仲。

  * txmgmt目次,买卖处置区块链伯仲。

  * statedb目次,**statedb关系接口及实行**区块链伯仲。

  * history/historydb目次,**historydb关系接口及实行**区块链伯仲。

  * ledgermgmt/ledger_mgmt.go,ledger处置关系因变量实行区块链伯仲。

  * ledgerconfig/ledger_config.go,ledger摆设关系因变量实行区块链伯仲。

  * util目次,ledger东西关系因变量实行区块链伯仲。

  ## 3、中心接口设置

币小哥资源讯息:供给peerledger范例handle区块链伯仲。

  ```go

  type peerledgerprovider interface {

  create(genesisblock *common.block) (peerledger, error) //用给定的创世纪块创造ledger

  open(ledgerid string) (peerledger, error) //翻开已创造的ledger

  exists(ledgerid string) (bool, error) //按ledgerid查ledger能否生存

  list() ([]string, error) //列展示有的ledgerid

  close() //封闭 peerledgerprovider

  //代码在core/ledger/ledger_interface.go

币小哥资源讯息:

  peerledger和ordererledger的各别之处在乎peerledger当地保护位掩码,用来辨别灵验买卖和失效买卖区块链伯仲。

  ```go

  type peerledger interface {

  commonledger.ledger //嵌入common/ledger/ledger接口

  gettransactionbyid(txid string) (*peer.processedtransaction, error) //按txid获得买卖

  getblockbyhash(blockhash []byte) (*common.block, error) //按blockhash获得block

  getblockbytxid(txid string) (*common.block, error) //按txid获得包括买卖的block

  gettxvalidationcodebytxid(txid string) (peer.txvalidationcode, error) //获得买卖记载考证的因为代码

  newtxsimulator() (txsimulator, error) //创造买卖模仿器区块链伯仲,存户端不妨创造多个"txsimulator"并行实行

  newqueryexecutor() (queryexecutor, error) //创造查问实行器区块链伯仲,存户端不妨创造多个'queryexecutor'并行实行

  newhistoryqueryexecutor() (historyqueryexecutor, error) //创造汗青记载查问实行器区块链伯仲,存户端不妨创造多个'historyqueryexecutor'并行实行

  prune(policy commonledger.prunepolicy) error //裁剪满意给定战略的块或买卖

  //代码在core/ledger/ledger_interface.go

  未完待续欢送连接关心伯仲连区块链教程瓜分区块链伯仲!

本文转载自互联网,如有侵权,联系删除

相关推荐

评论列表
  • 人民币数字化,真如果开始了,,就是对其它币的打压

    2021-11-04 14:10:26 回复该评论
  • 回去我也下一个火币

    2021-11-04 14:10:26 回复该评论
  • 到时候持有狗币的就不是韭菜了,没有持狗币的自然变成了韭菜,兄弟赶紧趁低点入场

    2021-11-04 14:10:26 回复该评论
  • 狗子真心猛,昨天我买入价位已经快到顶了,居然还是涨了

    2021-11-04 14:10:26 回复该评论
  • O(∩_∩)O哈哈~经常是白天诱多,晚上收割。

    2021-11-05 06:23:37 回复该评论
  • 空btc,这种人死不足惜

    2021-11-05 06:23:37 回复该评论
  • 大家都认为牛,看来凌晨要跌下了

    2021-11-05 06:23:37 回复该评论