Publicación
Comparte tu conocimiento.
¿Cómo probar una función con un parámetro de recepción en Sui?
Estoy intentando probar la receive_object
función con un Receiving
parámetro en Sui según los documentos de este enlace. Inicialmente, creé una prueba usando el ejemplo, pero tengo problemas para hacer que el argumento enviado sea un Receiving
tipo. También intenté indicar el tipo de recepción, pero encontré errores. ¿Podría alguien guiarme para probar correctamente esta función?
- Move CLI
- Move
Respuestas
4Si aún tiene problemas para indicar el Receiving
tipo en sus pruebas, puede ser útil realizar una prueba con la CLI de SUI. Con la CLI, puede especificar fácilmente los argumentos de tipo mediante el --type-args
indicador, lo que podría simplificar su escenario de prueba.
En algunos escenarios de prueba, es posible que la transferencia de objetos directamente como compartidos no funcione según lo previsto, especialmente si se producen errores relacionados con los derechos de instanciación. Ajustar la forma en que se estructuran las transacciones para facilitar el intercambio de objetos inicialmente, antes de intentar la recepción pública, podría resolver estos problemas.
Es posible que primero tengas que estructurar la prueba de manera que transfiera el objeto al SharedObject
TransactionBlock que está utilizando. Receiving<T>
En un TransactionBlock posterior, puedes llamar a la función del módulo para aceptarla, es decir, a la función con. Este enfoque garantiza que el objeto se comparta primero de forma adecuada antes de intentar recibirlo.
Al transferir un objeto, usar el public_transfer
método es correcto si tiene la intención de ceder la propiedad total del objeto, incluso si no lo está transfiriendo específicamente a unSharedObject
. Ambos métodos se adaptan a diferentes casos de uso, así que asegúrate de usar el que se ajuste a tu objetivo.
Sabes la respuesta?
Inicie sesión y compártalo.