XCM基礎部分
指引:
ParachainDevelopment·PolkadotWiki「1」
XCM:TheCross-ConsensusMessageFormat「2」
XCM消息格式
OverviewofXCM:AFormat,NotaProtocol
xcm-format參考資料「3」
XCMisrelatedtocross-chaininthesamewaythatRESTisrelatedRESTful.
XCM是一種消息格式,而不是消息傳遞協議,因為它無法在系統之間發送任何消息,僅僅是一種應如何執行消息傳輸的格式,也就是表達接收者應該做什么。XCM還可用于通過UMP、DMP、XCMP通信通道中的任意一個來表發消息的含義。
xcm消息里帶有執行消息和位置信息
例如:鏈和鏈之間,合約與合約之間的xcm消息傳遞都可以用這套規范來實現,這些東西不能依托于鏈來實現,因為這套規范,如果依托于鏈本身,那每次鏈的升級都相當于做了一次xcm版本的升級。這很影響兼容性。
XCM不僅僅是跨鏈,而是"跨共識"消息格式!-技術圈「4」
XCM的核心—XCVM
XCMformat?的核心是XCVM,它是一種超高級非圖靈完備計算機,它的指令設計和交易大致處于同一水平。
XCM中的“消息”實際上只是XCVM上運行的程序。它是一個或多個XCM指令。程序一直執行,直到它運行到最后或遇到錯誤,此時它完成并停止。
XCVM包括許多寄存器,以及對托管它的共識系統的整體狀態的訪問。指令可能會更改寄存器,它們可能會更改共識系統的狀態或兩者兼而有之。
MultiLocations
可以理解為共識系統語義下的“位置”
需要注意的是,所有位置都是從消息解釋器的相對角度來看的。就如下面的例如...
從ParachainA的?度來看:
RelayChain:X1(Parent)
ParachainA:Self
ParachainB:X2(Parent,ParachainB)
ContractA:X1(ContractA)
ContractB:X3(Parent,ParachainB,ContractB)
Alice:X2(ContractA,AcountId32{Alice})
Bob:X1(AcountId32{Bob})
Charlie:X3(Parent,ParachainB,AcountId32{Charlie})
Dave:X4(Parent,ParachainB,ContractB,AcountId32{Dave})
消息路由
Cross-ConsensusProtocols
隨著XCMFormat的正式建立,這些messages需要協議的通用模式,Polkadot實現了兩個,用于在其組成的parachain之間處理XCMmessages。
注:下文中的“消息”意指上面提到的messages。
VMP
實際上,有兩種垂直消息傳遞傳輸協議。
UMP:允許平行鏈向他的中繼鏈發送消息
DMP:允許中繼鏈將消息向下傳遞到他們的平行鏈之一。
注意,
DMP?的消息也可能來自平行鏈,例如:平行鏈A轉給平行鏈B的情況,這個過程是這樣子的。
首先平行鏈A將使用
UMP,將消息傳遞給中繼鏈,其次中繼鏈再根據
DMP將消息向下傳遞給平行鏈B
XCMP
XCMP允許平行鏈與其中繼鏈上其他的平行鏈交換消息。
25,361枚ETH從未知錢包轉移到Coinbase:金色財經報道,據WhaleStats監測,25,361 枚ETH(40,665,598 美元)從未知錢包轉移到Coinbase。[2023/2/27 12:30:53]
跨鏈交易使用基于Merkle樹的簡單排隊機制來解決,以確保fidelity。中繼鏈驗證人的任務是將一個平行鏈的輸出隊列上的交易移動到目標平行鏈的輸入隊列中。但是,只有關聯的metadata作為hash存儲在中繼鏈的存儲中。
輸入和輸出隊列有時在Polkadot代碼庫和相關文檔中分別稱為ingress和egress消息。
XCMP-精簡版
水平中繼路由消息傳遞協議(HRMP)?協議是未完全完成的功能的臨時替代品。雖然XCMP本身仍在開發中,但HRMP是一個有效的替代品。
HRMP具有與XCMP相同的接口和功能,但對資源的要求更高,因為它將所有消息存儲在中繼鏈存儲中。當XCMP實施后,HRMP計劃被棄用并逐步淘汰以支持它。
XCMP
(思想:中繼鏈只保存相關元數據的hash值,只做關于xcm的相關驗證。)
由于現在XCMP還沒有被完全開發出來,現在主要使用的是HRMP,上文也提到了,HRMP需要用到許多的資源,現在吞吐量可能會是42條平行鏈上下。不過現在parity的開發者已經在把其他模塊交易移到其他平行鏈比如國庫財政部分來提高吞吐能力和承載鏈數量。
小問題:
xcm消息執行失敗了,怎么辦呢題外話:波卡網絡上平行鏈只負責出塊,所以沒有grandpa共識,最后敲定區塊上交給中繼鏈決定的。
消息分發
Polkadot'sMessagingScheme「5」
Polkadot的跨鏈消息傳遞方案「6」
平?鏈階段中,收集?打包區塊的同時,也會將跨鏈交易放到平?鏈的出隊列中。跨鏈交易通過
XCMP協議進?傳輸,根據收集?和驗證?的?絡連接情況,
具體的傳輸?法有三種:
發起鏈收集?直接發送給?標鏈收集?;
發起鏈驗證?發送給?標鏈收集?;發起鏈收集?發送給發起鏈驗證?,發起鏈驗證?傳遞給?標鏈驗證?,?標鏈驗證?再傳遞給?標鏈收集?。
跨鏈交易傳遞到?標鏈后,會把跨鏈交易放到平?鏈?隊列中。通過以上步驟,就完成了跨鏈交易在鏈間的傳遞。
如果A和B不共享全節點,則需要依靠中繼鏈上的驗證?來傳遞消息。
隊列
中繼鏈驗證者應負責將某?平?鏈上輸出隊列中的交易移??標平?鏈上的輸?隊列中。
收集?節點負責把平?鏈之間的信息傳遞。
收集?產?"出?"列表信息并會在"??"接收到其它平?鏈信息。
當收集?產?了區塊并提交給驗證?,它會收集最新??隊列信息并且處理它。
驗證?將會對收集?提交的平?鏈區塊進?驗證,包括處理到該平?鏈預期??的信息。
cumulus的pallets中兩種隊列:
MQC
消息隊列鏈是由驗證人創建的一個通用哈希鏈,用于跟蹤從發送方發送到單個接收方的每條消息以及順序。
MQC本身不保存在任何地方,而是只提供所有接受到的消息的最終證明。當驗證器接收到候選消息時,它從放置在upward_messages中的消息中按升序生成MQC
FeatureXCMP
Cross-ConsensusMessageFormat(XCM)·PolkadotWiki「7」
平行鏈之間直接通信,在中繼鏈上只更新proofs和讀取confirmations,只包含驗證消息處理的必要信息。
假設平行鏈A上部署的一個合約要發一條跨鏈調用的消息給平行鏈B,從而調用位于鏈B上的合約完成資產轉移,其整體流程如下:
調用者在鏈A上調用部署在鏈A上的智能合約,從而初始化一條以鏈B為目的地的跨鏈消息M;
Wave Financial計劃收購瑞士投資公司Criptonite:金色財經報道,資產管理公司Wave Financial在周四宣布計劃收購瑞士投資公司Criptonite Asset Management。 據悉,Wave Financial已經獲得了Criptonite的少數股權,這是計劃中全面收購的第一步。該交易須經監管部門批準。交易條款沒有披露,但Wave Financial預計收購將在2022年底前完成。
Wave國際總裁Matteo Dante Perruccio表示:“這次收購是Wave Financial在美國以外地區的第一次收購,但不會是最后一次,因為我們正在積極尋找其他合作伙伴,將我們多樣化的數字資產基金和解決方案帶給世界各地的認可投資者。”(The Block)[2022/9/1 13:02:10]
鏈A的收集人節點會將這條消息M連同其目的地、時間戳放到A的出口隊列中;
鏈B的收集人在正常情況下會輪詢其他所有的平行鏈的收集者節點以查看是否有自己的消息。如果在新一輪詢問中發現有以自己為目的地的消息,那么其會將這條消息放到自己的入口隊列中,以待在產生下一個區塊的時候處理該消息;
另外,鏈A的驗證人也會通過讀取鏈A的出口隊列從而知道這條消息;鏈B的驗證人也是。驗證人也需要知道這些消息,因為之后它們都會對這條消息進行驗證;
當鏈B的收集人節點開始構建一個新區塊的時候,它會處理當前入口隊列中所有的消息;在處理過程中,消息M會執行鏈B中相應的智能合約以此完成預期的資產轉移;
然后收集人將這個區塊提交給驗證人,驗證人會驗證消息M是否真的被處理了;如果這條消息被驗證確實處理了,并且這個區塊沒有其他不合法的地方,驗證者就會把該塊確認進中繼鏈中。
跨鏈資產轉賬詳解:從基礎到實踐
上方都是關于XCM的基礎部分,有了上面的知識,我們就進一步擴展講講其中的一些應用實現,例如跨鏈資產轉賬。
關于平行鏈之間進行資產轉賬會有一些細節。
跨鏈資產轉賬方式
XCM其實定義了兩種轉賬的方式,一種是AssetTeleportation一種是ReserveAssetTransfer。
參考:HowcanItransferassetsusingXCM?「8」
AssetTeleportation
這個轉賬模型只有兩個參與者,源和目的地。
例子:
Rust?//?鏈A的Alice向鏈B的Bob轉賬100個鏈A的native?token_aTransfer_teleport_asset(source_alice,?dest_bob,?token_a,?100);
過程:
首先先會在鏈Aburn掉Alice的100個token_a,并記下burn掉的資產總量,
然后鏈A會創建一個名為"ReceiveTeleportedAssets"的XCM指令,并將burn掉的資產數量和鏈B的相對位置作為這條XCM指令的參數,然后它會將這條指令發送到目的地,在那里它被處理并根據參數里的信息mint新的資產。
最后鏈B會將新鍛造的資產存入Bob賬戶中。
缺點:
它要求來源和目的地都具有高度的相互信任。目的地必須相信來源已經燒毀了發送過來的資產,并且來源還必須相信目的地鑄造在來源處被燒毀的資產。
不支持這兩個條件中的任何一個都將導致資產的總發行量發生變化或NFT的完全丟失/重復。
ReserveAssetTransfer
過程:chainA上的account1想轉移某個資產到chainB上的account2賬??,那?先將account1的資產轉移?chainA上的chainB代表賬?,再發送?條通知消息給chainB,chainB將對應的資產分配給account2。
ps:其實業界里更推崇后者(reserve),相較于前者會更有保障。像orml-xtokens其實就是基于reserve方式實現的平行鏈多資產轉賬模塊。
Cool Cats在The Sandbox的Alpha Season 3之前推出了新的頭像:8月24日消息,NFT項目Cool Cats在The Sandbox的Alpha Season 3之前推出了新的頭像,用戶可以登陸自己的錢包查看。The Sandbox稱,Alpha Season 3將于今日正式開放,目前他們正在進行最后的潤色,以確定NFT并準備用戶頭像。[2022/8/24 12:45:59]
為平行鏈添加跨鏈資產轉移的功能
我們接下來的目的就是創建兩條平行鏈,讓這兩條平行鏈支持多資產并且實現跨鏈資產轉賬。
實驗環境
我們會準備4個中繼鏈的驗證人節點以支持兩條平行鏈。因為我們要模擬鏈A到鏈B的跨鏈資產轉移以及平行鏈到中繼鏈的跨鏈資產轉移。
-4個驗證人的中繼鏈
-平行鏈A
-平行鏈B
平行鏈的跨鏈轉賬一共有兩種場景:
平行鏈轉中繼鏈平行鏈轉中繼鏈都是轉的中繼鏈代幣,如果想讓自己的平行鏈能支持向中繼鏈跨鏈轉賬的功能其實只需要配置XcmConfig就行。
平行鏈A轉平行鏈B平行鏈之間的轉賬會稍微復雜些,因為會涉及多資產轉賬的問題,這里只需要配置XcmConfig以及添加orml模塊就行。
接下來我們直接分析整個完整的runtime配置來介紹一下配置跨鏈資產轉賬時需要注意的配置項以及其含義。
平行鏈轉中繼鏈
為兩條平行鏈添加支持向中繼鏈進行跨鏈轉賬的功能。
進行runtime配置
其實是關于XcmExecutor的配置,其中一項XcmConfig就是指定XcmSender.這是你需要包含實現XCMP協議的pallet的地方。根據您要將XCM發送給誰,如果是要發送到中繼鏈,則需要包含parachain-system-pallet「9」,或者如果你要發送到同級平行鏈,則需要包含xcmp-queue-pallet「10」。
Rust///?queues
平行鏈A轉平行鏈B
為平行鏈A和平行鏈B配置ORML相關庫以實現平行鏈之間的跨鏈資產轉移將會用到
ORML的一些依賴庫:
orml-xtokens為平行鏈提供跨鏈資產轉移的方式。
orml-tokens用于查詢多資產額度的模塊
orml-currencies可以使用currencies模塊實現鏈內的多資產轉賬,可以理解為currencyplus?。
orml-traits共享一些trait,包括BasicCurrency、MultiCurrency、Auction等trait。
orml-xcm-support?提供types、traits和implementations以支持XCM集成
最后實現的效果:
鏈A的Alice通過xtokens模塊進行跨鏈資產轉移將token_a轉移給鏈B的Bob,轉賬成功后,鏈B上的Bob通過tokens模塊查看token_a的余額,然后通過currencies模塊將一部分的token_a轉賬給鏈B上的Alice。
進行runtime配置
為了平行鏈能夠支持多資產轉移,我們除了需要添加上面的ORML依賴庫,還需要做一些定制化的配置。
鏈A和鏈B上需要實現CurrencyId和CurrencyIdConvert,一個是代幣的tokenSymbol的list一個是將tokenSymbol轉換成multilocation的轉換器。
引入orml標準庫
還需要進一步配置XcmExcuter,其中包括跨鏈轉賬時手續費的收費規則、XCM過濾器以及如何存取資產的配置
兩條鏈都需要配置這些內容,下面我主要以鏈A為例。鏈B同理。
1.配置CurrencyId和CurrencyIdConvert
假設條件:
PoolTogether將于7月27日開啟OP獎勵活動:7月22日消息,無損彩票項目PoolTogether宣布在Optimism上線2周后,將向使用PoolTogether進行儲蓄的用戶發放45萬枚OP獎勵。第一階段將于北京時間7月27日01:00開始,為PoolTogetherOptimism存款者每周提供2.5萬枚OP獎勵。[2022/7/22 2:31:57]
平行鏈A->TokenSymbol:AA->ParachainId:1000
平行鏈B->TokenSymbol:BB->ParachainId:2000
Rust##pub?enum?CurrencyId?{??//?/?Relay?chain?token.??ROC,??//?Native?TokenSymbol??AA,??//?===============================??//?1.?添加支持的代幣tokenSymbol??//?===============================??BB}pub?type?Amount?=?i128;//?===============================//?2.?設置?CurrencyIdConvert,//?===============================pub?struct?CurrencyIdConvert;impl?Convert>?for?CurrencyIdConvert?{??fn?convert(id:?CurrencyId)?->?Option?{????match?id?{??????CurrencyId::ROC?=>?Some(Parent
impl?orml_currencies::Config?for?Runtime?{??type?Event?=?Event;??type?MultiCurrency?=?Tokens;??type?NativeCurrency?=?BasicCurrencyAdapter;??type?GetNativeCurrencyId?=?GetNativeCurrencyId;??type?WeightInfo?=?();}pub?struct?AccountIdToMultiLocation;impl?Convert?for?AccountIdToMultiLocation?{??fn?convert(account:?AccountId)?->?MultiLocation?{????X1(AccountId32?{?network:?NetworkId::Any,?id:?account
parameter_type_with_key!?{??pub?ParachainMinFee:?|location:?MultiLocation|?->?u128?{????#?//?false?positive????match?(location
impl?orml_xtokens::Config?for?Runtime?{??type?Event?=?Event;??type?Balance?=?Balance;??type?CurrencyId?=?CurrencyId;??type?CurrencyIdConvert?=?CurrencyIdConvert;??type?AccountIdToMultiLocation?=?AccountIdToMultiLocation;??type?SelfLocation?=?SelfLocation;??type?MinXcmFee?=?ParachainMinFee;??type?XcmExecutor?=?XcmExecutor;??type?Weigher?=?FixedWeightBounds;??type?BaseXcmWeight?=?BaseXcmWeight;??type?LocationInverter?=?LocationInverter;??type?MaxAssetsForTransfer?=?MaxAssetsForTransfer;}parameter_type_with_key!?{??pub?ExistentialDeposits:?|currency_id:?CurrencyId|?->?Balance?{????//?every?currency?has?a?zero?existential?deposit????match?currency_id?{??????_?=>?0,????}??};}parameter_types!?{??pub?ORMLMaxLocks:?u32?=?2;??pub?NativeTreasuryAccount:?AccountId?=?TreasuryPalletId::get()
跨鏈交易聚合器 LI.FI 完成 550 萬美元融資,1kx 領投:7月11日消息,跨鏈交易聚合器 LI.FI 完成 550 萬美元融資,1kx 領投,參投方包括 Dragonfly Capital、Lattice Capital、Scalar Capital、6th Man Ventures、Coinbase Ventures、BairesDAO 和 AngelDAO 等。本輪融資將用于通過營銷及支持其他區塊鏈來擴展 LI.FI 生態。(CoinDesk)[2022/7/11 2:06:14]
impl?orml_tokens::Config?for?Runtime?{??type?Event?=?Event;??type?Balance?=?Balance;??type?Amount?=?Amount;??type?CurrencyId?=?CurrencyId;??type?WeightInfo?=?();??type?ExistentialDeposits?=?ExistentialDeposits;??//?type?OnDust?=?orml_tokens::TransferDust;??type?OnDust?=?();??type?MaxLocks?=?ORMLMaxLocks;??type?DustRemovalWhitelist?=?Nothing;}//?orml?unknown?tokensimpl?orml_unknown_tokens::Config?for?Runtime?{??type?Event?=?Event;}impl?orml_xcm::Config?for?Runtime?{??type?Event?=?Event;??type?SovereignOrigin?=?EnsureRoot;}//?=====================================//?=====================================//?=====================================//?runtime/src/lib
pub?type?Barrier?=?(??TakeWeightCredit,??AllowTopLevelPaidExecutionFrom,??AllowUnpaidExecutionFrom,??//?^^^?Parent?and?its?exec?plurality?get?free?execution??AllowUnpaidExecutionFrom,);//?==================================//?AssetTransactor?設置支持的資產類型//?==================================pub?type?LocalAssetTransactor?=?MultiCurrencyAdapter<??Currencies,??UnknownTokens,??IsNativeConcrete,??AccountId,??LocationToAccountId,??CurrencyId,??CurrencyIdConvert,??DepositToAlternative,>;//?==================================//Trader配置跨鏈轉賬手續費的收費規則,這個手續費是其他鏈給我們鏈進行跨鏈轉賬的時候,我們平行鏈會收取一定的手續費。//?==================================use?frame_support::{ExtrinsicBaseWeight,?WEIGHT_PER_SECOND};pub?const?MICROUNIT:?Balance?=?1_000_000;pub?const?MILLICENTS:?Balance?=?1_000?*?MICROUNIT;pub?const?CENTS:?Balance?=?1_000?*?MILLICENTS;?//?assume?this?is?worth?about?a?cent
//?======================================//?XcmConfig//?======================================pub?struct?XcmConfig;impl?xcm_executor::Config?for?XcmConfig?{??type?Call?=?Call;??type?XcmSender?=?XcmRouter;??//?How?to?withdraw?and?deposit?an?asset.??type?AssetTransactor?=?LocalAssetTransactor;??type?OriginConverter?=?XcmOriginToTransactDispatchOrigin;??type?IsReserve?=?MultiNativeAsset;??type?IsTeleporter?=?();?//?Teleporting?is?disabled.??type?LocationInverter?=?LocationInverter;??type?Barrier?=?Barrier;??type?Weigher?=?FixedWeightBounds;??type?Trader?=?Trader;??type?ResponseHandler?=?PolkadotXcm;??type?AssetTrap?=?PolkadotXcm;??type?AssetClaims?=?PolkadotXcm;??type?SubscriptionService?=?PolkadotXcm;}
ps:關于Trader機制的解釋。
轉賬的手續費,一般是把轉賬的手續費充到國庫。
需要開發者自己設置weight的比例,這個weight的意思就是一秒鐘的時間消耗大概多少的手續費,這個weight其實就是時間復雜度。這里需要注意一下:如果不調整的話,大伙轉賬消耗的都是一個代幣,但是一個ksm得幾百u,一個平行鏈代幣卻是幾u,這個相差就有點大,就有可能被攻擊。
如果是非平行鏈的話,這個手續費會給驗證人,但是平行鏈沒有驗證人,只能給國庫。
如果Trader不指定任何賬戶,
類似這樣子的寫法,gas就相當于burn掉了。
如果是給國庫,那生態的人可以通過治理模塊支配國庫內的額度。
如果是直接burn掉,就類似通縮模型。轉的越多,代幣越少。
打開Hrmp
在這里之前,請確保你鏈A和鏈B都進行了上面的配置。
我們本地需要啟動4個驗證人的一條中繼鏈,然后把兩條平行鏈注冊上去
打開Hrmp通道有兩種方法,一種是在中繼鏈上直接通過sudo打開,另外一種則是在平行鏈上利用orml-xcm打開hrmp。
注意的是,hrmp是一個單向的通道,我們需要實現雙向打通,就必須打通兩次
這里以中繼鏈上通過sudo為例,后者可以根據acala的wiki為參考:OpenHRMPChannel「11」.
在Developer/Sudo下通過parasSudoWrapper.sudoEstablishHrmpChannel來打開1000->2000和2000->1000的hrmp通道。
1.打開1000->2000
2.打開2000->1000
進行跨鏈資產轉賬
到這所有的準備工作都準備好了,我們可以進行xcm消息傳遞了也就是說可以進行跨鏈資產轉移了。
1.鏈A向中繼鏈轉中繼鏈代幣
這里需要注意的是只能往中繼鏈轉中繼鏈代幣,因為我用的是rococo-local,所以中繼鏈代幣tokenSymbol為ROC。
2.鏈A向鏈B轉中繼鏈代幣
需要注意的是這里的AccountId32需要我們將ss58的地址hex一下
轉換工具:SubstrateUtilities「12」
同理也可以把CurrencyId切換成平行鏈代幣,比如鏈A的nativetoken。
執行成功之后,我們可以去鏈B通過Developer/ChainState下的tokens模塊查看余額。
總結
在實踐之前需要先吃一些基礎的知識,可以囫圇吞棗但是不能不去了解。
配置的時候確實牽扯到需要的配置項,不過細心的理解每個選項的含義,也能把問題修復好。
參考鏈接
「1」ParachainDevelopment·PolkadotWiki:
https://wiki.polkadot.network/docs/build-pdk#how-to-make-cross-chain-transfers
「2」XCM:TheCross-ConsensusMessageFormat:
https://medium.com/polkadot-network/xcm-the-cross-consensus-message-format-3b77b1373392
「3」xcm-format參考資料:
https://wiki.polkadot.network/docs/learn-crosschain#overview-of-xcm-a-format-not-a-protocol
「4」XCM不僅僅是跨鏈,而是"跨共識"消息格式!:
https://jishuin.proginn.com/p/763bfbd6d91c#:~:text=XCM是一種消息,表發消息的含義。
「5」Polkadot'sMessagingScheme:
https://medium.com/web3foundation/polkadots-messaging-scheme-b1ec560908b7
「6」Polkadot的跨鏈消息傳遞方案:
https://mp.weixin.qq.com/s?__biz=MzI3MzYxNzQ0Ng==&mid=2247485114&idx=1&sn=b85ed58daaa075c7c332c204b3749e20&chksm=eb21c1f3dc5648e588a01f860ae3cadd44c654270cc76a14b8b728e25a3b99ed03ccb97dc21f&scene=21
「7」Cross-ConsensusMessageFormat(XCM)·PolkadotWiki:
https://wiki.polkadot.network/docs/learn-crosschain
「8」HowcanItransferassetsusingXCM?:
https://substrate.stackexchange.com/questions/37/how-can-i-transfer-assets-using-xcm/38#38
「9」parachain-system-pallet:
https://github.com/paritytech/cumulus/tree/master/pallets/parachain-system
「10」xcmp-queue-pallet:
https://github.com/paritytech/cumulus/tree/master/pallets/xcmp-queue
「11」OpenHRMPChannel:
https://wiki.acala.network/build/development-guide/composable-chains/open-hrmp-channel
「12」SubstrateUtilities:
https://www.shawntabrizi.com/substrate-js-utilities/
XCMPartII:?
VersioningandCompatibilityhttps://medium.com/polkadot-network/xcm-part-ii-versioning-and-compatibility-b313fc257b83
XCMPartIII:
ExecutionandErrorManagement:
https://medium.com/polkadot-network/xcm-part-iii-execution-and-error-management-ceb8155dd166
PolkadotMessagingGuide-HackMD:
https://hackmd.io/S4TZc1uTQH-vxEWv-QFapg
Sub0Online:?
GettingStartedwithXCM-YourFirstCrossChainMessages:https://www.youtube.com/watch?v=5cgq5jOZx9g
PolkadotLaunchPhases:
https://wiki.polkadot.network/docs/learn-launch
Acala&KaruraWiki:
https://wiki.acala.network/
Collator·PolkadotWiki:
https://wiki.polkadot.network/docs/learn-collator
來源:金色財經
幣圈咨詢 6月28日熱點; 1.中非共和國總統:“加密中心”Sango將于7月3日啟動2.Celsius拒絕律師的破產保護申請提議.
1900/1/1 0:00:00根據以太坊基金會官方公告,以太坊主網將于6月底進行GrayGlacier硬分叉升級,這也是以太坊歷史上第十二次硬分叉升級.
1900/1/1 0:00:00OptimisticRollup和ZKRollup作為以太坊擴容的“紅白玫瑰”一直被市場比較,大家各執一詞,你更愛哪個?1.?Rollup的誕生擴容,是以太坊社區和基金會由來已久的心頭病.
1900/1/1 0:00:00多年區塊鏈深耕,以出色的應用實力,服務中國數字網絡,智能制造以及供應鏈管理領域,深受業內認可。自國內元宇宙概念誕生起,馬可科技便加入了元宇宙開放的進程,2020年公司正式成立,深耕人工智能,元宇.
1900/1/1 0:00:00首先:瀏覽器錢包是旨在通過網絡瀏覽器使用的加密錢包。對我們大多數人來說,當我們看到「瀏覽器錢包」時,我們就會想到MetaMask這樣的瀏覽器擴展項目,人們可以直接下載到Chrome、Brave等.
1900/1/1 0:00:00十多年來,科技公司一直嘗試在AR和VR中顛覆購物體驗的新方法,并告訴大眾這些技術將以無法想象的方式賦予消費者權力,所有的一切都將在短時間內成為主流.
1900/1/1 0:00:00