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 devEn 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/httpAhora, 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_URLAhora 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_URLA 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_URLPara 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_URLSi 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.tsxa su dirección de contratoCombina la información de la cadena en
gm-portal/frontend/src/main.tsxcon la configuración de cadena de su L2Si cambió el contrato, actualice el ABI en
gm-portal/frontend/GmPortal.jsondegm-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/frontendInteractú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