以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > Polygon > Info

RPC:一文讀懂「跨鏈網關的模塊化進程」插件機制演化

Author:

Time:1900/1/1 0:00:00

——背景——

當前,區塊鏈跨鏈平臺的接入方式在架構設計上存在著較大差異,如何將應用鏈快速、便捷地接入跨鏈系統是一個亟待解決的問題。趣鏈BitXHub跨鏈服務平臺采用中繼鏈+網關的跨鏈方案,其中,跨鏈網關擔任著區塊鏈間收集和傳播交易的角色。采用插件機制的設計將網關與應用鏈交互的模塊與跨鏈網關核心功能模塊進行解耦,從而實現不同種類應用鏈高效地接入跨鏈系統。在Pier運行時,通過動態加載插件的方式完成不同應用鏈的靈活適配。為了更好的提升Pier與應用鏈的交互能力,具體應用鏈插件需要根據不同區塊鏈的特性實現具體的接口,交互接口需要滿足以下幾個功能:

1)監聽應用鏈上的跨鏈事件并傳給核心模塊進行處理;

OpenAI:ChatGPT安卓版現在可以在美國、印度、孟加拉國和巴西下載使用:7月25日消息,OpenAI表示,ChatGPT安卓版現在可以在美國、印度、孟加拉國和巴西下載使用。計劃在下周將推廣范圍擴大到更多國家。[2023/7/26 15:58:22]

2)執行來自于網關發出的跨鏈請求;

3)能夠主動查詢應用鏈上已收到和已執行的跨鏈請求狀態。

在插件實現方案的設計中,我們先后采用了兩種不同的插件機制,下面就來介紹一下我們使用原生插件時碰到的問題以及新插件方案的優勢。

——原生插件——

go語言從1.13版本開始支持編譯為插件,使用方式如下

OpenAI推出可識別文章是否為AI代筆的工具:2月1日消息,美國人工智能公司OpenAI過去曾經推出大受歡迎的聊天或撰稿機器人產品ChatGPT。今日,該公司宣布,已經推出一款新工具,能夠識別一些文字是不是人工智能軟件撰寫的。此前有調查顯示,ChatGPT已被美國大學生廣泛用于作業代寫。(金十)[2023/2/1 11:39:47]

gobuild--buildmode=plugin-oappchain.so*.gogo項目在編譯時可以通過--buildmode指定為插件模式,這種方式將輸出為動態鏈接文件。該文件并非可直接運行的二進制文件,而是提供給其他二進制運行時的動態調用。

在主二進制文件中的使用方式如下:

CZ回顧2022年:過去一年造訪33國,Binance任何時間都有100%儲備金:12月28日消息,Binance 首席執行官 CZ 近期回答社區提問并回顧了即將過去的 2022 年。CZ 首先特別澄清自己肯定不是中本聰,他透露自己在過去一年中造訪了 33 個國家和當地監管機構。CZ 還表示,即使所有用戶同時發起提款 Binance 也不會破產,Binance 每一個加密貨幣在任何時間點都有 100% 儲備金,所以用戶可以隨時隨地取現。

在談到如何規避類似 FTX 的風險時,CZ 稱 Binance 首先要確保不會陷入 FTX 那種境地,任何人轉移數十億美元用戶資金都無法進行風控,永遠不要觸碰用戶的東西,保持公開透明,不要走捷徑。[2022/12/28 22:12:26]

總結來說原生插件具有以下特點:

IMF呼吁對加密行業進行監管:11月24日消息,近日,IMF官網發布文章呼吁監管,并直言“加密資產的風險顯而易見,是時候進行監管了。”

IMF在文章中表示,FTX爆雷事件以及主流加密貨幣的價格下跌,促使人們再次呼吁加強消費者保護和對加密行業進行監管。監管高度不穩定和去中心化的系統對大多數政府來說仍然是一項挑戰,需要在最小化風險和最大化創新之間取得平衡。如果像中非共和國最近那樣采用加密貨幣作為法定貨幣,風險就會大很多。如果政府持有或接受加密資產作為支付手段,可能會使公共財政系統面臨風險。中非共和國是非洲第一個,也是繼薩爾瓦多之后全球第二個將比特幣指定為法定貨幣的國家。[2022/11/24 8:05:23]

優點:

1)?使用體驗和原生代碼一致,類似于代碼模塊的二進制化;

2)?效率較高,插件直接在主程序進程空間中運行。

缺點:

1)原生插件中的依賴庫與主程序必須保持完全一致,否則啟動的時候會報錯,而且不論這個依賴是直接引用還是間接引用,都會出現這個問題。

——轉戰RPC插件——

原生插件中嚴厲的版本限制,使得在升級插件和或網關主程序功能時,可能因為無意升級了主程序某些依賴,插件也必須作出相同的適配升級。這種方式不利于插件的完全解耦,因此我們轉向了另外一個使用RPC方式的GO插件項目。

在GO原生支持的插件機制出現之前,hashicorp的go-plugin就已經存在,不過GO原生插件出來之后,他們也并沒有放棄對該項目的支持,因為總的來說原生插件并不是很完善,在某些場景下還是go-plugin更方便。

go-plugin插件的使用方式如下:

簡單來說,go-plugin項目實現的插件方式采用了C/S模式,主程序作為RPCClient,具體插件作為RPCServer,Server和Client通信也是基于的interface接口規范來通信。

具體使用流程如下:

1)抽象需要插件化的interface,這里直接復用原生插件中使用的接口定義即可;

2)針對Client端和Server端,都實現上述接口。Server端的實現是具體的插件處理邏輯部分的代碼;Client端的實現只需封裝一下gRPC處理的結果和異常信息,之后便可以做到主程序在使用插件時對于gRPC的弱感知化。

Server實現部分:

Client實現部分:

▲額外需要注意的是:

插件中需要調用plugin.Serve來授權主程序使用自己的RPC服務。這里需要注意的是,主程序和插件通信前需要進行握手,主要包括確認該插件的版本信息。主程序使用plugin.Client對象啟動插件,該插件是運行在另一個進程中的,所以插件崩潰并不會影響到主程序。client與server在使用中實際上是通過進程間Socket來完成通信,這雖然犧牲了一定的性能卻換來了原生插件的單進程方案所不具備的依賴解耦?多語言支持等靈活應用。——結語——

go-plugin提供兩種通信方式的選擇,一種是GRPC,一種是GO語言標準庫中自帶的net/rpc。GRPC插件的好處是可以采用不同的語言來實現,并且Googleprotobuf也是支持多語言的。網關插件本質上已成為連接應用鏈并實現對網關提供RPC服務的橋梁,開發者在跨語言編寫插件時的阻礙會大大降低,在面對不同應用鏈特性時也能做到更加可靠與簡潔的邏輯呈現。

作者簡介

王荻矣?趣鏈科技數據網格實驗室BitXHub團隊

Tags:RPC應用鏈PLUGINRPC價格PlutoPepeGINU價格

Polygon
Huobi:Huobi Labs袁瑞娟:合規NFT是即將崛起的新興賽道

7月24日,由HuobiLabs主辦的“新浪潮·新機遇——解密科技文創NFT實戰班”正式在成都開課.

1900/1/1 0:00:00
AGN:前Monero首席開發者聘請高級律師以避免被引渡至南非

據Coindesk8月4日消息,面臨欺詐指控的前Monero首席開發者RiccardoSpagni于7月20日聘請了加密貨幣行業的頂級律師BrianKlein,以避免自己被引渡至南非.

1900/1/1 0:00:00
CAP:對沖基金Horizon Kinetics聯合創始人:建議投資加密貨幣對抗貨幣貶值

據Cointelegraph7月28日消息,對沖基金和投資管理公司HorizonKinetics建議投資者在日益嚴峻的全球經濟挑戰中尋求對加密資產的敞口.

1900/1/1 0:00:00
比特幣:Stone Ridge向美國SEC注冊新的比特幣基金

據cointelegraph消息,紐約數字投資集團(NYDIG)的母公司StoneRidge已向美國證券交易委員會(SEC)提交了一份新的招股說明書,將比特幣添加到其開放式共同基金中.

1900/1/1 0:00:00
ING:建設逾14萬個應用場景 打造數字人民幣生態體系

來源:經濟參考網 記者王皓然 實習生劉姝華 原標題:《建設逾14萬個應用場景打造數字人民幣生態體系——專訪中國工商銀行首席技術官、數字人民幣推廣應用工作組副組長呂仲濤》7月16日.

1900/1/1 0:00:00
TWI:艾貝鏈動CEO葉新:基礎設施的安全性是保障資產安全的重點丨2021世界區塊鏈大會

巴比特訊,7月24日下午,“2021世界區塊鏈大會·杭州”在杭州未來科技城學術交流中心召開。本次大會由杭州時戳信息科技有限公司主辦,杭州未來科技城管委會等機構支持.

1900/1/1 0:00:00
ads