区块链100讲:EOS通讯机制分析

image

客户端和服务器端的通讯采用RESTful软件架构风格,服务器端的每一个资源对应一个惟一的URL地址,客户端将URL地址封装成http请求发送到服务器端,请求对应的资源或者执行相应操做。node

image

1

客户端发送消息流程

以转帐为例,说明EOS消息处理流程。经过cleos客户端发起转帐命令,在main函数中,解析transfer命令,经过create_transfer函数将交易发送者、交易接收者、token数量等信息封装成mutable_variant_object对象,而后调用send_action函数,将交易信息发送到服务器端打包进区块链。服务器

image

2

**服务器接收消息流程 **

nodeos服务器先经过http_plugin插件接收客户端发过来的http请求报文,而后解析出请求的URL地址和数据信息,而后调用对应的回调函数处理,并将结果返回给cleos客户端。架构

image

image

3

生产区块流程

客户端发送 ”/V1/chain/push_transaction” URL地址和交易信息到服务器端,而后服务器调用URL对应的回调函数push_transaction将交易信息写入到一个待打包的区块(_pending_block)中。函数

image

image

image

至此,一次完整的区块处理流程就完成了,后面不断重复打包过程,随着时间推移,造成一个不可逆转的区块链。区块链

内容来源于:区块链见闻插件

image

相关文章
相关标签/搜索