以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > Luna > Info

平行鏈上線技術系列四 Polkadot XCM從基礎到實踐_TYPE

Author:

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

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允許平行鏈與其中繼鏈上其他的平行鏈交換消息。

Bakkt Q1季度凈虧損4490萬美元,同比增長4%:金色財經報道,數字資產平臺Bakkt Holdings, Inc公布了截至2023年3月31日的季度財務和運營業績。公司于2023年4月1日完成了對Apex Crypto的收購。交易賬戶約69萬個,同比增長2%。數字資產轉換率為1.93億美元,同比增長6%,凈收入為1300萬美元,同比增長4%。總運營費用為5840萬美元,同比下降4%。截至2023年3月31日的三個月的總運營費用包括430萬美元的重組成本。凈虧損4490萬美元,同比增長4%。[2023/5/12 14:59:30]

跨鏈交易使用基于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,只包含驗證消息處理的必要信息。

Animoca Ventures與Blocore達成合作,共同投資Web3公司:10月7日消息,Animoca Ventures與韓國區塊鏈投資機構Blocore簽署諒解備忘錄,雙方將密切合作,尋找和支持領先的Web3公司,從而發展區塊鏈和Web3生態系統。(Martech Series)[2022/10/7 18:41:56]

假設平行鏈A上部署的一個合約要發一條跨鏈調用的消息給平行鏈B,從而調用位于鏈B上的合約完成資產轉移,其整體流程如下:

調用者在鏈A上調用部署在鏈A上的智能合約,從而初始化一條以鏈B為目的地的跨鏈消息M;

鏈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方式實現的平行鏈多資產轉賬模塊。

為平行鏈添加跨鏈資產轉移的功能

我們接下來的目的就是創建兩條平行鏈,讓這兩條平行鏈支持多資產并且實現跨鏈資產轉賬。

Cosmos預發布鏈間安全性v0.1版本:8月12日消息,Cosmos宣布預發布鏈間安全性v0.1版本,將在未來幾個月與不同的Cosmos利益相關者合作進行廣泛的審計和測試,完成后將正式發布v1.0版本并部署至CosmosHub。此外,Cosmos還將在9月初啟動一個私有測試網,小部分CosmosHub驗證節點將參與,該測試網作為將在v1.0發布后開始的公共測試網的試運行。

本次預發布版本的功能包括使驗證器集consumer chain上保持同步、對驗證者停機和consumer chain上雙重簽名進行懲罰、允許consumer chain向Cosmos Hub發送可變百分比的費用和通膨代幣作為為安全性付費等。[2022/8/12 12:21:00]

實驗環境

我們會準備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同理。

路透社:Celsius事件將促使美國加強對加密借貸產品的監管:6月17日消息,加密借貸平臺Celsius的流動性問題導致其170萬客戶無法贖回資產,這將增加美國對該行業的監管壓力,該行業在今年的其他危機中已經處于守勢。Celsius本周以極端市場條件為由凍結提款,這凸顯了加密行業的其他問題,即該行業對投資者保護的措施薄弱。

報道稱,加密貨幣貸方從零售客戶那里收集加密貨幣存款并將其重新投資。有時吹捧兩位數的回報,此類產品吸引了數百億美元的資產。然而,由于其投資在加密市場低迷中惡化,Celsius無法兌現贖回。Celsius沒有在美國證券交易委員會 (SEC) 注冊,這意味著它幾乎不受風險管理、資本和披露規則的約束。結果,其客戶對其資產如何投資幾乎一無所知,也不清楚他們是否會收回這些資產。(路透社)[2022/6/17 4:34:15]

1.配置CurrencyId和CurrencyIdConvert

假設條件:

平行鏈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()

CryptoPunks系列NFT當前地板價為47.5ETH:金色財經消息,據NFTGo.io數據顯示,CryptoPunks系列NFT總市值達21.8億美元,在所有NFT項目總市值排名中位列第1;其24小時交易額為93.9萬美元,增幅達89.77%。截止發稿時,該系列NFT當前地板價為47.5ETH。[2022/6/9 4:14:03]

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

來源:金色財經

Tags:TYPETYPCONRENNEXTYPEEquityPaySunContractren幣未來價格

Luna
金色Web3.0日報 | Optimism啟動第二輪治理提案投票_NFT

DeFi數據 1.DeFi代幣總市值:394.01億美元DeFi總市值數據來源:coingecko2.過去24小時去中心化交易所的交易量:41.

1900/1/1 0:00:00
JYT首發Bittrex 致力推進生態建設_WEB

??據Bittrex官方了解JYT將于2022年7月7日首發Bittrex交易,這一消息引起了JYT社區的強烈反映,熱情一度高漲.

1900/1/1 0:00:00
《徐州日報》創刊號3D版數字藏品首發數藏中國_MAGIC

傳承文化歷史,牢記初心使命。6月27日,中國領先的數字藏品平臺數藏中國發布《徐州日報》創刊號3D版數字藏品。伴隨著淮海戰役的隆隆炮聲,1948年12月1號,徐州解放.

1900/1/1 0:00:00
Swan稱Celsius危機只是杠桿崩盤的開端!大戶仍在抄底炒作CEL_CEL

比特幣法幣入金平臺SwanBitcoin執行長CoryKlippsten在昨日接受了CoinTelegraph的采訪,還批評了近期關于Celsius公司等流動性危機與潛在的借貸崩盤風險.

1900/1/1 0:00:00
導演6.28日行情分析 熊途路漫漫 大餅依然還是在1H的中樞之中進行震蕩_CASH

導演第728篇原創每日行情分析2022.06.28 第一部分市場情緒? 美國7月PPI年率錄得0.8%,結束連續12個月下降:8月11日消息,美國7月PPI(生產者價格指數)年率錄得0.80%.

1900/1/1 0:00:00
以太 比特幣最新行情視頻解析 熊市以及結束 調整有上漲幅度_比特幣

對于后市的行情個人依然是看多目前的多頭發力空間,以太坊這一波上沖并沒有去上破1280壓力位,個人認為只是時間的問題,站穩1280位置上漲幅度將會繼續加大,需要去重點關注下.

1900/1/1 0:00:00
ads