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:
NEXT_PUBLIC_REGISTRY_ADDRESSapunta a un contrato incorrecto- La wallet/RPC está en una red diferente al contrato
- 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érmino | Definición |
|---|---|
| Inscripción | Registro permanente de bytes en el contrato |
| inscriptionId | Identificador numérico incremental (desde 1) |
| Calldata | Datos enviados en la transacción (parámetro bytes) |
| Receipt | Comprobante de transacción confirmada (incluye txHash y logs) |
| L2 | Layer 2 — red secundaria sobre Ethereum con menor coste |
| RPC | Endpoint JSON-RPC para comunicarse con la blockchain |
| ABI | Application Binary Interface — descripción de funciones del contrato |
Soporte y contribución
- Documentación Robinhood Chain: docs.robinhood.com/chain
- Explorer: robinhoodchain.blockscout.com
- Código del proyecto: revisa
contracts/ylib/contract.tscomo fuente de verdad
Para reportar problemas, documenta:
- Red (mainnet/testnet)
- Dirección del contrato
- Tx hash (si aplica)
- Mensaje de error exacto
- Wallet utilizada