Contenido del curso
Your first Sway project
Types and Standard Library
Writing your contract
- 8

Desarrollo de Contratos Inteligentes en Sway: Mercado Online Intermedio
16:08 min - 9

Implementación de funciones en contratos inteligentes Sway
09:49 min - 10

Implementación de la Función buyItem en Sway para Compra de Artículos
15:47 min - 11

Funciones de Propietario en Contratos Inteligentes Sway
09:06 min - 12

Función get_item en tu contrato Sway
02:20 min
Deploying your contract
Frontend
Despliega tu primer smart contract en Fuel
Resumen
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:
lspara listar los subdirectorios disponibles.cd counter-contractpara entrar a la carpeta del contrato.forc buildpara 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 initpara inicializar la wallet en tu sistema.forc-wallet newpara 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.
- Terminal 1: ejecuta
forc deployy queda esperando datos. - Terminal 2: ejecuta
forc-wallet listpara 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ó?