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

Configuración e implementación de contratos

  1. 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
  2. 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
  3. 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
  4. 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!

  1. Enviar un "gm" al contrato:

    bash

    cast send $CONTRACT_ADDRESS \
    "gm(string)" "gm" \
    --private-key $PRIVATE_KEY \
    --rpc-url $ARB_RPC_URL
  2. 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
  3. 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
  4. (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:

  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!

Last updated