客户端和服务器端的通讯采用RESTful软件架构风格,服务器端的每一个资源对应一个惟一的URL地址,客户端将URL地址封装成http请求发送到服务器端,请求对应的资源或者执行相应操做。node
以转帐为例,说明EOS消息处理流程。经过cleos客户端发起转帐命令,在main函数中,解析transfer命令,经过create_transfer函数将交易发送者、交易接收者、token数量等信息封装成mutable_variant_object对象,而后调用send_action函数,将交易信息发送到服务器端打包进区块链。服务器
nodeos服务器先经过http_plugin插件接收客户端发过来的http请求报文,而后解析出请求的URL地址和数据信息,而后调用对应的回调函数处理,并将结果返回给cleos客户端。架构
客户端发送 ”/V1/chain/push_transaction” URL地址和交易信息到服务器端,而后服务器调用URL对应的回调函数push_transaction将交易信息写入到一个待打包的区块(_pending_block)中。函数
至此,一次完整的区块处理流程就完成了,后面不断重复打包过程,随着时间推移,造成一个不可逆转的区块链。区块链
内容来源于:区块链见闻插件