¿Qué es FeatherScript?
FeatherScript es un protocolo abierto y minimalista para registrar inscripciones permanentes en la blockchain. Está diseñado para Robinhood Chain, una L2 compatible con EVM construida sobre la pila Arbitrum Orbit.
Su principio rector es simple:
Una transacción = Una inscripción permanente.
No es un protocolo de NFTs, ni un estándar de tokens, ni un marketplace. Es una capa de almacenamiento inmutable donde cualquier persona puede escribir bytes arbitrarios que quedan registrados para siempre en la cadena.
Filosofía del protocolo
| Principio | Descripción |
|---|---|
| Simplicidad | Un solo contrato, dos funciones públicas, un evento |
| Neutralidad | El contrato no interpreta, valida ni modifica los datos |
| Permanencia | Los datos se almacenan en el storage del contrato |
| Apertura | Sin admin, sin allowlists, sin permisos especiales |
| Auditabilidad | ~60 líneas de Solidity, fácil de revisar |
Lo que FeatherScript sí hace
- Acepta cualquier payload en formato
bytes - Asigna un ID incremental único (
inscriptionId) - Registra el creador, timestamp y número de bloque
- Emite un evento indexable por ID y creador
- Permite consultar cualquier inscripción por su ID
Lo que FeatherScript no hace
- No emite NFTs ni tokens ERC-20
- No tiene roles de administrador ni funciones de pausa
- No valida formatos (JSON, texto, imágenes, etc.)
- No incluye marketplace ni lógica de trading
- No requiere un indexador obligatorio (aunque es recomendable para historial completo)
Casos de uso
- Mensajes permanentes — dedicatorias, manifiestos, citas
- Registro de hashes — prueba de existencia de un documento (hash o contenido)
- Arte on-chain — texto ASCII, poemas, código fuente pequeño
- Metadatos simples — JSON compacto asociado a una dirección
- Experimentos Web3 — base para futuros indexadores, exploradores o estándares
Datos de una inscripción
Cada inscripción contiene los siguientes campos:
| Campo | Origen | Almacenado on-chain |
|---|---|---|
inscriptionId | Contador incremental del contrato | Implícito (clave del mapping) |
creator | msg.sender de la transacción | Sí |
timestamp | block.timestamp | Sí |
blockNumber | block.number | Sí |
data | Parámetro bytes enviado por el usuario | Sí |
txHash | Hash de la transacción | No (limitación EVM) |
El hash de transacción no puede guardarse dentro de la misma transacción porque la EVM no expone un opcode
tx.hashdurante la ejecución. El frontend lo captura del receipt y lo muestra en la UI. Ver 09 — FAQ.
Stack tecnológico
| Capa | Tecnología |
|---|---|
| Smart contract | Solidity 0.8.24, Foundry |
| Frontend | Next.js 15, React 19, TypeScript |
| Estilos | Tailwind CSS 4 |
| Animaciones | Framer Motion |
| Blockchain | viem + wagmi |
| Red | Robinhood Chain (Chain ID 4663) |
Siguiente lectura
- 02 — Arquitectura — cómo interactúan las piezas
- 03 — Contrato inteligente — referencia técnica del contrato