Implemente un dapp en su devnet Arbitrum rollup
Primero, revisa el Integración de arbitrum, Implementar un arbitrum rollup devnet, y Implemente un contrato inteligente para su implementación de Arbitrum páginas.
Dependencias
una cuenta financiada para implementar su contrato inteligente
un Arbitrum rollup devnet corriendo
Configuración e implementación de contratos
Clonar el
gm-portal
desde Github y empezar la interfaz:bash
cd $HOME git clone https://github.com/jcstein/gm-portal.git cd gm-portal && git checkout arbitrum cd 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=0xb6b15c8cb491557369f3c7d2c287b053eb229daa9c22138887752191c9520659 export ARB_RPC_URL=http://localhost:8547
Cambiar 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 $ARB_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>
Interactúa con el contrato
¡A continuación, está listo para interactuar con el contrato desde su terminal!
Enviar un "gm" al contrato:
bash
cast send $CONTRACT_ADDRESS \ "gm(string)" "gm" \ --private-key $PRIVATE_KEY \ --rpc-url $ARB_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 $ARB_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 $ARB_RPC_URL
(Opcional) 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 $ARB_RPC_URL
PUNTA
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!

Last updated