1. 程式人生 > >區塊鏈100講:EOS通訊機制分析

區塊鏈100講:EOS通訊機制分析

image

客戶端和伺服器端的通訊採用RESTful軟體架構風格,伺服器端的每個資源對應一個唯一的URL地址,客戶端將URL地址封裝成http請求傳送到伺服器端,請求對應的資源或者執行相應操作。

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