五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Sui V0.28版本遷移指南

2023-04-04 13:57 作者:Sui_Network  | 我要投稿

Sui V0.28版本引入一些不兼容更新,可能需要更新你的應(yīng)用或調(diào)整程序,才能正常運(yùn)行。本指南提供了遷移步驟來(lái)幫助更新,同時(shí)也將介紹新版本中一些新增功能。(不兼容更新詳情:https://docs.sui.io/doc-updates/sui-breaking-changes)

Sui Move 更新

本節(jié)將介紹有關(guān)Sui Framework相關(guān)的更新。

Sui Framework拆分成了兩個(gè)包#

更新時(shí)間2023年3月27日

sui-framework包含了Sui Move中object、?transferdynamic_field等核心包。在Sui上開(kāi)發(fā)的合約常常依賴sui-framework包。此前,sui-framework包含一個(gè)governance文件夾,里面定義了一些與Sui系統(tǒng)運(yùn)行相關(guān)的模塊,比如validator_setstaking_pool。這模塊與framework內(nèi)的其他模塊有根本區(qū)別,開(kāi)發(fā)人員不常用。為了簡(jiǎn)化,此版本將sui-framework拆分為兩個(gè),以提高模塊化、可用性和升級(jí)性。

在PR 9618中(https://github.com/MystenLabs/sui/pull/9618),sui-framework在packages目錄中包含3個(gè)包:sui-system、sui-frameworkmove-stdlib

  • sui-system中包含sui-framework/sources/governance目錄中的模塊, 其中所有驗(yàn)證節(jié)點(diǎn)管理和質(zhì)押相關(guān)函數(shù),都發(fā)布在以0x3命名的sui_system地址上。

  • sui-framework包含不在governance文件夾中的所有其他模塊,該framework為開(kāi)發(fā)人員提供標(biāo)準(zhǔn)庫(kù)和工具類模塊,它仍然在0x2命名的sui地址上。

  • move-stdlib包含以前位于sui-framework/deps文件夾中,它仍然在0x1?命名的std地址上。

如果您依賴sui-framework開(kāi)發(fā)代碼庫(kù),包管理配置文件Move.toml必須更改路徑地址:

發(fā)布V0.28版本之前

發(fā)布V0.28版本之后

就是subdir字段修改成crates/sui-framework/packages/sui-framework/

如果您的代碼使用governance文件夾中如下的模塊:

genesis.move、sui_system.move、validator_cap.movevoting_power.move、stake_subsidy.movesui_system_state_inner.move、validator_set.movestaking_pool.move、validator.move或者validator_wrapper.move

這些模塊現(xiàn)在位于sui-system包中,您必須將SuiSystem列為依賴項(xiàng),并通過(guò)0x3sui_system命名地址來(lái)訪問(wèn)它們。

ecdsa_k1 ecrecover和secp256k1_verify#

在這個(gè)版本中,ecdsa_k1::ecrecoverecdsa_k1::secp256k1_verify要求用戶輸入原始信息而不是哈希后的信息

  • ecdsa_k1::ecrecover(sig, hashed_msg, hash_function)?,升級(jí)成:ecdsa_k1::secp256k1_ecrecover(sig, msg, hash_function)

  • ecdsa_k1::secp256k1_verify(sig, pk, hashed_msg),升級(jí)成:ecdsa_k1::secp256k1_verify(sig, pk, msg, hash_function)

當(dāng)您調(diào)用這些 API 時(shí),必須提供原始信息而不是哈希后的信息用于verify或ecrevover。 您還必須提供由u8數(shù)組表示的hash_function名稱。 有關(guān)詳細(xì)信息,請(qǐng)參閱源代碼:

  • ecdsa_k1.md:https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/ecdsa_k1.md

  • ecdsa_r1.md:https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/ecdsa_r1.md

ID不能構(gòu)造傳入#

當(dāng)您建立一個(gè)object時(shí),UID必須使用未被注冊(cè)過(guò)的,也就是UID必須來(lái)自object::new(或用于測(cè)試的test_scenario::new_object)。 想要遷移已有的項(xiàng)目,之前將UID作為參數(shù)來(lái)構(gòu)造object的任何函數(shù)現(xiàn)需要用TxContext來(lái)生成新的ID。

例如,在V0.28之前的版本中,創(chuàng)建一個(gè)object代碼:

而在V0.28版本中,創(chuàng)建一個(gè)object代碼:

Publisher#

Publisher增加了一個(gè)重要的補(bǔ)充性功能,即Publisher?object現(xiàn)在需要的OTW(一次性見(jiàn)證者),可以通過(guò)sui::package::claim調(diào)用在package內(nèi)的任何模塊來(lái)實(shí)現(xiàn):

更多有關(guān)Publisher的信息,請(qǐng)參閱https://examples.sui.io/basics/publisher.html。

Sui Object Display 標(biāo)準(zhǔn)#

這個(gè)版本包含了Sui Object Display 標(biāo)準(zhǔn),是一種使用通用模板來(lái)描述類型object的新方式,使其鏈下展示更標(biāo)準(zhǔn),RPC API已經(jīng)支持該新標(biāo)準(zhǔn)。

想要獲取更詳細(xì)的描述和標(biāo)準(zhǔn)制定的動(dòng)機(jī),請(qǐng)參閱Sui Object Display提案(https://forums.sui.io/t/nft-object-display-proposal-accepted/4872)。

在Sui Move中, 可以通過(guò)調(diào)用display::new<T>(&Publisher)來(lái)claim?Display?object。函數(shù)簽名中規(guī)定,需要用到Publisher?object。Display?claim后,可以通過(guò)向其添加新字段(模板)來(lái)修改Display。當(dāng)object準(zhǔn)備好發(fā)布時(shí),需要調(diào)用display::update_version(&mut Display)來(lái)發(fā)布并使其可用,每當(dāng)添加/編輯Display應(yīng)當(dāng)再次調(diào)用update_version來(lái)聲明已經(jīng)更新。

我們建議在Display中使用的字段如下:

  • name:顯示的名稱

  • link:對(duì)象的app鏈接/外部鏈接

  • description:描述信息

  • image_url:圖片的URL或者blob類型的圖片

  • project_url:網(wǎng)站的鏈接

  • creator:以任何方式提及創(chuàng)作者(文本、鏈接、地址等)

請(qǐng)?jiān)?strong>Display中(https://examples.sui.io/basics/display.html)查閱其他信息和示例。

API和SDK更新#

本節(jié)將介紹Sui API和SDK更新后的相關(guān)內(nèi)容。

讀取objects#

sui_getObject端點(diǎn)現(xiàn)在采用一種附加配置參數(shù)的方法SuiObjectDataOptions來(lái)控制端點(diǎn)檢索字段的類型。默認(rèn)情況下,端點(diǎn)僅檢索object的引用,除非客戶端請(qǐng)求時(shí)明確指定其他數(shù)據(jù),例如typeowner或者bcs數(shù)據(jù)類型。

TypeScript遷移#

JSON RPC遷移#

Display#

要獲取object的Display ,請(qǐng)將附加標(biāo)志傳遞給sui_getObject調(diào)用。

返回值是某個(gè)類型的處理模版,例如,對(duì)于Sui Capys,它可以為:

讀交易#

sui_getTransactionBlocksui_multiGetTransaction函數(shù)現(xiàn)在新增一個(gè)可選參數(shù)options。使用options指定要檢索的字段,例如交易、變動(dòng)或事件。 默認(rèn)情況下,它只返回交易簽名。

讀事件#

此版本對(duì)讀事件進(jìn)行了以下更新:

  • 刪除系統(tǒng)事件,例如Publish、TransferObjectNewObject,只保留?MoveEvents

  • SuiTransactionResponse中添加了object_changesbalance_changes字段

分頁(yè)#

此版本更新了分頁(yè)的定義。

發(fā)布V0.28版本之前

發(fā)布V0.28版本之后

備注:next_cursor現(xiàn)在不會(huì)有Null值了,如果data不為空,它總是指向最后一項(xiàng)數(shù)據(jù);要檢查當(dāng)前頁(yè)面是否是最后一頁(yè),現(xiàn)在您可以簡(jiǎn)單地使用has_next_page,而不是執(zhí)行next_cursor.is_none()。

如果使用Page是一頁(yè)一頁(yè)的讀取,現(xiàn)在讀取到最新一頁(yè)時(shí),無(wú)需手動(dòng)處理next_cursor返回的None值,而是可以一直使用返回的next_cursor作為讀取下一頁(yè)的輸入?yún)?shù)。在此版本之前,讀取過(guò)程將從頭開(kāi)始直到結(jié)束,并且沒(méi)有正確處理None值。

構(gòu)建和執(zhí)行交易#

SignerSignableTransaction接口之前的transaction builder方法已被刪除,并替換為新的Transaction?builder類。這個(gè)新的transaction builder充分利用了Programmable Transactions優(yōu)點(diǎn)。

交易現(xiàn)在支持列表中提供的硬幣作為交易時(shí)gas的支付。默認(rèn)情況下,transaction builder會(huì)自動(dòng)計(jì)算gas和選擇硬幣用于支付。當(dāng)然你還可以選擇設(shè)置這些值,例如設(shè)置預(yù)算、更改gas價(jià)格或gas支付選擇:

質(zhì)押更新#

本節(jié)將介紹與Sui質(zhì)押更新相關(guān)的內(nèi)容。

解除用于質(zhì)押鎖定的 Coin#

此版本之前,用戶可以將其Coin<SUI>LockedCoin<SUI>質(zhì)押給驗(yàn)證節(jié)點(diǎn),此版本更新后,取消了對(duì)用于質(zhì)押鎖定Coin的支持,因此質(zhì)押功能現(xiàn)只支持Coin<SUI>。

更新質(zhì)押Sui object布局#

在此版本之前,質(zhì)押的Sui結(jié)構(gòu)具有以下定義:

隨著對(duì)用于質(zhì)押鎖定Coin的移除以及Sui質(zhì)押流程的改變,新的結(jié)構(gòu)定義為:

存入/取出質(zhì)押API的更新#

此版本包括以下與存入/取出質(zhì)押請(qǐng)求相關(guān)的更新:

  • 移除request_switch_delegation函數(shù)

  • 重命名所有委托功能以使用“質(zhì)押”而不是“委托”

在V0.28版本之前,函數(shù)名稱為:

從V0.28版本開(kāi)始生效,函數(shù)名稱為:

getDelegatedStakes的更新#

委托質(zhì)押的函數(shù)(getDelegatedStakes )函數(shù)已重命名為getStakes, getStakes函數(shù)返回驗(yàn)證節(jié)點(diǎn)按質(zhì)押池分組地址的所有質(zhì)押,以及到目前為止獲得的預(yù)估質(zhì)押獎(jiǎng)勵(lì)。

增加getStakesByIds函數(shù)#

新的getStakesByIds函數(shù),可以使用已質(zhì)押的SUI IDs數(shù)組查詢委托的質(zhì)押。 該函數(shù)返回驗(yàn)證節(jié)點(diǎn)按質(zhì)押池分組地址的所有質(zhì)押,以及到目前為止獲得的預(yù)估質(zhì)押獎(jiǎng)勵(lì)。

Secp256k1導(dǎo)出密鑰對(duì)#

在函數(shù)簽名上將Secp256k1.deriveKeypairEd25519進(jìn)行匹配,以接受助記詞字符串和可選路徑字符串,而不是必需的路徑字符串和助記符字符串。詳細(xì)信息,請(qǐng)參閱PR 8542(https://github.com/MystenLabs/sui/pull/8542/files#diff-66c975e3c863646441ca600b074edb151f357e471bab6a34166caaecd5f546e1L151)。

關(guān)于 Sui Network

Sui是首個(gè)從頭開(kāi)始設(shè)計(jì)的無(wú)需許可Layer 1區(qū)塊鏈,旨在為創(chuàng)作者和開(kāi)發(fā)者提供平臺(tái),以構(gòu)建能夠獲取Web3中下一個(gè)十億用戶的體驗(yàn)。Sui具有橫向可擴(kuò)展性,能夠以快速且低成本支持廣泛的應(yīng)用開(kāi)發(fā)。

官網(wǎng):https://sui.io/

Twitter:https://twitter.com/SuiNetwork

Discord:https://discord.com/invite/sui

中文Medium:https://medium.com/sui-network-cn

中文電報(bào)群:https://t.me/Sui_Blockchain_Chinese

Sui V0.28版本遷移指南的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
香格里拉县| 洞口县| 芦山县| 承德县| 上林县| 南京市| 剑川县| 航空| 石渠县| 景泰县| 高雄市| 台湾省| 阳泉市| 巴青县| 京山县| 烟台市| 方城县| 桃园县| 美姑县| 商城县| 辽宁省| 大荔县| 桦川县| 东兴市| 永州市| 安泽县| 祁连县| 乌恰县| 胶南市| 潮州市| 平原县| 辰溪县| 远安县| 龙口市| 荥阳市| 奈曼旗| 阿图什市| 洛浦县| 竹山县| 邛崃市| 宿迁市|