加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads

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

Author:

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

——背景——

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

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

華爾街日報:美國大型銀行可能面臨20%的資本提高要求:金色財經報道,美國監管機構正準備迫使大型銀行加強財務基礎,在今年一連串中型銀行倒閉后,此舉將有助于增強金融體系的抗風險能力。據知情人士說,監管機構最早將于本月提出的這些改革可能會將大型銀行的總體資本金要求平均提高約20%。具體數額將取決于銀行的業務活動,預計增幅最大的將是擁有大量交易業務的美國大型銀行。嚴重依賴手續費收入(如投行或財富管理業務)的銀行也可能面臨大幅提高資本金要求,資本金是銀行為吸收潛在損失而必須持有的緩沖資本。(華爾街日報)[2023/6/5 21:16:19]

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

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

Bybit CEO:會將大量解鎖BIT代幣轉移至Bybit Flexible地址:金色財經報道,Bybit CEO Ben發推表示,Bybit會將大量解鎖的BIT代幣從Bybit Locked地址轉移到Bybit Flexible地址。

據悉,這些代幣從2022年8月到2023年2月解鎖,其中1/24的Bybit鎖定代幣在每個月的15日解鎖。根據社區和分析平臺的建議,將按照歸屬時間表將它們轉移到他們的合法錢包中。[2023/2/17 12:13:56]

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

——原生插件——

數據:持有超過1萬枚ETH的地址數量創1個月新高:金色財經報道,Glassnode數據顯示,持有超過1萬枚ETH的地址數量為1210個,創1個月新高。[2023/2/11 12:00:34]

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

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

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

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

Fantom上域名系統Rave V2通過投票治理,.ftm域名將能在NFT市場交易:8月28日消息,Fantom上域名系統Rave通過RaveV2相關投票治理,將很快發生遷移,.ftm域名將可以在PaintSwap、NFTKEY等NFT市場上交易。

RaveV2是Rave協議的演進版本,是Rave協議的演進版本,修復了Rave的大部分問題,RaveV1只允許每個地址擁有一個域名,RaveV2取消了這一要求,將允許用戶在同一個錢包中同時持有多個名稱。[2022/8/28 12:53:43]

優點:

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:RPCBIT應用鏈AVERPC幣PulseBitcoinMaverick Protocol

幣安交易所app下載
為什么說區塊鏈是元宇宙的靈魂?_元宇宙:元宇宙平臺

這幾個月在參與各種NFT項目的過程中,我有個很深的感受,那就是盡管元宇宙的未來要依托很多類信息技術,但是在諸多信息技術中,我認為區塊鏈技術才是元宇宙的靈魂.

1900/1/1 0:00:00
科普 | 理解閃電網絡:結算并關閉支付通道_BOB:ALICE價格

原文標題:《UNDERSTANDINGTHELIGHTNINGNETWORK,PART3:COMPLETINGTHEPUZZLEANDCLOSINGTHECHANNEL》原文作者:AARONVA.

1900/1/1 0:00:00
奶牛算力/浙經超算創始人王沖:分布式存儲離不開算法和算力丨2021世界區塊鏈大會_CAKE:SWAP

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

1900/1/1 0:00:00
Parity亞洲技術總監賈瑤琪:波卡是web3.0互操作的框架,可作為打通web2.0和3.0的通道_PAR:RAS

巴比特訊,7月22日下午,Polkadot&FriendsMeetup線下活動在中國未來區塊鏈創新中心舉行.

1900/1/1 0:00:00
觀察|央行首次發布數字人民幣白皮書,這3個細節值得關注_數字人:bags幣有價值嗎

澎湃新聞記者:葉映荷來源:澎湃新聞7月16日,央行數字人民幣研發工作組發布《數字人民幣研發進展白皮書》,全面闡釋數字人民幣體系的研發背景、目標愿景、設計框架及相關政策考慮.

1900/1/1 0:00:00
美SEC:委員Hester Peirce的聲明不能代表SEC_SEC:worldcoin幣圈子

據Ambcrypto報道,7月21日,美國證券交易委員會對Ripple于19日發布的的信函做出回應.

1900/1/1 0:00:00
ads