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

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:
Cambie la dirección del contrato en
gm-portal/frontend/src/App.tsx
a su dirección de contratoCombina la información de la cadena en
gm-portal/frontend/src/main.tsx
con la configuración de cadena de su L2Si cambió el contrato, actualice el ABI en
gm-portal/frontend/GmPortal.json
degm-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!

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