Implemente un dapp en Bubs testnet

Primero, revisa el Página de testnet de bubs y el Implemente un contrato inteligente en Bubs testnet tutorial.

Necesitará una cuenta financiada para implementar su contrato inteligente.

A continuación, clone el gm-portal desde Github y empezar la interfaz:

bash

cd $HOME
git clone https://github.com/jcstein/gm-portal.git
cd gm-portal/frontend
yarn && yarn dev

En una nueva instancia de terminal, establezca su clave privada para el grifo como variable y la URL de RPC que está utilizando:

bash

export PRIVATE_KEY=ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
export BUBS_RPC_URL=https://bubs.calderachain.xyz/http

Ahora, cambia al gm-portal/contracts directorio en el mismo terminal e implementar el contrato usando Foundry:

bash

cd $HOME/gm-portal/contracts
forge script script/GmPortal.s.sol:GmPortalScript --rpc-url $BUBS_RPC_URL --private-key $PRIVATE_KEY --broadcast
contrato de GM

En la salida de la implementación, busque la dirección del contrato y configúrela como una variable:

bash

export CONTRACT_ADDRESS=<your-contract-address-from-the-output-above>

¡A continuación, está listo para interactuar con el contrato desde su terminal!

Primero, envíe un "gm" al contrato:

bash

cast send $CONTRACT_ADDRESS \
"gm(string)" "gm" \
--private-key $PRIVATE_KEY \
--rpc-url $BUBS_RPC_URL

Ahora que ha publicado en el contrato, puede leer todos los "gms" (GM) del contrato con este comando:

bash

cast call $CONTRACT_ADDRESS "getAllGms()" --rpc-url $BUBS_RPC_URL

A continuación, consulte el número total de gms, que se devolverá como un valor hexadecimal:

bash

cast call $CONTRACT_ADDRESS "getTotalGms()" --rpc-url $BUBS_RPC_URL

Para interactuar con el contrato en la interfaz, deberá financiar una cuenta que tenga en su billetera Ethereum. Transferencia a una cuenta externa con este comando:

bash

export RECEIVER=<receiver ETH address>
cast send --private-key $PRIVATE_KEY $RECEIVER --value 1ether --rpc-url $BUBS_RPC_URL

Si se encuentra en un terminal diferente al que establece la clave privada, es posible que deba configurarlo nuevamente.

Actualizar el frontend

A continuación, deberá actualizar algunas cosas antes de poder interactuar con el contrato en la interfaz:

  1. Cambie la dirección del contrato en gm-portal/frontend/src/App.tsx a su dirección de contrato

  2. Combina la información de la cadena en gm-portal/frontend/src/main.tsx con la configuración de cadena de su L2

  3. Si cambió el contrato, actualice el ABI en gm-portal/frontend/GmPortal.json de gm-portal/contracts/out/GmPortal.sol/GmPortal.json. Esto se puede hacer con:

bash

cd $HOME
cp dev/gm-portal/contracts/out/GmPortal.sol/GmPortal.json dev/gm-portal/frontend

Interactúa con la interfaz

¡Ahora, inicie sesión con su billetera que financió y publique un GM en su portal de GM!

gm-bubs

Próximos pasos

Hay muchas posibilidades de lo que se podría construir con esta pila. Estos proyectos serían buenos para construir en esta pila:

  • juegos en cadena

  • redes sociales descentralizadas

  • un despliegue de tickets de NFT

  • Optimismo en CelOPstia

  • OP Craft en Celestia

Last updated