FeatherScript

FeatherScript

chain::4663

Docs

07 / 09

Deployment

Deploy contract and frontend

Guía paso a paso para desplegar el contrato y publicar el frontend de FeatherScript.


1. Desplegar el contrato

Preparación

cd contracts
forge install foundry-rs/forge-std
forge build
forge test

Asegúrate de tener ETH en la wallet de despliegue (testnet o mainnet).

Testnet (recomendado primero)

export PRIVATE_KEY=0x...   # Linux/macOS
# En PowerShell: $env:PRIVATE_KEY="0x..."

forge script script/Deploy.s.sol \
  --rpc-url https://rpc.testnet.chain.robinhood.com \
  --broadcast \
  --private-key $PRIVATE_KEY

O con forge create:

forge create src/InscriptionRegistry.sol:InscriptionRegistry \
  --rpc-url https://rpc.testnet.chain.robinhood.com \
  --private-key $PRIVATE_KEY

Guarda la dirección del contrato que aparece en la salida:

Deployed to: 0xAbCdEf...

Mainnet

Mismo proceso, cambiando el RPC:

forge script script/Deploy.s.sol \
  --rpc-url https://rpc.mainnet.chain.robinhood.com \
  --broadcast \
  --private-key $PRIVATE_KEY

Usa una wallet dedicada para deploy. Nunca commitees private keys.

Verificar en Blockscout

forge verify-contract 0xTU_CONTRATO \
  src/InscriptionRegistry.sol:InscriptionRegistry \
  --chain-id 4663 \
  --watch

2. Configurar el frontend

En la raíz del proyecto, crea .env.local:

NEXT_PUBLIC_REGISTRY_ADDRESS=0xTuContratoDesplegado

Reinicia el servidor de desarrollo si estaba corriendo.


3. Probar end-to-end

  1. npm run dev
  2. Conecta wallet con ETH en la red correcta
  3. Cambia a Robinhood Chain (4663) si es necesario
  4. Inscribe un mensaje de prueba
  5. Verifica en Blockscout:
    • La transacción aparece
    • El evento Inscribed está en los logs
    • getInscription(1) retorna tus datos

4. Build de producción

npm run build

Si el build falla, revisa errores TypeScript antes de continuar.


5. Desplegar el frontend

Vercel (recomendado)

  1. Conecta el repositorio en vercel.com
  2. Framework preset: Next.js
  3. Añade variable de entorno:
    • NEXT_PUBLIC_REGISTRY_ADDRESS = dirección del contrato
  4. Deploy

Otras opciones

PlataformaNotas
NetlifySoporta Next.js con adaptador
Cloudflare PagesRequiere @cloudflare/next-on-pages
Dockernpm run build && npm run start en contenedor
VPSNode.js 18+, PM2 o systemd

Variables de entorno en producción

VariableEntornoObligatoria
NEXT_PUBLIC_REGISTRY_ADDRESSProduction

6. Checklist post-despliegue

  • Contrato desplegado y verificado en Blockscout
  • NEXT_PUBLIC_REGISTRY_ADDRESS configurado en producción
  • Wallet conecta correctamente
  • Switch network funciona para cadenas no-Robinhood
  • Inscripción de prueba confirmada on-chain
  • Historial muestra la inscripción
  • Modal de detalle muestra tx hash
  • Links del explorer funcionan
  • Logo y metadata OG cargan correctamente

7. Actualizar el contrato

El contrato no es upgradeable. Si necesitas cambios:

  1. Despliega una nueva instancia de InscriptionRegistry
  2. Actualiza NEXT_PUBLIC_REGISTRY_ADDRESS
  3. Las inscripciones del contrato anterior permanecen en su dirección original

Considera documentar la dirección histórica si hay inscripciones previas.


Siguiente lectura

← Back to AppInscribe On-Chain