b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

cmd 下载文件 [bitcoin-012] tendermint 安装和文档读书笔记(5)

电脑杂谈  发布时间:2018-02-19 22:09:50  来源:网络整理

?? ?? 8.2.5 扩展性:使用非验证节点,以便提升读和查询速度,除非validator节点数据太多了,以至于非验证节点无法及时更新。

?? 8.3 app-development.rst

?? ?? 8.3.1 abci提供一个简洁的接口:单节点上的状态转换机,多节点上的状态转化机的复制。前者叫应用逻辑,后者叫共识机制。前者验证事务并执行事务,事务可能会修改状态机。共识引擎确保所有的事务在每个节点上都按照同样的顺序执行。共识引擎的每一个节点,叫做 validator。

?? ?? 8.3.2 abci提供的组件

?? ?? 8.3.3 abci server

?? ?? 8.3.4 abci client https://github.com/tendermint/abci/tree/master/client这里是一个范例。持久化dummy在https://github.com/tendermint/abci/blob/master/example/dummy/persistent_dummy.go,提供了区块链的开始,区块链结束,区块链初始化等动作。

?? ?? 8.3.5 区块链协议 ??在abci,一个事务就是一个简单的任意长度的字节数组,如何解释这个字节数组是应用app的事情。事务有两种运行阶段。第一阶段,validator从client接收到一个事务,它把事务放到内存池或者事务池,这里意味着checkTx。第二阶段,事务已经成功提交给三分之二的validator,称之为deliverTx。cmd 下载文件前一个阶段只做检查,不实际执行事务,后一个阶段会执行事务且由此改变状态机。

?? ?? 8.3.6 mempool连接 ??mempool连接只用于checktx请求。validator按照接收次序checktx运行事务。如果checktx返回ok,那么这些事务就会保存在内存里,然后以同样的次序转发给其他validtor。如果checktx返回错误,相关事务就会被抛弃。checktx同时也会并发运行区块处理,主区块链会实时更新维护最长区块,每个validator都有一份主区块的复制,checktx在这个复制链上执行事务。当一个区块被提交后,应用会主动更新复制链,然后tendermint core会根据最新的复制链,对mempoll里的事务进行过滤,去掉那些已经被最新区块打包的事务,以免出现重复,并且,会在post-commit阶段重新运行过滤后的事务。

?? ?? 8.3.7 共识连接 只在一个新块被提交时使用,这个块有一系列请求 beginblock delivertx,..., endblock, commit。tendermint以异步有序的方式转发delivertx请求确保app以同样的次序接收,block header可以存储一些信息,目前还没有做。

?? ?? ?? commit,当一个块的所有处理都完成了,tendermint会发送commit请求和这个块,然后等到response,此时,mempool会上锁直到commit动作完成,所以应用不要在这个时候对mempool做任何阻塞通信,做了就死锁。commit完成后,应用会返回一个字节数组,这个字节数组是一个类似hash的用于验证区块有效性的东西,放在下一个区块。

?? ?? ?? beginblock, 它可以运行每个区块的头部的代码,也可以让tendermint在发送事务之前发送当前区块的hash和头部给应用。建议应用保存最新的height和header,以便加快某些处理。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-85575-5.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    每日福利
    热点图片
    拼命载入中...