區塊鏈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

相關文章
相關標籤/搜索