區塊鏈100講:EOS通訊機制分析
阿新 • • 發佈:2018-11-17
客戶端和伺服器端的通訊採用RESTful軟體架構風格,伺服器端的每個資源對應一個唯一的URL地址,客戶端將URL地址封裝成http請求傳送到伺服器端,請求對應的資源或者執行相應操作。
1
客戶端傳送訊息流程
以轉賬為例,說明EOS訊息處理流程。通過cleos客戶端發起轉賬命令,在main函式中,解析transfer命令,通過create_transfer函式將交易傳送者、交易接收者、token數量等資訊封裝成mutable_variant_object物件,然後呼叫send_action函式,將交易資訊傳送到伺服器端打包進區塊鏈。
2
**伺服器接收訊息流程 **
nodeos伺服器先通過http_plugin外掛接收客戶端發過來的http請求報文,然後解析出請求的URL地址和資料資訊,然後呼叫對應的回撥函式處理,並將結果返回給cleos客戶端。
3
生產區塊流程
客戶端傳送 ”/V1/chain/push_transaction” URL地址和交易資訊到伺服器端,然後伺服器呼叫URL對應的回撥函式push_transaction將交易資訊寫入到一個待打包的區塊(_pending_block)中。
至此,一次完整的區塊處理流程就完成了,後面不斷重複打包過程,隨著時間推移,形成一個不可逆轉的區塊鏈。
內容來源於:區塊鏈見聞
以下是我們的社群介紹,歡迎各種合作、交流、學習:)