Move.

Publicación

Comparte tu conocimiento.

Jeremy.
Nov 16, 2023
P&R expertos

Creación de tx_bytes a partir de la salida de SUI_GetNormalizedMoveFunction: ejemplos del módulo Move

sui_getNormalizedMoveFunctionEstoy buscando ejemplos u orientación sobre cómo crear tx_bytes después de recibir datos de Golang, PHP y JavaScript. sui_getNormalizedMoveFunctionBásicamente, quiero completar los parámetros de la función Move usando la salida desui_executeTransactionBlock, preparar/firmar la transacción y luego enviarla usando. ¿Es este el flujo correcto para ejecutar las funciones de Move? De ser así, ¿cómo puedo generar los parámetros necesarios? Por ejemplo, intento llamar al método mint desde el paquete Move 0xf5b55a91957b68f23107522abf96634a0d58ccad6ff9ecd6daf3eba8808b3dd9y la función requiere parámetros como MintApp, Clock, Coin, Kiosk, KioskoWnerCap y TransferPolicy. Puedo recuperar mintApp y Clock de otros ejemplos de transacciones de Sui, pero no estoy seguro del resto de los parámetros. Pensé que podría obtener estos parámetrossui_getNormalizedMoveFunction, pero no estoy seguro del enfoque.

  • Move
1
2
Cuota
Comentarios
.

Respuestas

2
Jackson.
Nov 16 2023, 13:11

Parece que está buscando ejecutar una transacción de Move Sui y sui_getNormalizedMoveFunctionproporciona algunos datos sobre el paquete Move. Para realizar una transacción, puedes usar las llamadas JSON RPC unsafe_***documentadas en la RPC JSON de Sui documentación. Esta llamada devolverá los bytes de la transacción (tx_bytes) con los que podrás firmar y ejecutar la transacción.

Estas son algunas sugerencias que te ayudarán a continuar:

  1. Usa el SDK de TypeScript: si es posible, comienza con el SDK de TypeScript que proporciona el proyecto. unsafe_moveCallEl uso del SDK puede ayudarte a proporcionar tipos y argumentos de funciones, lo que facilita el trabajo con las funciones Move sin tener que llamarlas. Puedes encontrar más información y recursos en la [documentación] de SUI TypeScript (https://sui-typescript-docs.vercel.app/typescript).
  2. ID y direcciones de objetos: para algunos parámetros, necesitará conocer los ID de objeto. Por ejemplo, si se trata de un quiosco, debe conocer el ID de objeto del quiosco. Del mismo modo, si eres KioskoWnerCap, necesitarás su ObjectID. El objeto Clock tiene un ObjectID fijo de 0x6.
  3. Tipos de argumentos paraunsafe_payMove: Al llamarunsafe_payMove, proporciona los argumentos necesarios en el tipo de argumentos, que incluye una lista de valores de JSON. Estos valores deben ser cadenas que representen los ID o las direcciones. Por ejemplo, «0x2: :sui: :SUI» representa una dirección. Si sigue estos pasos y comprende los parámetros y los ID de los objetos, puede crear los tx_bytes necesarios y ejecutar sus transacciones de Move Sui.
0
Comentarios
.
Steven.
Nov 16 2023, 13:38

El proceso que estás describiendo es generalmente correcto para ejecutar funciones de movimiento en la cadena de bloques Sui. Esta es una guía paso a paso sobre cómo puedes abordar este tema:

  1. Llamadasui_getNormalizedMoveFunction: esta función devuelve la forma normalizada de una función Move, que incluye el nombre, los parámetros y el tipo de devolución de la función. Puedes usar esta información para entender qué parámetros requiere la función.
  2. Genere los parámetros necesarios: los parámetros necesarios para la llamada a la función dependerán de la función en sí. En tu caso, estás intentando llamar a la función mint del 0xf5b55a91957b68f23107522abf96634a0d58ccad6ff9ecd6daf3eba8808b3dd9paquete Sui. Mencionaste que puedes recuperar MintApp y Clock a partir de otros ejemplos de transacciones. Para los demás parámetros (Coin, Kiosk, KioskoWnerCap y TransferPolicy <SuiFren >), puede que tengas que recuperarlos de la cadena de bloques de Sui o generarlos tú mismo.
  3. Prepara y firma la transacción de Sui: una vez que tengas todos los parámetros necesarios, puedes preparar la transacción. Esto implicará crear un bloque de transacciones que incluya la llamada a la función y sus parámetros. A continuación, tendrás que firmar este bloque de transacciones con tu clave privada.
  4. Envía la transacción usandosui_executeTransactionBlock: Finalmente, puedes enviar el bloque de transacción firmado a la cadena de bloques Sui usando la sui_executeTransactionBlockfunción.
0
Comentarios
.

Sabes la respuesta?

Inicie sesión y compártalo.

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

148Publicaciones231Respuestas
Sui.X.Peera.

Gana tu parte de 1000 Sui

Gana puntos de reputación y obtén recompensas por ayudar a crecer a la comunidad de Sui.

Campaña de RecompensasJulio