——背景——
當前,區塊鏈跨鏈平臺的接入方式在架構設計上存在著較大差異,如何將應用鏈快速、便捷地接入跨鏈系統是一個亟待解決的問題。趣鏈BitXHub跨鏈服務平臺采用中繼鏈+網關的跨鏈方案,其中,跨鏈網關擔任著區塊鏈間收集和傳播交易的角色。采用插件機制的設計將網關與應用鏈交互的模塊與跨鏈網關核心功能模塊進行解耦,從而實現不同種類應用鏈高效地接入跨鏈系統。在Pier運行時,通過動態加載插件的方式完成不同應用鏈的靈活適配。為了更好的提升Pier與應用鏈的交互能力,具體應用鏈插件需要根據不同區塊鏈的特性實現具體的接口,交互接口需要滿足以下幾個功能:
1)監聽應用鏈上的跨鏈事件并傳給核心模塊進行處理;
2)執行來自于網關發出的跨鏈請求;
Guild:多人通過非正常途徑盜取10.9萬Linea Guild Pins,并在社區渠道進行銷售:7月16日消息,鏈上任務平臺Guild在其社交平臺表示,過去兩周,至少有150人通過非正常途徑盜取10.9萬Linea Guild Pins,并在社區渠道進行銷售。Guild團隊對此進行了快速修復,并對非正常途徑盜取的Linea Guild Pins進行了刪除處理。
金色財經此前報道,6月12日,ConsenSys旗下zkEVM項目Linea官方宣布開啟我是Linea頭等艙公民活動,活動旨在打擊機器人并獎勵真實用戶。Guild 為該活動主要內容。[2023/7/16 10:58:12]
3)能夠主動查詢應用鏈上已收到和已執行的跨鏈請求狀態。
Nexo指責Vauld前任管理層迫使其退出收購,出于私心支持基金管理公司競標:1月6日消息,加密貨幣借貸平臺Nexo對Vauld的收購提案遭到拒絕。Nexo在周四發布的公開信中抨擊Vauld及其管理團隊,包括前首席執行官Darshan Bathija等前任管理層人員及債權人委員會(CoC),指責他們迫使Nexo退出交易,轉而支持另一方,沒有將債權人的最大利益放在心上。Nexo表示,“競爭者是一家不知名的基金管理公司,沒有業績記錄,沒有過去的業績可以證明,但卻做出了令人難以置信的高額年回報率承諾。”
Vauld似乎傾向于通過基金管理公司來進行重組,而不是與Nexo達成交易。Nexo認為,許多人投票支持該競標者,這一定是一項“秘密交易”的一部分,有利于前管理團隊和選定的少數巨鯨客戶。[2023/1/6 10:58:54]
在插件實現方案的設計中,我們先后采用了兩種不同的插件機制,下面就來介紹一下我們使用原生插件時碰到的問題以及新插件方案的優勢。
新加坡GameFi生態系統公司DEA獲樂天集團投資:11月19日消息,新加坡GameFi生態系統公司Digital Entertainment Asset Pte. Ltd.(DEA)和樂天集團(Rakuten Group)簽署Web3合作諒解備忘錄,樂天集團旗下企業風險投資部門Rakuten Capital通過認購股份收購權的方式對DEA進行少數股權投資。據Rakuten Capital總裁Hiroshi Takasawa表示,通過本次投資將于DEA開展多項Web3業務計劃,同時將利用DEA在GameFi、Token經濟和元宇宙業務推廣方面的經驗為業務增長做出貢獻。(MENAFN)[2022/11/19 13:24:10]
——原生插件——
粉絲變現平臺Fanhouse完成2000萬美元A輪融資,a16z領投:5月18日消息,粉絲變現平臺Fanhouse宣布完成2000萬美元A輪融資,本輪融資由a16z領投。Fanhouse首席營銷官Rosie Nguyen表示,目前Fanhouse平臺上的創作者總收入已經接近1000萬美元。平臺上的頭部創作者包括樂隊組合The Chainsmokers(他們也是該平臺的種子輪投資者)、象棋KOL Andrea Botez以及演員Yoshi Sudarso等。
針對蘋果和谷歌的平臺方抽成問題,Fanhouse則推出了應用內貨幣Coins,Coins需要用戶在網頁端購買后在App中對創作者打賞。Nguyen表示,雖然這樣的內購方法對用戶而言并不方便,但對于創作者來說這一策略可以規避平臺方抽成,盡可能保證創作者的收入實現最大化。(techcrunch)[2022/5/18 3:23:25]
go語言從1.13版本開始支持編譯為插件,使用方式如下
gobuild--buildmode=plugin-oappchain.so*.go
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團隊
繼CryptoPunks、BoredApeYachtClub之后,頭像類NFT賽道迎來爆發,每天都有新的限量發行的,與眾不同的頭像類NFT項目上線,這些NFT的價格也在以瘋狂的速度攀升.
1900/1/1 0:00:00NFT的火熱從未熄滅,之前,支付寶推出一系列的NFT作品,現在LV、保潔等知名品牌陸陸續續加入這個行列;奧迪攜手藝術家程然Chengran創作了NFT藝術作品《幻想高速》.
1900/1/1 0:00:00從2020年末開始,NFT領域迎來了前所未有的迅猛增長,社群中對NFT的討論也與日俱增,這是NFT自2020年9月的小高潮之后迎來的真正爆發.
1900/1/1 0:00:00Rug-Pull是加密貨幣行業中的一種惡意操作,惡意的炒作者常常上線垃圾幣和價值幣的交易對到DEX,等大量毫無戒心的投資者將他們的價值幣換成垃圾幣后,炒作者就會從流動性池中撤出從而讓垃圾幣歸零.
1900/1/1 0:00:00在當今的移動互聯網時代,很多傳統行業步入下坡路。數不盡的互聯網招數令眾多傳統行業既招架不住又無可奈何。盡管認識到了大數據、云計算、區塊鏈等新興科技的重要性,但想要走出困局,全面轉型卻又步履維艱.
1900/1/1 0:00:00隨著數字經濟的發展,區塊鏈作為新型分布式數據庫,在推動相關行業的數字化轉型進程、促使經濟社會發生深刻變革中發揮著至關重要的作用.
1900/1/1 0:00:00