Move.

帖子

分享您的知识。

Jeremy.
Nov 16, 2023
专家问答

基于 sui_getNormalizedMoveFunction 输出创建 tx_bytes 输出:移动模式示例

我正在寻找有关如何在 sui_getNormalizedMoveFunctionGolang、PHP 和 JavaScript 中接收数据后创建 tx_bytes 的示例或指南. sui_getNormalizedMoveFunction本质上,我想使用来自的输出填充Move函数参数sui_executeTransactionBlock,准备/签署交易,然后使用发送. 这是执行Move函数的正确流程吗?如果是,如何生成必要的参数?例如,我正在尝试从 Move 包中调用 mint 方法,该0xf5b55a91957b68f23107522abf96634a0d58ccad6ff9ecd6daf3eba8808b3dd9函数需要诸如 mintApp、Clock、Coin、Kiosk、KioskOwnerCap 和 TransferPolicy 之类的参数. 我可以从其他 Sui 交易示例中检索 MintApp 和 Clock,但我不确定其余参数. 我以为我可以从中获得这些参数sui_getNormalizedMoveFunction,但我对这种方法不确定.

  • Move
1
2
分享
评论
.

答案

2
Jackson.
Nov 16 2023, 13:11

看来你想执行一笔Move Sui交易,它sui_getNormalizedMoveFunction提供了一些关于Move包的数据. 要进行交易,你可以使用 Sui JSON RPC 文档 中记录的 unsafe_***JSON RPC 调用. 此调用将返回交易字节 (tx_bytes),然后您可以使用该字节签署和执行交易.

以下是一些可帮助您继续前进的建议:

  1. 使用 TypeScript 软件开发工具包:如果可能的话,从项目提供的 TypeScript 软件开发工具包开始. 使用 SDK 可以通过提供类型和函数参数来为您提供帮助,从而无需调用即可更轻松地使用 Move 函数unsafe_moveCall. 你可以在 SUI TypeScript 文档 中找到更多信息和资源.
  2. 对象 ID 和地址:对于某些参数,您需要知道对象 ID. 例如,如果您正在与自助服务终端打交道,则应知道该自助服务终端的 ObjectID. 同样,如果你是 KiosKownerCap,你需要它的 objectID. 时钟对象的固定对象 ID 为 0x6.
    3.的参数类型unsafe_payMove:调用时unsafe_payMove,在参数类型中提供所需的参数,该参数采用 JSON 值列表. 这些值应该是表示 ID 或地址的字符串. 例如,“0x2:: sui:: SUI” 代表一个地址. 通过执行这些步骤并了解参数和对象 ID,您可以创建必要的 tx_bytes 并执行 Move Sui 事务.
0
评论
.
Steven.
Nov 16 2023, 13:38

在Sui区块链上执行Move函数时,你所描述的过程通常是正确的. 以下是关于如何解决这个问题的分步指南:

  1. 调用sui_getNormalizedMoveFunction:此函数返回 Move 函数的标准化形式,其中包括该函数的名称、参数和返回类型. 您可以使用此信息来了解该函数需要哪些参数.
  2. 生成必要的参数:函数调用所需的参数将取决于函数本身. 就你而言,你正在尝试调用 0xf5b55a91957b68f23107522abf96634a0d58ccad6ff9ecd6daf3eba8808b3dd9Sui 包中的 mint 函数. 你已经提到过,你可以从其他交易示例中检索 MintApp 和 Clock. 对于其他参数(Coin 、Kiosk、KioskOwnerCap和TransferPolicy <Suifren >),你可能需要从Sui区块链中检索这些参数或自己生成.
    3.准备并签署 Sui 交易:获得所有必要参数后,就可以准备交易了. 这将涉及创建一个包含函数调用及其参数的交易区块. 然后,您需要使用私钥对该交易区块进行签名.
  3. 使用发送交易sui_executeTransactionBlock:最后,您可以使用该sui_executeTransactionBlock函数将签名的交易区块发送到Sui区块链.
0
评论
.

你知道答案吗?

请登录并分享。

Move is an executable bytecode language used to implement custom transactions and smart contracts.

148帖子231答案
Sui.X.Peera.

赚取你的 1000 Sui 份额

获取声誉积分,并因帮助 Sui 社区成长而获得奖励。

奖励活动七月