FeatherScript

FeatherScript

chain::4663

Docs

09 / 09

FAQ

Common questions and troubleshooting


Preguntas frecuentes

¿FeatherScript es un NFT o token?

No. No emite activos transferibles. Solo almacena bytes en un contrato con un ID numérico incremental.

¿Puedo borrar una inscripción?

No. Una vez confirmada en la blockchain, es permanente e inmutable. No hay función de eliminación.

¿Hay límite de tamaño en el contrato?

No hay límite explícito en Solidity, pero el tamaño está acotado por:

  • Límite de gas por bloque
  • Coste de calldata (16 gas/byte no-cero)
  • Límite práctico del cliente RPC

El frontend limita archivos a 24 KB por UX y coste razonable.

¿Por qué no se guarda el tx hash on-chain?

La EVM no proporciona el hash de la transacción actual durante su ejecución. El hash se calcula después de incluir la tx en un bloque. Alternativas como una segunda transacción violarían el principio "una tx = una inscripción".

Solución: el frontend captura receipt.transactionHash y los indexadores lo asocian al inscriptionId desde los logs.

¿Los datos son privados?

No. Todo lo inscrito es público — visible en el contrato, explorer y cualquier nodo RPC.

¿Necesito un indexador?

No es obligatorio. Puedes leer inscripciones directamente con getInscription(id). Un indexador mejora:

  • Búsqueda por creador
  • Historial paginado
  • Asociación ID ↔ txHash
  • APIs de terceros

¿Funciona con Robinhood Wallet?

Sí. Robinhood Wallet soporta Robinhood Chain nativamente. También funciona con MetaMask, Rabby, Coinbase Wallet y cualquier wallet EVM con injected provider.

¿Puedo inscribir en testnet y mainnet?

Sí, pero son contratos independientes en redes separadas. Despliega una instancia por red.

¿El contrato es upgradeable?

No. Es un contrato simple sin proxy. Para cambios, despliega una nueva instancia.

¿Cuánto cuesta inscribir?

Depende del tamaño de los datos y el gas price de Robinhood Chain. En L2, inscripciones de texto corto suelen costar una fracción mínima de ETH.


Troubleshooting

"Connect your wallet first"

Causa: No hay wallet conectada.
Solución: Clic en "Connect Wallet" y aprueba la conexión en tu extensión.


"Switch to Robinhood Chain (4663)"

Causa: La wallet está en otra red (Ethereum, Polygon, etc.).
Solución: Clic en "Switch Network" o añade Robinhood Chain manualmente. Ver 05 — Robinhood Chain.


"Contract not deployed yet"

Causa: NEXT_PUBLIC_REGISTRY_ADDRESS no está configurado.
Solución:

# .env.local
NEXT_PUBLIC_REGISTRY_ADDRESS=0xTuDireccion

Reinicia npm run dev tras guardar.


Transacción revertida / "insufficient funds"

Causa: Sin ETH suficiente para gas.
Solución: Obtén ETH en Robinhood Chain (bridge o faucet en testnet).


"User rejected the request"

Causa: El usuario canceló la firma en la wallet.
Solución: Reintenta y aprueba la transacción.


El historial está vacío pero hay inscripciones

Posibles causas:

  1. NEXT_PUBLIC_REGISTRY_ADDRESS apunta a un contrato incorrecto
  2. La wallet/RPC está en una red diferente al contrato
  3. Error temporal del RPC público

Solución:

  • Verifica la dirección del contrato en Blockscout
  • Comprueba inscriptionCount() con cast:
    cast call $CONTRACT "inscriptionCount()(uint256)" --rpc-url https://rpc.mainnet.chain.robinhood.com
    
  • Usa un RPC dedicado (Alchemy, QuickNode)

Build falla con errores de TypeScript

Solución:

npm run build

Lee el archivo y línea del error. Errores comunes:

  • Tipos de wagmi/viem — asegúrate de usar las versiones del package.json
  • Imports incorrectos — verifica paths @/

Warnings de @metamask/sdk o pino-pretty en build

Son warnings de dependencias transitivas de wagmi. No bloquean el build si la compilación termina con ✓ Compiled successfully.


forge no encontrado

Causa: Foundry no instalado.
Solución:

curl -L https://foundry.paradigm.xyz | bash
foundryup

En Windows, instala via WSL o binarios de Foundry.


Los datos se muestran como hex en lugar de texto

Causa: Los bytes no son UTF-8 imprimible (archivo binario o encoding distinto).
Comportamiento esperado: bytesToDisplayText() muestra hex cuando el contenido no es texto legible.


Glosario

TérminoDefinición
InscripciónRegistro permanente de bytes en el contrato
inscriptionIdIdentificador numérico incremental (desde 1)
CalldataDatos enviados en la transacción (parámetro bytes)
ReceiptComprobante de transacción confirmada (incluye txHash y logs)
L2Layer 2 — red secundaria sobre Ethereum con menor coste
RPCEndpoint JSON-RPC para comunicarse con la blockchain
ABIApplication Binary Interface — descripción de funciones del contrato

Soporte y contribución

Para reportar problemas, documenta:

  1. Red (mainnet/testnet)
  2. Dirección del contrato
  3. Tx hash (si aplica)
  4. Mensaje de error exacto
  5. Wallet utilizada
← Back to AppInscribe On-Chain