比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

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

Author:

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

——背景——

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

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

美媒:馬斯克曾試圖就推特問題與FTC主席會面,但遭到拒絕:金色財經報道,馬斯克曾要求與美國聯邦貿易委員會(FTC)主席莉娜·可汗(Lina Khan)會面,但遭到了拒絕。該委員會一直在調查推特的隱私和數據操作。一位知情人士表示,馬斯克是在去年年底做出這一嘗試的。馬斯克試圖與FTC聯系,表明了該機構對推特調查的嚴重性。該機構調查的重點是,在馬斯克去年收購這家社交媒體公司并解雇了數千名員工之后,這家公司是否有足夠的資源保護用戶的隱私。據悉該機構曾單獨尋求就調查與馬斯克面談,但一位知情人士說,會談尚未進行。[2023/3/31 13:36:33]

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

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

Silvergate美股盤前一度漲超19%:金色財經報道,Silvergate美股盤前一度漲超19%,該股隔夜大跌超42%,此前宣布計劃結束銀行業務并進行自愿清算。[2023/3/10 12:54:42]

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

——原生插件——

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

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

NYDIG創始人:不要投資除比特幣以外的加密貨幣:金色財經報道,NYDIG創始人兼董事長Ross Stevens在解釋為什么他的公司沒有與已經破產的FTX有任何關聯時說,生命太短暫,除了與你喜歡的、信任的人合作,以及在子彈橫飛時能和你一起感到非常自豪之外,不能做其他事情。在一篇名為《鏡中奇遇》的文章中,Stevens指出了許多危險信號,這些信號讓NYDIG多年來錯失了無數“機會”,不僅與FTX“合作”,還與三箭資本(Three Arrows Capital)、Celsius等失敗平臺“合作”。

Stevens表示,NYDIG仍將是一家比特幣公司,他建議讀者不要投資除比特幣以外的加密貨幣或非比特幣的去中心化金融。(coindesk)[2022/11/12 12:52:59]

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

BitDAO:Alameda所持1億枚BIT已轉至鏈上:11月8日消息,BitDAO官方社區表示,Alameda 所持 1 億枚 BIT 已轉至鏈上,感謝 Alameda Research 及其聯席 CEO Caroline Ellison 的及時響應。為增強社區信心,BitDAO 建議將已互換的 BIT 和 FTT 保留在各自的鏈上地址中,直至 2021 年 10 月達成的互相不出售對方 Token 的 3 年承諾期結束。

此前報道,BitDAO 社區今日發出緊急提案,要求 Alameda Research 將 1 億 BIT 轉移到鏈上地址供 BitDAO 社區驗證,而非交易平臺,要求對方在 24 小時內完成,否則將由 BitDAO 社區決定(投票或任何其他緊急行動)如何處理 BitDAO 金庫中的 3,362,315 枚 FTT。[2022/11/8 12:33:00]

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

優點:

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:BITRPC應用鏈PLUbitmart老板RPC幣PLUG價格

比特幣行情
Whitecoin Foundation亞太區負責人Frank Quan:Web3.0可以把數據所有權歸還到用戶手上丨2021世界區塊鏈大會_IDO

巴比特訊,7月25日,“2021世界區塊鏈大會·杭州”在杭州未來科技城學術交流中心舉行。本次大會由杭州時戳信息科技有限公司主辦.

1900/1/1 0:00:00
匿名地址花費近 2700 個 ETH 連續購買104個 CryptoPunks_AMB

巴比特訊,根據gitbook消息,從7月30日開始,以太坊上一地址共花費接2683個ETH購買104個CryptoPunks,合計花費約658萬美元.

1900/1/1 0:00:00
掘金數字人民幣:銀行競逐、資本嘗鮮,零售支付成最大商機?_以太坊

原標題:《掘金數字人民幣|《財經》封面》 來源:財經五月花 文|張威唐郡 編輯|袁滿摘??要 無論是自發的押注者,還是參與試點的各路運營機構,皆在蓄勢待發中靜候全面出擊的時刻.

1900/1/1 0:00:00
數據:NFT周交易量首次突破3億美元,較7月峰值激增逾70%_BTC

根據TheBlock8月3日消息,NFT的每周交易量首次突破3億美元,約為3.39億美元。這一數字相較于7月中旬增加了超70%,當時NFT每周交易量達到了2.0927億美元的峰值.

1900/1/1 0:00:00
蘇黎世CoinGeek會議:比特幣的價值來自比特幣作為促進支付、記錄數據和賬本協議的本質_區塊鏈

巴比特訊,7月10日,在蘇黎世CoinGeek會議上,比特幣協會創始主席JimmyNguyen主持了一場關于“比特幣和加密資產——真正的價值從何而來?”的小組討論.

1900/1/1 0:00:00
科普 | 共識算法的分類(下)_區塊鏈

——Part4?拜占庭容錯算法—— ▲PBFT 實用性拜占庭容錯算法,是一種在信道可靠的情況下解決拜占庭將軍問題的實用方法.

1900/1/1 0:00:00
ads