Publicación
Comparte tu conocimiento.

Hoja de trucos de Sui CLI, parte 2
Gas y grifo con Sui CLI
Cuando desarrolles tus aplicaciones, lo ideal es que comiences en devnet, luego pruebes en la red antes de implementarlas en la red principal.
Devnet y Testnet gas se pueden adquirir de forma gratuita. ¿Pero mainnet? No.
Puedes solicitar gas fácilmente en devnet con el client faucet
comando:
sui client faucet
Para testnet, necesitarás ejecutar este comando cURL para solicitar gas:
curl --location --request POST 'https://faucet.devnet.sui.io/v1/gas' \
--header 'Content-Type: application/json' \
--data-raw '{
"FixedAmountRequest": {
"recipient": "<YOUR SUI ADDRESS>"
}
}'
También puedes visitar el sitio web oficial de Sui faucet para reclamar algunos tokens de Devnet y Testnet.
Usa el comando client gas para comprobar los tokens de gas disponibles del cliente en el entorno actual.
sui client gas
Para las transacciones de la red principal, tendrás que adquirir Sui en las bolsas y depositar fondos en tu billetera.
Paquetes de publicación
Puede publicar paquetes en la red Sui con el comando client publish.
sui client publish [OPTIONS] [package_path]
Este es un comando de ejemplo para publicar un paquete con un presupuesto de gas de 5000000 MIST.
sui client publish --gas-budget 5000000
El presupuesto de gas no es fijo, lo más probable es que desees comprobar en cadena la cantidad de gas adecuada y pagarla por adelantado.
Gestión de monedas con la CLI de Sui
Cuando trabajes con monedas SUI, es probable que necesites fusionarlas y dividirlas con frecuencia, especialmente cuando hagas malabares con gasolina o envíes diferentes cantidades a varios contratos o usuarios.
Si tienes dos monedas por ahí y quieres consolidarlas, usa el comando merge-coin de la siguiente manera:
sui client merge-coin --primary-coin <COIN_ID> --coin-to-merge <COIN_ID>
La moneda principal es la que conservarás, y la moneda que se va a fusionar es la que se absorbe.
¿Necesitas dividir una moneda en su lugar? Tal vez quieras pagar a varios destinatarios o simplemente necesites diferentes denominaciones. Puedes cortar una moneda usando una moneda dividida de la siguiente manera:
sui client split-coin --coin-id <COIN_ID> --amounts <AMOUNTS>
Si necesitas enviar monedas, utilizarás el comando client transfer-sui de la siguiente manera:
sui client transfer-sui --sui-coin-object-id <COIN_ID> --to <ADDRESS>
Es una transferencia sencilla: le das el identificador de la moneda y la dirección del destinatario, y mueve los fondos.
Sui tiene transacciones programables para que puedas enviarlas a varios destinatarios a la vez con el comando pay-sui:
sui client pay-sui --input-coins <COIN_ID> --recipients <ADDRESS> --amounts <AMOUNTS>
Pasarás una moneda (o una lista de monedas) y, a continuación, especificarás los destinatarios y cuánto debe recibir cada uno. Es perfecto para pagos por lotes o para distribuir fichas de forma masiva.
Gestión de objetos con Sui CLI
En Sui todo gira en torno a los objetos. Los contratos, las fichas e incluso las monedas son todos objetos.
Para obtener información detallada sobre cualquier objeto, simplemente llama a:
sui client object <OBJECT_ID>
Esto mostrará todos los metadatos, la información del propietario y cualquier otra cosa que contenga el objeto.
Si tu objeto tiene campos dinámicos (como un registro o una estructura de datos en crecimiento), también puedes profundizar en ellos:
sui client dynamic-field <DYNAMIC_FIELD_ID>
Esta es una función muy útil que puede utilizar con frecuencia durante el desarrollo.
Bloques de transacciones programables (PTB)
Sui es una de las pocas cadenas con PTB nativos. Los bloques de transacciones programables permiten agrupar varias operaciones en una sola transacción, algo así como un miniscript que se ejecuta en cadena.
Supongamos que necesitas llamar a una función Move directamente desde tu CLI. Lo harás así:
sui client ptb --move-call <PACKAGE>::<MODULE>::<FUNCTION> "<TYPE>" <ARGS>
Sustituya la dirección del paquete, el nombre del módulo y la función a la que se dirige. A continuación, introduzca el tipo y los argumentos según sea necesario.
Y si quieres transferir varios objetos a otra cartera de una sola vez, también puedes usar los PTB:
sui client ptb --transfer-objects "[<OBJECT_ID>]" <ADDRESS>
Wrap the object IDs in brackets if you’re sending more than one, and finish it off with the recipient’s address.
Conclusión
Esperemos que este artículo sea suficiente para presentarle la herramienta CLI de Sui. Es más que un cliente, hay muchas cosas que puede hacer con esta herramienta.
Si alguna vez necesitas un repaso rápido o estás probando un nuevo comando, convierte la hoja de trucos de la CLI de Sui en tu mejor amiga. Y en caso de duda, los documentos de la CLI del cliente de Sui tienen el desglose completo.
- Sui
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Gana tu parte de 1000 Sui
Gana puntos de reputación y obtén recompensas por ayudar a crecer a la comunidad de Sui.

- ... SUIMeaning.Sui+22
- ... SUI0xduckmove+17
- ... SUIMoonBags+11
- ... SUIHaGiang+10
- ... SUI
- ... SUIAliabee+5
- ... SUIBekky+5
- ¿Por qué BCS requiere un orden de campo exacto para la deserialización cuando las estructuras Move tienen campos con nombre?53
- «Errores de verificación de múltiples fuentes» en las publicaciones del módulo Sui Move: resolución automática de errores43
- Fallo en la transacción Sui: objetos reservados para otra transacción25
- ¿Cómo interactúan las restricciones de capacidad con los campos dinámicos en colecciones heterogéneas?05