——背景——
當前,區塊鏈跨鏈平臺的接入方式在架構設計上存在著較大差異,如何將應用鏈快速、便捷地接入跨鏈系統是一個亟待解決的問題。趣鏈BitXHub跨鏈服務平臺采用中繼鏈+網關的跨鏈方案,其中,跨鏈網關擔任著區塊鏈間收集和傳播交易的角色。采用插件機制的設計將網關與應用鏈交互的模塊與跨鏈網關核心功能模塊進行解耦,從而實現不同種類應用鏈高效地接入跨鏈系統。在Pier運行時,通過動態加載插件的方式完成不同應用鏈的靈活適配。為了更好的提升Pier與應用鏈的交互能力,具體應用鏈插件需要根據不同區塊鏈的特性實現具體的接口,交互接口需要滿足以下幾個功能:
1)監聽應用鏈上的跨鏈事件并傳給核心模塊進行處理;
2)執行來自于網關發出的跨鏈請求;
Strike已在薩爾瓦多為其國際實體設立了新總部:金色財經報道,數字支付公司Strike已在薩爾瓦多為其國際實體設立了新總部。但Strike表示,盡管監管方面的不確定性導致Bittrex等其他加密貨幣公司退出美國市場,但其主要總部仍在芝加哥。目前,Strike有一個美國實體負責監督國內市場的運營,還有一個位于薩爾瓦多的實體負責監督全球運營。
金色財經此前報道,比特幣支付提供商Strike的創始人兼首席執行官JackMallers表示,正在將其應用從目前的美國、薩爾瓦多和阿根廷基地擴展到65個以上的國家。[2023/5/25 10:38:45]
3)能夠主動查詢應用鏈上已收到和已執行的跨鏈請求狀態。
在插件實現方案的設計中,我們先后采用了兩種不同的插件機制,下面就來介紹一下我們使用原生插件時碰到的問題以及新插件方案的優勢。
Binance.US收購Voyager資產的最終聽證會將于3月2日舉行,用戶回收資金價格的計算日暫未確定:1月16日消息,針對Binance.US收購Voyager資產的進程,Voyager無擔保債權人委員會在推特上表示,招標完成后,該交易的利益相關方有28天的時間提出異議,異議截止日期為2月22日,最終確認該筆交易的聽證會定于3月2日舉行,該聽證會提供一周的時間來回應聽證會前的任何異議。
此外該委員會表示,盡管Binance.US向UCC保證,轉移的加密貨幣將受到保護,但鑒于FTX的意外崩潰以及加密貨幣行業的盜竊和欺詐風險,UCC向Binance.US尋求更大的保護。即根據修訂后的購買協議,即在交易結束后,加密貨幣將從Voyager每周轉移到Binance.US,而被轉移的加密貨幣是將立即分配給債權人賬戶的加密貨幣。
此外,針對推特用戶關于“客戶資金回收是基于哪一天的價格”以及“是否有基于個人賬戶計算回收估計的電子表格”,此外該委員會回應稱,Binance.US為Voyager加密貨幣支付的價格將在接近交易截止日期的未來日期確定。加密資產的公平市場價值將決定客戶的資產回收率。客戶將獲得統一的百分比回收,無論他們持有的加密資產(包括USDC)如何。請注意,此回收估計是基于12月18日的現貨價格,因此實際回收將根據Voyager加密貨幣的價值而有所不同。
此前1月11日消息,美國法院初步批準Binance.US以10億美元收購Voyager資產。[2023/1/16 11:14:12]
——原生插件——
泰國證券交易委員會:計劃成立工作委員會,對加密資產設定更嚴格的監管規則:12月13日消息,由于近期Celsius Network的破產影響了使用Zipmex的泰國投資者,《曼谷郵報》披露泰國證券交易委員會出于“投資者保護”動機將對加密資產設定更嚴格的規則,泰國證券交易委員會計劃成立一個由相關政府機構和私營部門代表組成的工作委員會,負責研究并提出完善的加密資產法律,此外還將在廣告管理、產品促銷、防止利益沖突、網絡安全等方面進一步加強投資者保護。[2022/12/13 21:41:21]
go語言從1.13版本開始支持編譯為插件,使用方式如下
gobuild--buildmode=plugin-oappchain.so*.go
1000個BTC從Xapo轉移到未知錢包:金色財經報道,鏈上數據顯示,17:12分左右,1000個BTC (價值約2100萬美元)從Xapo轉移到未知錢包。[2022/7/15 2:15:50]
go項目在編譯時可以通過--buildmode指定為插件模式,這種方式將輸出為動態鏈接文件。該文件并非可直接運行的二進制文件,而是提供給其他二進制運行時的動態調用。
在主二進制文件中的使用方式如下:
總結來說原生插件具有以下特點:
優點:
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團隊
收錄于話題 #每日期權播報 播報數據由Greeks.live格致數據實驗室DataLab和Deribit官網提供.
1900/1/1 0:00:00早期比特幣撰稿人、比特幣雜志聯合創始人,流暢中文KTV歌唱家,首個“世界計算機”概念證明的VitalikButerin向加密世界描繪出ETH2.0超級”公鏈的整體輪廓,這時代終將屬于以太坊.
1900/1/1 0:00:00鏈集市·讓區塊鏈落地更簡單 文丨區塊鏈落地小能手 概述 上周,全球多個國家的政府針對穩定幣相繼出臺了監管框架,穩定幣成為了熱議的話題之一.
1900/1/1 0:00:00進入2021年以來,NFT市場出現爆發性的成長,第一季度和第二季度的NFT交易額成線性倍數的成長,雖然在5-6月份因為加密市場的暴跌遭遇到了不小的沖擊.
1900/1/1 0:00:00收錄于話題 #每日期權播報 播報數據由Greeks.live格致數據實驗室和Deribit官網提供。數字貨幣市場進入全面震蕩調整,大宗看漲期權的巨額成交讓很多人對市場的未來充滿期待.
1900/1/1 0:00:00用戶在以太坊區塊鏈中發現的主要用例是無需中介即可在加密資產之間進行交換的能力。去中心化交易所或DEX是用于此活動的平臺.
1900/1/1 0:00:00