El 50% de una aplicación descentralizada ocurre en la blockchain, el otro 50% en el front-end que se conecta con el smart contract. Luego de haber desplegado el contrato en Arbitrum, es momento de comunicarnos con el mismo a través de una aplicación web3.
Conexión web3 con una blockchain de segunda capa
La conexión a un contrato inteligente desplegado en una segunda capa es prácticamente igual que conectarse directamente a la blockchain de Ethereum. Dependencias como Web3.js siguen siendo muy útiles para lograr esta comunicación.
Si no tienes experiencia en desarrollo de aplicaciones descentralizadas, el Curso de Dapps: Introducción al Desarrollo de Aplicaciones Descentralizadas te dará todo el conocimiento que necesitas para lograrlo.
Además de instalar las dependencias necesarias y disponer de una wallet Phantom con fondos, la conexión con la red requerirá que localicemos el identificador de la misma. Las blockchains basadas en EVM son identificadas por un número, sean redes de prueba o productivas. Para el caso de la Testnet de Arbitrum en Goerli, el identificador en cuestión es 421611
.
Al desplegar un contrato en la blockchain, este poseerá una dirección totalmente única para localizarlo. Podrás obtener esta información desde Remix o desde el framework que desees utilizar para desplegar contratos, por ejemplo: HardHat.
Un contrato escrito en Solidity es posteriormente compilado y el mismo tendrá un JSON ABI que lo represente. Dicho JSON es muy importante en el front-end para lograr comunicarnos con el contrato, con este sabremos qué métodos podemos llamar del contrato y qué parámetros recibe..
Una vez tengas todas las piezas, el identificador de la red, la dirección del contrato obtenida luego de desplegarlo y el ABI, podrás realizar la conexión con el smart contract y Metamask, como si de una blockchain de Capa 1 se tratase.
Sin importar qué tecnologÃa front-end utilices, sea React, Angular, Vue o Javascript Vanilla. Con esta información, cualquier cliente web3 que desarrolles te permitirá comunicarte con el contrato, ejecutar sus métodos pagando las comisiones pertinentes u obtener información del estado del contrato.
Contribución creada por: Kevin Fiorentino.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?