日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

百度超级链XChain(5)XuperBridge 智能合约接口

發布時間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度超级链XChain(5)XuperBridge 智能合约接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 內核設計

應用程序可以用各種語言實現,比如go,c。類比到合約上就是各種合約的功能,如KV訪問,QueryBlock, QueryTx等,這些請求都會通過跟xchain通信的方式來執行

2. 提供統一的合約接口

2.1 合約與xchain進程的雙向通信

xchain進程需要調用合約虛擬機來執行具體的合約代碼,合約虛擬機也需要跟xchain進程通信來進行具體的系統調用,如KV獲取等,這是一個雙向通信的過程。

2.2 在不同虛擬機里面有不同的實現,

2.2.1 native合約

由于合約是跑在docker容器里面的獨立進程,因此牽扯到跨進程通信,這里選用了unix socket作為跨進程通信的傳輸層.

  • xchain在啟動合約進程的時候把syscall的socket地址以及合約進程的socket地址傳遞給合約進程
  • 合約進程一方面監聽在unix socket上等待xchain調用自己運行合約代碼
  • 另合約進程通過xchain的unix socket創建一個指向xchain syscall服務的grpc客戶端來進行系統調用。

2.2.2 WASM合約

在WASM虛擬機里面,WASM虛擬機是以library的方式鏈接到xchain二進制里面,所以虛擬機和xchain在一個進程空間,通信是在xchain和WASM虛擬機之間進行的,這里牽扯到xchain的數據跟虛擬機里面數據的交換,在實現上是通過WASM自己的模塊機制實現的

xchain實現了一個虛擬的WASM模塊,合約代碼執行到外部模塊調用的時候就轉到對應的xchain函數調用,由于xchain和合約代碼的地址空間不一樣,還是牽扯到序列化和反序列化的動作。

總結

以上是生活随笔為你收集整理的百度超级链XChain(5)XuperBridge 智能合约接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。