Despliega tu primer smart contract sin morir en el intento

Jonathan Nolasco
Coini
Published in
5 min readMar 9, 2023

Si eres un entusiasta de la tecnología blockchain y ya completaste tu curso básico de Solidity, seguro que estás emocionado por ponerte manos a la obra. Aquí te dejo algunos conceptos clave y hacks para desplegar tu primer smart contract y no morir en el intento.

Pre requisitos 🧵

Como lo mencioné al inicio, este post solo te será útil si ya tienes la teoría de Solidity, ya sea revisando la documentación oficial aquí o habiendo llevado alguno de los muchos cursos que hay disponibles en internet.

Otro requisito importante es tener claro cómo usar una wallet no custodiada, como puede ser Metamask. Esto implica entender cómo enviar y recibir tokens, así como cambiar de una red a otra.

Conceptos claves 🔑

Redes principales y redes de prueba

En blockchain existen las conocidas mainnet y testnet. Esto simplemente quiere decir que la mayoría de redes nos proveen un entorno de desarrollo o pruebas para experimentar con la tecnología antes de jugar con dinero real.

Por ejemplo, en la red de Ethereum, si queremos ver todos los movimientos o transacciones que suceden en la red principal o mainnet, podemos ir al siguiente enlace: https://etherscan.io/

En cambio, si queremos ir a la red de prueba o testnet, el enlace sería este: https://goerli.etherscan.io/

Otra red que me gusta mucho es Polygon. Si quieren ver el escaneo de la mainnet, pueden ir aquí: https://polygonscan.com/

Y si quieren ir a la testnet, pueden ir aquí: https://mumbai.polygonscan.com/

Non custodial Wallet

Es importante saber diferenciar una wallet no custodiada de una que sí lo está. La forma más sencilla es que las wallets no custodiadas te generan una frase semilla (llave privada) la primera vez que las creas, y esa será la única forma de tener acceso o de recuperar la wallet en otro dispositivo.

Algunas wallets, como Metamask, te dan la opción de generar una contraseña temporal para acceder recurrentemente a tu wallet en un dispositivo específico. Otras wallets te dan la opción de crear un PIN o usar tu huella o algún otro factor biométrico.

IDE de desarrollo

Los IDE son entornos que le ofrecen al desarrollador una herramienta con todas las opciones necesarias para escribir código sin preocuparse en realizar una configuración muy compleja.

Si tomaste un curso de Solidity, seguramente utilizaste alguna herramienta que permitía validar y compilar tu proyecto.

Existen varias herramientas que te permiten desarrollar y desplegar tu smart contract. La más popular es Remix, desarrollado por la misma Ethereum Foundation y que no necesitas que instales nada en tu computador dado que funciona 100% desde el navegador.

Hay herramientas más sofisticadas que puedes usar que te las dejo por aquí pero que de momento no necesitaremos.

Gas fee

Un término que seguramente has escuchado y que ahora tendrá más relevancia para ti es el gas fee. Este es el costo que se debe pagar por ejecutar una transacción en la red.

En redes menos populares u optimizadas, el gas fee suele ser ínfimo. Sin embargo, en redes muy populares y con mucho tráfico, suele ser muy variable e incluso absurdo.

Para saber el gas fee del momento puedes visitar este sitio: https://etherscan.io/gastracker

Hacks 🤓

Aquí te dejo algunos hacks que te ahorrarán valiosas horas o minutos en el proceso de compilación y despliegue de tu contrato.

Habilitar el modo desarrollo para usar Metamask en el navegador

Puedes trabajar 100% desde el navegador de tu preferencia pero para evitar inconvenientes debemos habilitar el modo desarrollo de Metamask como plugin o extensión.

Aquí te dejo un paso a paso.

  • En la sección de extensiones de tu navegador busca el ícono de Metamask y dale clic derecho.
  • Luego seleccionar :administrar extensión:
  • Luego asegúrate de activar el switch de developer mode

Elige una red con alta disponibilidad y con testnet estable

Como mencioné anteriormente, hay redes con mucho tráfico. Y si se trata de redes de prueba, también puede haber redes que sean inestables, es decir, que existan lapsos de tiempo donde no puedas realizar transacciones o simplemente no puedas visualizar y hacer uso de tu saldo.

He usado la testnet de Ethereum, BNB y Polygon. De las tres, la que me ha dado mayor estabilidad en testnet ha sido Polygon. En este caso, su red de pruebas se conoce como Mumbai.

Fondea tu wallet en testnet para que juegues cuanto quieras

En blockchain, el término faucet se refiere a un suministro de tokens de prueba, también conocidos como tokens ficticios o de prueba. Estos tokens suelen tener limitaciones de uso restringido por día, por lo que se deben utilizar con precaución.

Si vas a trabajar en la red de Mumbai de Polygon, lo primero que debes hacer es fondear tu wallet con el token nativo de la red (este se utiliza para pagar la tarifa de gas).

Aquí te dejo el enlace al faucet de Mumbai: https://faucet.polygon.technology/

Si deseas fondear tu wallet con un token ERC20 o una stablecoin como USDC, puedes utilizar este faucet: https://usdcfaucet.com/. A

segúrate de seleccionar la red de Polygon antes de completar el depósito.

Demo paso a paso 👨‍💻️

Listo, llegó el momento esperado.

Aquí te mostraré como realizar el despliegue de tu primer smart contract usando REMIX como IDE de desarrollo y usando la testnet de Polygon (Mumbai).

Aquí todos los enlaces que se mencionan en el video:

Remix IDE: https://remix.ethereum.org/

Polygon faucet: https://faucet.polygon.technology/

Mumbai scan: https://mumbai.polygonscan.com/

Recomendaciones y conclusiones

Blockchain es un campo super amplio y los términos, conceptos y herramientas son demasiados como para entenderlas al inicio, la sugerencia que doy y me ha funcionado es un paso a la vez, enfocate en los conceptos que menciono arriba, entiéndelos y si en el camino aparece algún término nuevo guárdalo en tu todo list pero no te mates.

Una recomendación súper valiosa que te puede ayudar a ser más productivo es tener un copilot como ChatGPT, puedes tener chatgpt abierto y preguntarle los términos que no entiendes y aún más preguntarle como desarrollar determinada acción en algún lenguaje como solidity, puedes pedirle ejemplos y explicaciones con contexto que serán de mucha ayuda.

Celebra tus victorias, si estás iniciando en este mundo de crypto, blockchain o web3 cada pequeño hito que logres vale la pena celebrarlo porque estás desarrollando sobre una tecnología que está en desarrollo y aún tiene mucho por evolucionar y ofrecer a la humanidad.

Recuerda que el mundo de blockchain está en constante evolución y siempre hay algo nuevo que aprender. Continúa explorando, haciendo preguntas y conectándote con otros desarrolladores, y estarás en el camino hacia el éxito en este emocionante campo.

Finalmente si este contenido te pareció interesante o valioso dale un like y no olvides compartir para ayudar a nuevos developers que se unen a esta comunidad.

--

--

Jonathan Nolasco
Coini
Editor for

Engineering Manager at Crehana, Software Developer, Blockchain Developer & Tech Entrepreneur