
Celer跨鏈消息框架(Celer Inter-chain Message,以下簡稱Celer IM)現已正式推出並上線測試網!
和和和使用範式。開發人員現在可以通過Celer IM開發能夠在多個鏈之間共享流動性和程序狀態的dApp。用戶無需手動跨越和切換多個區塊鏈進行複雜交互,就可以通過Celer IM一鍵享受多個區塊鏈生態系統上的流動性和應用。
Celer IM讓跨鏈可組合性成為可能,從而推出一系列的全新模式「原生跨鏈dApp」借貸協議
DEX收益聚合器
收益聚合器借貸協議
借貸協議可以允許用戶在一條鏈上提供抵押,在完全不同的鏈上借出資產
DAO治理協議允許統一的多鏈治理機制,而無需在不同鏈之間移動資產
NFT市場中,來自一條鏈的用戶可以對在完全不同的鏈上的NFT拍賣進行出價
元宇宙遊戲,用戶可以在遊戲中與各種鏈的虛擬物品進行無縫交互
新型跨鏈資產橋,實際上cBridge可以看作是建立在Celer IM上的資產橋樑
幾乎每個部署在多鏈上的dApp都可以從使用Celer IM框架中受益。
插件合約「即插即用」插件合約插件合約就可以轉變為原生跨鏈DEX 。
(Demo演示視頻)
在此演示中,Sushiswap的用戶可以只需一個操作就把Arbitrum上的ETH,兌換為BSC的BNB。在整個Celer IM的系統中,自動並且去中心化地完成了下列步驟:
把Arbitrum上的ETH在Sushiswap中換成了USDT
將USDT從Arbitrum橋接到BSC
在BSC上將橋接過去的USDT換成BNB
和和、開發文檔、智能合約框架和示例應用程序代碼一級標題一級標題。
「多鏈原生dApp」的全新模式
目前普遍的開發多鏈dApp的做法是通過簡單地完成複製多個鏈上相同的代碼,這些dApp在不同鏈上的流動性、應用邏輯和狀態是完全隔離的。事實上,除了UI和資產,這些dApp之間沒有任何共享。
二級標題
二級標題
DEX
借貸協議
借貸協議
借貸協議
NFT 市場
NFT 市場
NFT 市場
一級標題
一級標題
Celer IM架構及設計模式
二級標題
二級標題
伴隨資金轉移的跨鏈邏輯
對於許多原生跨鏈應用,核心流程通常涉及將資金發送到一個或多個鏈,並使用這些跨鏈資金在目標鏈上「完成其他任務」。上面給出的DEX演示其實就使用了這種設計模式。在接下去的介紹中,我們也會提供DEX演示的具體代碼鏈接。
上面的流程圖看起來雖然有些複雜,但其實大部分的流程是由Celer IM完成的,dApp 開發人員只需要搭建IM架構應用模板中的兩個簡單函數。
第1 步:用戶向dApp發起交易
在展示的DEX示例中,
在展示的DEX示例中,transferWithSwap函數就是整個流程的起點,它允許用戶表達跨鏈邏輯請求,比如「先在X鏈上將Token A交換成Token B,再在Y鏈上用換好的Token B 交換成Token C」。
當然,通常情況下用戶不會手動說明這些請求,使用Celer IM框架的dApp應該為調用此類函數構建更抽象的用戶目標。
第2 步:dApp Plug-in將消息和相關的資金跨鏈請求發出
DEX的例子DEX的例子中,這個消息就是「將跨鏈的Token B換成Token C,然後將Token C發送給用戶」。只需調用sendMessageWithTransfer,消息和資金轉賬就會自動關聯在一起注意:Message Bus注意:
注意:在這種應用模式中,Celer IM是可以兼容其他資產橋的,以cBridge為例是因為cBridge是IM支持的第一個資產橋。
第3 步:狀態守衛者網絡(SGN)傳遞消息和資金跨鏈請求
消息路由器消息路由器。節點提供者必須質押CELR才能成為驗證者,加入SGN的共識過程。 SGN使用的安全機制與Cosmos和Polygon PoS鍊等L1區塊鏈相同。 SGN的CELR質押和罰沒機制都是在以太坊L1智能合約上實現的。
header-payload格式header-payload格式的跨鏈消息事件時(標記D),驗證節點將首先對「消息是否存在」達成共識,並同時生成一個加權多簽證明。然後,這個證明就存儲在SGN鏈上,等待訂閱該消息的Executor中繼到目標鏈上(標記H)。
對於資產跨鏈,我們可以把cBridge合約看作一個自帶資產跨鏈優化的Message Bus。 SGN會進行與消息跨鏈類似的共識和證明過程(標記E)。但是資產跨鏈時,SGN驗證者不會將內置的資產跨鏈證明中繼到一個鏈下的Executor上,而是直接把鏈上交易發送給目標鏈上的cBridge合約(標記F),並觸發資金轉賬,發給目標鏈上的dApp Plug-in合約(標記G)。再次想向大家強調的是,Celer IM是可以接入任何資產跨鏈橋的,但是首先默認支持了Celer的cBridge。
第4 步:Executor執行跨鏈應用邏輯
Executor的任務是從SGN區塊鏈讀取加權多簽證明,並簡單將其中繼到目標鏈上的Message Bus(標記I)。任何人都可以為任何應用運行Executor,因為其功能只是中繼消息。當然,dApp應該考慮給予Executor激勵,因為負責發送交易並在目標鏈上支付gas費用的是Executor。
目標鏈上Message Bus的作用是檢查證明消息的有效性,並確認dApp Plug-in確實收到了相關的付款(標記J)。之後,Message Bus會將消息(邏輯執行指令)傳遞給承載dApp在目標鏈上跨鏈業務邏輯的dApp Plug-in合約上(標記K)。
目標鏈上的dApp Plug-in只需要實現executeMessageWithTransfer接口。在我們給出的DEX示例中,這個函數將在目標鏈上執行「將Token B換成Token C」的邏輯。
不含資金轉移的跨鏈邏輯
當然,發送跨鏈消息或邏輯執行指令並不一定伴隨資金轉移。例如,在NFT市場中,如果用戶參與在其他鏈上的拍賣,不需要將資金實際轉移到目標鏈,只需要在源鏈鎖定資金,就可出價參與競拍。只有在贏得拍賣後,用戶才需要進行資金的跨鏈轉移。
這種流程只是第一個模式的簡化版本。 dApp Plug-in 只需要在源鏈上實現邏輯調用sendMessage,然後在目標鏈上的dApp Plug-in合約中實現executeMessage。
故障處理
由於上述跨鏈消息模式的異步特性,應用邏輯應包含故障處理的考量。在這些應用模式中,故障可能發生在以下三個步驟中,應分別進行相應處理:
源鏈dApp邏輯執行失敗。這與Celer IM無關,應由dApp業務邏輯本身處理。故障舉例:DEX Token交換超過限定時間。
跨鏈橋資產跨鏈失敗。源鏈dApp將通過一個通用接口得到通知,並應通過重試資產跨鍊或將資產發回給用戶來處理退還的資產。
一級標題
開發文檔開發文檔一級標題
鏈上價值累積和費用
一級標題
一級標題
使用Celer IM搭建原生跨鏈dApp非常簡單
或
或sendMessage或sendMessageWithTransfer或executeMessage或executeMessageWithTransfer函數。
第二步是運行Executor。這一步驟不需要編寫代碼。 dApp開發或社區成員都可以運行一個Executor, 並訂閱SGN上生成的相關消息證明。
最後一步是進行UI/UX調整。由於應用現在具有的跨鏈邏輯可能會涉及多個交易,讓用戶了解一個跨鏈行為的不同狀態自然非常重要。 UI的具體展示當然取決於應用本身,但Celer IM提供了一個易於查詢的網關服務,可以讓dApp獲取消息和資金跨鏈的狀態,讓dApp開發人員能夠搭建一筆跨鏈交易的完整生命週期。
我們正在尋找dApp合作夥伴,一起構建Celer IM 的生態。 Celer會為合作夥伴提供技術支持,我們也在設立專項資金支持,並會在後續提供更多細節。如果您有興趣加入Celer IM生態,請與我們聯繫!