Anthony Chávez
ProfesorMe parece que Forc Wallet list cambio por forc-wallet accounts
Desplegar un smart contract en la blockchain de Fuel usando Sway requiere tres pasos clave: compilar el contrato, instalar y configurar Forc Wallet, y firmar la transacción de despliegue desde la terminal. Esta guía te muestra el flujo completo para que tu primer contrato quede vivo en la red de prueba beta.2.
¿Cómo compilar un contrato Sway antes de desplegarlo?
Antes de tocar la wallet, necesitas verificar que tu contrato compila sin errores. Este paso confirma que el código Sway es válido y que el bytecode está listo para subirse a la blockchain.
Abre una terminal nueva en VS Code y muévete al directorio correcto. Si tu carpeta raíz se llama sway-platzi, tu contrato vive en una subcarpeta como counter-contract. Usa estos comandos:
ls para listar los subdirectorios disponibles.cd counter-contract para entrar a la carpeta del contrato.forc build para compilar.Si todo sale bien, verás output en verde indicando que se compilaron tu contrato y las librerías core y std, junto con el tamaño del bytecode. Si aparece texto en rojo, ahí está la pista exacta de qué corregir [01:30].
¿Qué hace forc build? Compila tu contrato Sway y verifica que no tenga errores. Si todo está bien, genera el bytecode listo para desplegar; si hay errores, los muestra en rojo con la línea exacta.
¿Qué es Forc Wallet y cómo lo instalo?
Forc Wallet es la wallet de línea de comandos que necesitas para firmar transacciones y autorizar el despliegue de tu contrato en Fuel. Sin ella, no puedes darle una firma digital a la acción de subir tu código a la red.
Si ya instalaste Fuelup en su versión más reciente, probablemente ya tengas Forc Wallet. Verifícalo con:
forc-wallet --version
Si ves un número de versión, estás listo. Si no, agrégalo a tu toolchain personalizado (en este caso beta.2) con:
fuelup component add forc-wallet
El mensaje puede decir que ya existe en el toolchain, y eso está perfecto. Solo preocúpate si aparece un error real [03:45].
¿Cómo creo una cuenta de wallet desde la terminal?
Tener instalada la wallet no significa tener una cuenta. Hay dos comandos que ejecutas una sola vez:
forc-wallet init para inicializar la wallet en tu sistema.forc-wallet new para crear una nueva dirección Fuel.Esa dirección es la que firmará todas tus transacciones desde el CLI. Cada acción en blockchain necesita una firma digital que indique qué wallet la autorizó, así que sin cuenta no hay despliegue posible.
Para ver tus direcciones registradas:
forc-wallet list
Si solo creaste una cuenta, aparecerá una sola dirección. Es normal tener varias si manejas burner wallets o wallets de desarrollo separadas para pruebas [06:20].
¿Cómo firmar y desplegar el smart contract en Fuel?
El despliegue ocurre con un comando que apunta al endpoint de la red beta.2 de Fuel. Lo copias de la guía oficial y lo pegas en la terminal donde está tu contrato:
forc deploy --url <endpoint-beta-2>
Al ejecutarlo, la terminal te devuelve un contract ID y te pide la dirección de la wallet que firmará. Aquí viene la parte interesante: necesitas trabajar con dos terminales abiertas al mismo tiempo. Esto es algo que el equipo de Fuel está mejorando, pero por ahora es el flujo oficial.
forc deploy y queda esperando datos.forc-wallet list para copiar tu dirección y luego firma la transacción.Asegúrate de que ambas terminales estén dentro del directorio counter-contract.
¿Cómo se firma la transacción con forc-wallet sign?
Cuando pegas la dirección en la Terminal 1, recibes un transaction ID. Cópialo y ve a la Terminal 2 para firmarlo con la sintaxis correcta:
forc-wallet sign --id <transaction-id> --account-index 0
La bandera --account-index 0 indica que firmas con la wallet en posición cero. Si tuvieras varias wallets, cambiarías ese número según la dirección que quieras usar. Después te pedirá la contraseña que definiste al inicializar la wallet para desencriptar tu llave privada.
El comando devuelve una firma. Cópiala, pégala en la Terminal 1, y al cargar verás dos datos finales: el contract address y el bloque exacto donde quedó desplegado tu contrato [11:50].
¿Por qué uso account-index al firmar? Porque tu CLI puede tener varias wallets registradas. El índice le dice a forc-wallet exactamente cuál usar para firmar. La primera siempre es la cero.
¿Qué hacer cuando un comando falla en herramientas nuevas?
Durante este flujo es común toparte con un error de sintaxis, como cuando forc-wallet sign rechaza el formato viejo y exige las banderas --id y --account-index. Aquí está la lección que te llevas para toda tu carrera: lee el mensaje de error y aplícalo.
Las herramientas en blockchain cambian rápido. Lo que funcionaba ayer puede tener una sintaxis nueva hoy. Si después de leer el error sigues atascado, ve al foro de Fuel, publica todo el detalle posible y alguien te responderá en menos de 24 horas.
Una vez desplegado, comparte tu contract address añadiendo 0x al inicio. Déjala en los comentarios para que podamos revisar tu primer contrato vivo en Fuel. ¿Qué número de bloque te tocó?
didnt let me deploy,so i updated to beta-3 and used the syntax used in latest sway counter example contract:
https://fuellabs.github.io/sway/latest
ran
fuelup self update fuelup toolchain install beta-3 fuelup default beta-3 forc build forc deploy --node-url beta-3.fuel.network/graphql --gas-price 1 --random-salt
but this code may change, so i suggest to follow the link for the latest documentation and examples
Anthony Chávez
ProfesorMe parece que Forc Wallet list cambio por forc-wallet accounts
Nicolas Esteban Lizarazo Castillo
contract 67b9f8161443848c7b81551821fde1c17769b31853da5e961cc671c9543c6667 deployed in block 0xdf8b884786962bd0f10cce7d1cf2947f12a2ecffb76c80b8ea09f73e42b829c2
Nicolas Esteban Lizarazo Castillo
aqui docs de las networks:
https://fuelbook.fuel.network/master/networks/networks.html y hay varios example contracts:
https://fuellabs.github.io/sway/v0.33.1/book/examples/counter.html and here: https://fuelbook.fuel.network/master/for-developers/example-contracts.html