?? 7.2 proxy/client.go:67,NewLocalClientCreator,调用NewDummyApplication
?? 7.3 NewDummyApplication 在abci/example/dummy/dummy.go,这里根据abci接口定义了四个函数。
?? 7.4 这个dummy讲发起各种任务给共识引擎。
8. tendermint文档
?? 8.1 abci-cli.rst abci客户端教程,可以启动counter和dummy两个应用。
?? ?? 8.1.1 check_tx验证一个事务是不是正确。
?? ?? 8.1.2 commit 提交一个应用的状态,并返回默克尔树的hash
?? ?? 8.1.3 deliver_tx 向应用提交新的事务
?? ?? 8.1.4 info 让应用显示基础信息
?? ?? 8.1.5 query 查询应用状态
?? ?? 8.1.6 dummy使用过程
?? ?? ?? 8.1.6.1 首先编译安装abci-cli
?? ?? ?? 8.1.6.2 在一个窗口执行abci-cli dummy开启服务端。写一个server的范例在tendermint/abci/tree/master/server,这是go语言的。注意,这个服务端是不保存数据的,只要dummy关掉了,数据就消失了。
?? ?? ?? 8.1.6.3 在另一个窗口执行abci-cli echo hello,这是dummy客户端命令。
?? 8.1.7 counter使用过程
?? ?? 8.1.7.1 在一个窗口开启abci-cli counter
?? ?? 8.1.7.2 在另一个窗口开启abci-cli console

?? ?? 8.1.7.3 在cousole执行各种命令
?? ?? ?? set_option serial on
?? ?? 8.1.7.4 一个js版本的counter https://github.com/tendermint/js-abci/tree/master/example
?? 8.1.8 tendermint生态系统诸多开源项目 https://tendermint.com/ecosystem
?? 8.2 app-architecture.rst
?? ?? 8.2.1 一个区块链应用涉及诸多方面,比abci示例演示的共识引擎和事务逻辑多得多,同时,也可能有移动、桌面、web能多种客户端。
?? ?? 8.2.2 安全:abci应用和tendermint core之间的连接,要高度保护,validator。app和core要在同一个机器里运行,如果app也是go语言写的,最好将app和core打包成一个二进制可执行代码,如果不是,那么要让core绑定只使用127.0.0.1的连接进来。如果这个做不到,使用ssh,注意保护validator机的权限,关闭一切非ssh服务,也不要让别人轻易接触这个机器。
?? ?? 8.2.3 tendermint core rpc: abci app跟外界做了充分隔离,只用一些有限的充分测试的接口给tendmint core进行通信。
?? ?? 8.2.4 自定义abci server: 示例项目https://github.com/wolfposd/TMChat。自定义服务器,支持rest或者websocket或者json-rpc等接口,由移动app使用,同时具有abci app和data store功能,可以处理复杂的时间。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-85575-4.html
比濒海战斗舰强百倍
晶晶跟几年前一样