币圈信息网 币圈新闻 XCM第二部分:版本控制和兼容性

XCM第二部分:版本控制和兼容性

Gavin Wood在9月6日发布第一篇关于XCM:跨共识消息格式,文中介绍了它的基本架构、目标以及

gavin wood在9月6日颁布第一篇对于xcm:跨共鸣动静方法,文中引见了它的基础框架结构、目的以及怎样将其用来少许大略的用例比特币钱包。即日又将连接深刻查看 xcm 的一个风趣上面:xcm 怎样跟着功夫的推移而变换,而不会在它要贯穿的搜集之间引入阻碍。

具有一种共通的谈话不妨处置很多人际交易的题目比特币挖矿软件。它使咱们不妨一道处事,处置辩论并记载消息以备后用。然而谈话的有效之处在乎它不妨表白的观念,在一个连接变革的寰球中,谈话必需变换和符合其观念库,要不就有被废除的危害。

悲惨的是,过于遽然地变换谈话会妨碍其重要手段——激动人与人之间的交谈比特币之父。因为谈话必需变换,所以必需有处置那些变换的本领,而不会使生手人没辙领会新情势。在这上面,一个特殊有效的创造是辞书,它不妨扶助记载和存档一种谈话的观念绘图板,再不后辈不妨更好地领会汗青文本。字典的本子不妨被觉得是一种谈话的正式“本子”。

期间大概会变换,但题目仍旧特殊熟习比特币大跌。正如我在上一篇作品中所证明的,xcm 只然而是一种谈话,纵然它是一种特殊专科的谈话。它是共鸣体例彼此交谈的一种办法,跟着对这个 xcm 的需要以加密行业和更加是 polkadot 生态体例的极速兴盛,那么必需有少许本领来保证那些变革不会协调xcm 的首先目的:互操纵性。咱们此刻不只须要处置共鸣空间的互操纵性,还须要处置共鸣功夫的题目。

xcm第二局部:本子遏制和兼容性

? 本子遏制

因为咱们蓄意 xcm 的谈话在洪量运用时会跟着功夫的推移而变换,所以须要采用的一个特殊大略的提防办法是保证在本质动静实质之前决定咱们正在通讯的 xcm 本子比特币价格。咱们经过运用很多本子包装器典型来做到这一点,之以是如许定名是由于它们按本子包装xcm 动静或其组件。在 rust 代码中,这看上去特殊大略:

当“经过搜集”发送(大概更真实地说,在共鸣体例之间)发送时,xcm 一直安置在此本子化容器中比特币大跌。这保证了太旧而没辙证明动静的体例不妨安定地接受它们并辨别它们不扶助动静的方法。它还承诺较新的体例辨别并相映地证明较旧的动静。

不只仅是 xcm 动静被本子化;在 xcm 代码库中,咱们还对multilocation、multiasset及其关系典型举行了本子遏制比特币交易平台排名。这是由于当链的 xcm 论理晋级时,它们大概须要被保存和稍后证明。即使没有本子遏制,咱们大概会试验将旧的证明multilocation为新的,并创造它是不行领会的(大概更糟的是,不妨领会但与原始含意各别)。

? 兼容性和翻译

本子遏制是第一步,可保证咱们不妨辨别所运用谈话的本子偷电挖比特币。它不保护咱们不妨证明它,固然也不保护它是咱们优先运用的同一本子。这即是兼容性的蛮横之地。咱们所说的“兼容性”是指不妨在 xcm 本子中连接证明和表白咱们本人,这不是咱们首要选择的本子。

即使咱们蓄意不妨依照咱们采用的功夫表晋级咱们的搜集及其 xcm 本子,那么这种兼容性就变得十分要害,由于咱们大概蓄意与尚未晋级或本质上仍旧晋级的其余搜集举行通讯比特币挖矿软件。这不妨领会为向后兼容和向前兼容。基础上去说,向后兼容性是晋级后的体例在遗留寰球中连接运转的本领,向前兼容是遗留体例在晋级后的寰球中连接运转的本领。

在咱们的例子中,咱们蓄意两者兼而有之,但生存本质控制:在新本子的 xcm 供给往日本子中不生存的功效的情景下,憧憬旧体例不妨证明那些动静是不实际的比特币交易网站。这有点像试图将“应酬媒介”一词翻译成拉丁语,而后憧憬 julius caesar 从外表上领会它。有些观念基础没辙在左右文中表白。

同样,对 xcm 的宏大变动大概会引导从其观念模子中简略功效比特币交易。这种情景较少爆发,但一致于将某些陈旧术语翻译成新颖等效术语的题目。风趣的是,“点”的陈旧含意在这边大概是一个例子(它已经表白一种十分特出的金融天性情势)。

所以,新本子的 xcm 被安排为重要兼容旧本子和新本子,但常常会有 xcm 动静在代替左右文中基础没有意旨而且没辙翻译比特币价格走势

? 本质勾通

xcm第二局部:本子遏制和兼容性

如前所述,咱们保证一切独力生存的动静都包括一个本子操作符比特币最新价格。这表示着在体例之间发送的动静或在保存中长久化的动静。但它并不囊括一切动静、场所和财产——动作其余数据的一局部生存的数据不须要本子化,由于它的本子不妨从它的左右文中估计出来。

固然本子辨别和兼容性/翻译无助于于从旧搜集接受动静或将动静发送给新搜集,然而——独立来看——在差异的情景下就没那么有效了什么是比特币。这是由于从晋级搜集接受动静的保守搜集自己没有不妨将新 xcm 变换为它不妨证明的那种情势的论理——差异,该论理仅生存于具备变换代码的发送方用保守术语从新表白新消息。

所以,发送搜集必需控制保证它发送的动静不妨被接受搜集证明比特币新闻。简直而言,用来动静的 xcm 本子不得高于接受搜集扶助的 xcm 本子。

出于这个因为,polkadot 和 kusama 中继链、statemint、statemine、shell 和任何其余鉴于 substrate/frame 的链及其 xcm 引擎都保持了长途链扶助的 xcm 本子的备案表比特币价格实时行情。每当那些链发送 xcm 动静时,它开始会经过查问其备案表来决定将动静发送给哪个本子。它将动静变换为较旧的发送方和接受方扶助的 xcm 本子。对于维持最新状况的链,大普遍情景下它们将是沟通的、最新颁布的本子,进而供给 xcm 的完备功效集。

该备案表常常由处置过程指定和晋级,这有点烦恼和蹩脚,更加是跟着潜伏手段地数目的减少比特币如何挖矿。为此,引入了本子盯梢。

? 本子计划

本子盯梢是 xcm 本子遏制故事拼图中的结果一块比特币客户端。它的功效是简略盯梢潜伏手段地链的 xcm 本子所需的任何链外或处置过程。差异,该进程是自决和在链上爆发的。

从实质上讲,它的处事道理是承诺一个搜集运用 xcm 查问另一个搜集以获得它扶助的最新本子的 xcm,并在此变动时收到报告比特币客户端。来自此查问的恢复承诺有题目的搜集弥补和保护其本子备案表,保证运用最新的可领会本子发送动静。

xcm第二局部:本子遏制和兼容性

简直来说如何获得比特币,xcm 中有三个有价格的训令:

subscribeversion承诺一部分诉求另一部分报告它此刻和变动时的 xcm 本子;unsubscribeversion废除该乞求;以及queryresponse,将某些消息从相应者搜集归来到倡导搜集的普遍本领挖比特币。这是它们在 rust 中的格式:

xcm第二局部:本子遏制和兼容性

以是subscribeversion须要两个参数比特币官网。第一个query_id是 type queryid,它不过一个平头,用来让咱们辨别和辨别归来的相应。一切引导发送相应的 xcm 训令都有一致的本领来保证它们的相应不妨被辨别并相映地处置。第二个参数被挪用max_response_weight,它是一个weight值(也是一个平头),引导恢复归来时咱们该当耗费的最大计划功夫。像query_id,这将被放入该训令天生的任何相应动静中,而且须要保证任何分量不行猜测的可变分量本钱在实行之前起码不妨控制为最大值。即使没有这个,咱们将没辙赢得恢复动静大概须要证明的功夫下限,所以没辙安置它实行。

unsubscribeversion动作训令十分瘠薄,主假如由于一次只承诺一个本子订阅在给定场所居于震动状况比特币是什么。这表示着废除只能经过原产地备案簿的实质来辨别。

本子备案表及其用法的证明比特币价格今日。在这边,链 a(xcm 本子 2)与链 e(xcm 本子 3)计划并最后发送本子 2 动静,e 将在证明之前机动将其变换为本子 3。

? 恢复

要提防的第三条训令是queryresponse,这是一条特殊通用的训令,承诺一个链恢复另一个链,并在如许做时汇报少许消息比特币矿机。这是在 rust 中:

咱们仍旧领会三个参数中的两个,由于它们是从subscribeversion. 第三个被挪用response,包括咱们关怀的本质消息比特币浏览器。它被安置在一个新典型中response,它自己是一个搜集大概蓄意用来报告另一个搜集的几种典型的共同。在 rust 中看上去像如许:

就咱们暂时的手段而言,仅version须要该名目,但正如咱们将期近将颁布的作品中看到的,其余名目对于其余左右文也很有效比特币之父

xcm第二局部:本子遏制和兼容性

? 实行功夫

常常,咱们不须要queryresponse训令来购置它们本人的实行功夫,buyexecution由于(假如它们是灵验的),此刻证明搜集开始诉求发送它们挖比特币。同样,咱们觉得subscribeversion是适合发送方和接受方的共通便宜,所以不须要为此付钱。在任何情景下,因为它会天生的相应的异步和不行猜测的本质,付出将十分难以计划。

? 机动化

固然那些 xcm 训令承诺搜集实足运用链上论理来决定其对话者扶助的最新本子,但仍旧生存何时启用此本子创造“拉手”的题目比特币是什么。当创造用来发送 xcm 的通道时,常常没辙实行,由于传输通道的创造在观念上低于 xcm,xcm 是一种(大概是多种)数据方法,不妨经过该通道发送。两个浑水在这边大概会妨碍分层安排的独力性。其余,少许穿插共鸣传输和议基础不是鉴于通道的,这将废除在它们发端时举行本子计划的大概性。

在 polkadot 中继链和 statemint 等 substrate 链中,处置计划是在须要包装动静以举行发送但手段地的最新本子未知时机动启用此本子创造进程比特币行情最新价格。这有一个小缺陷,即第一条动静将在次优 xcm 本子下发送,这种情景会在收到本子相应之前爆发。即使这是一个本质题目,那么处置不妨加入强迫该手段地的 xcm 的初始本子与默许本子各别(常常树立为在消费中仍可预期的最早 xcm 本子)。

?? xcm 中的代码兼容性

对于本子遏制的结果一点是代码创造比特币交易网。实足各别的过渡的线xcm的方法,代码兼容性处置是运用 rust 实行(鉴于 substrate )名目代码库必需爆发的工作。xcm会跟着功夫的推移而堆叠。

明显,旨在运用连接兴盛的谈话来表白办法的代码库必需与时俱进如何获得比特币。咱们仍旧具有语义本子遏制 (semver) 体例,该体例无助于于引导一定本子变动大概爆发的变动。然而,这在处置 api 和 abi 时特殊有效,而在商量完全数据方法或谈话时则不太有效。犯得着高兴的是,xcm 的安排简直不须要 semver。

咱们领会,较新本子的 xcm 软硬件不妨在新旧 xcm 动静及其里面数据典型(如场所和财产)之间举行变换中国比特币。它不妨经过在 xcm 代码库中同声保持多个本子的 xcm 谈话来实行这一点。rust 的模块体例使这变得微乎其微,新的 xcm 本子只对应一个新的 rust 模块。即使咱们回忆一下versionedxcm数据典型的 rust 证明(就在正文的发端),它不过底层xcm数据典型的每个一定本子的标志共同,每个本子都在它们本人的模块v0, v1, v2, &c 中找到。

因为运用 xcm 及其数据典型的工作和 api 常常只运用本子化的变体,那些变体不妨用新旧方法同样结构,最闭幕果是代码库不妨革新为运用最新的 xcm 软硬件(在 rust 中,这是被称为板条箱),对其代码举行很少或没有变动比热比价格实时行情。晋级 xcm crate 承诺搜集更好地与其余一致晋级的搜集互操纵,但晋级搜集运用的 xcm谈话的任何片断都须要稍保守行。

我蓄意这会变成共青团和少先队维持 xcm 板条箱革新的宏大能源,进而维持一切实质赶快迭代和兴盛如何获得比特币

? 论断

我蓄意这能让您领会 xcm 的本子遏制体例以及怎样运用它来维持霸权链搜集的通讯,由于它们用来通讯的谈话在搜集之间以各别的速度和功夫兴盛,而且开拓职员共青团和少先队没有洪量的经营开支谁维持她们的论理比特币现金

察看更多

本文来自网络,不代表币圈信息网立场,转载请注明出处:https://www.lpbwg.com/11184.html

作者: bqxxw

返回顶部