docs(readme): un README para cada crate y el estado real de los contratos

David, 3-nov-2026, tras la primera auditoría de fuera (Mathi, f9c3664a): poner al día los
README de todos los crates y repositorios. La plantilla de la casa está en
docs/ORIGIN_README_PARA_PERSONAS_V1.md del monorepo, y el inventario le daba a Charon 11
crates sin README y 5 de contratos de mayo.

- Los 11 crates tienen ya su README en la forma corta: qué es, su estado con dónde
  comprobarlo, lo que no hace todavía, sus pruebas medidas hoy (cargo test -p, que suman
  365 en ba5d1d8) y quién lo cuida. Una línea en inglés en cada uno.
- Tres crates son esqueletos que el runtime no usa (bridges, consensus, tokenomics), y su
  README lo dice y señala dónde vive lo real.
- Los contratos de ink! llevan arriba su estado verdadero. Compilaban y pasaban sus pruebas
  como crates de Rust en junio (6663dbd), pero nunca se han construido con cargo-contract ni
  desplegado. En el de NFT, además, lo que ya no vale: el 91/9, la regalía del 5 % y la quema,
  sustituidos el 2-nov por el 6 % para la LLC y el 3 % para el tesoro común.
- El README del repositorio corrige esa misma frase: decía que nunca se habían compilado.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
CharonandClaude Opus 5.5 committed 2026-11-03 18:05:55 -05:00
1 parent ba5d1d8e85
commit 6910f52b1e
18 files changed
+382 -1

No files matched your search

@@ -0,0 +1,33 @@
# Identidad de personas y agentes de IA · `origin-chain-agent-identity`
**Un DID en la cadena para cada persona o agente de IA, derivado de su llave, con rotación de llave para no perder la identidad si se pierde la llave.**
*In English:* DIDs for humans and AI agents, derived from the public key (BLAKE3), with key rotation and rejection of weak (small-order) Ed25519 keys.
## En qué estado está hoy
| | Estado | Dónde comprobarlo |
|---|---|---|
| `register_agent_did`: registra un DID con prueba de control de la llave | Hecho | `src/lib.rs`, `tests_integration.rs` |
| `rotate_agent_key`: cambia la llave sin cambiar el DID (spec 14) | Hecho | `src/lib.rs` |
| Rechaza llaves débiles (de orden pequeño), al registrar y al rotar; y al rotar, una firma hecha para otra cadena (el mensaje lleva el génesis) | Hecho (spec 15-16) | `is_strong_ed25519_key`, `AGENT_KEY_ROTATE_DOMAIN` |
| Consulta por RPC: `AgentIdentityApi.query_identity` | Hecho | `crates/origin-chain-runtime` |
## Lo que no hace todavía
- La web de Origin todavía no registra las llaves que crea: hoy la llave vive en el dispositivo y no queda en ninguna cadena pública (no hay mainnet).
- No guarda datos personales ni de menores, y no los guardará: la tutela vive fuera de la cadena.
## Compruébalo tú · Verify it yourself
```sh
cargo test -p origin-chain-agent-identity # 45 pasan, 0 fallan · medido el 3-nov-2026 en `ba5d1d8`
```
## Quién lo cuida
Charon ⚓, una agente de IA (Claude, de Anthropic), bajo la dirección de David Herran, fundador de Origin Metaverse. Ver el [README del repositorio](../../README.md).
## Licencia
MIT OR Apache-2.0.
+30
View File
@@ -0,0 +1,30 @@
# Puentes a otras cadenas (esqueleto) · `origin-chain-bridges`
**Un esqueleto reservado para los puentes hacia otras cadenas. Todavía no hay ningún puente.**
*In English:* Placeholder crate for future outbound bridges. No bridge exists yet.
## En qué estado está hoy
| | Estado | Dónde comprobarlo |
|---|---|---|
| Es un esqueleto: define el sitio, no la lógica | Esqueleto | `src/lib.rs` |
| Un puente real hacia otra cadena | **Todavía no hay ninguno** | — |
## Lo que no hace todavía
- Casi todo: este crate es un marcador de sitio y no lo usa el runtime.
## Compruébalo tú · Verify it yourself
```sh
cargo test -p origin-chain-bridges # 1 pasa, 0 fallan · medido el 3-nov-2026 en `ba5d1d8`
```
## Quién lo cuida
Charon ⚓, una agente de IA (Claude, de Anthropic), bajo la dirección de David Herran, fundador de Origin Metaverse. Ver el [README del repositorio](../../README.md).
## Licencia
MIT OR Apache-2.0.
+30
View File
@@ -0,0 +1,30 @@
# Consenso (esqueleto) · `origin-chain-consensus`
**Un esqueleto reservado para el consenso. El consenso real (Aura + GRANDPA) vive en el runtime y en el nodo.**
*In English:* Placeholder crate. Real consensus (Aura + GRANDPA) is wired in the runtime and the node.
## En qué estado está hoy
| | Estado | Dónde comprobarlo |
|---|---|---|
| Es un esqueleto: define el sitio, no la lógica | Esqueleto | `src/lib.rs` |
| Lo real vive en `crates/origin-chain-runtime/src/configs.rs` y `crates/origin-chain-node` | Hecho allí | `crates/origin-chain-runtime/src/configs.rs` y `crates/origin-chain-node` |
## Lo que no hace todavía
- Casi todo: este crate es un marcador de sitio y no lo usa el runtime.
## Compruébalo tú · Verify it yourself
```sh
cargo test -p origin-chain-consensus # 1 pasa, 0 fallan · medido el 3-nov-2026 en `ba5d1d8`
```
## Quién lo cuida
Charon ⚓, una agente de IA (Claude, de Anthropic), bajo la dirección de David Herran, fundador de Origin Metaverse. Ver el [README del repositorio](../../README.md).
## Licencia
MIT OR Apache-2.0.
+32
View File
@@ -0,0 +1,32 @@
# Recompensas a validadores · `origin-chain-emission`
**Paga a los validadores en cada bloque desde un fondo ya creado de 400 millones de OGC, sin crear moneda nueva.**
*In English:* Validator rewards released from a finite, pre-minted 400M OGC pool (never minted): 10 OGC per block, 70 % to the author, 20 % to the treasury, 10 % to the hardware subsidy pool.
## En qué estado está hoy
| | Estado | Dónde comprobarlo |
|---|---|---|
| 10 OGC por bloque: 70 % al validador que lo produce, 20 % al tesoro y 10 % al fondo de subsidio | Hecho | `crates/origin-chain-runtime/src/configs.rs` |
| Sale del fondo og/ecosy por transferencia, nunca por acuñación: la emisión total no crece | Hecho | `src/lib.rs`, test del génesis |
| Al ritmo de 10 OGC por bloque, el fondo se agota en unos 7,6 años | Calculado | `src/lib.rs` |
| `set_emission_paused`: un interruptor de emergencia que sólo puede accionar Root | Hecho | `src/lib.rs` |
## Lo que no hace todavía
- Mientras no haya mainnet, estas recompensas son de la testnet y no tienen valor.
## Compruébalo tú · Verify it yourself
```sh
cargo test -p origin-chain-emission # 15 pasan, 0 fallan · medido el 3-nov-2026 en `ba5d1d8`
```
## Quién lo cuida
Charon ⚓, una agente de IA (Claude, de Anthropic), bajo la dirección de David Herran, fundador de Origin Metaverse. Ver el [README del repositorio](../../README.md).
## Licencia
MIT OR Apache-2.0.
+31
View File
@@ -0,0 +1,31 @@
# Comisiones · `origin-chain-fees`
**Calcula lo que cuesta cada acción en Origin según el tipo de acción y el nivel del hardware de quien la hace, con un subsidio para el hardware más modesto.**
*In English:* Fees per action type and hardware tier, with a subsidy for low-end hardware; queryable through a runtime API.
## En qué estado está hoy
| | Estado | Dónde comprobarlo |
|---|---|---|
| `compute_fee_for_action` y la consulta `FeesApi.query_fee_for_action` | Hecho | `src/lib.rs`, `crates/origin-chain-runtime` |
| `set_tier_profile`: el perfil de hardware de una cuenta (lo fija Root) | Hecho | `src/lib.rs` |
| La matriz de subsidio por nivel de hardware | Hecho y probado | `tests_integration.rs` |
## Lo que no hace todavía
- Las cifras son las del diseño, no las de un mercado: no hay mainnet ni precio del OGC.
## Compruébalo tú · Verify it yourself
```sh
cargo test -p origin-chain-fees # 52 pasan, 0 fallan · medido el 3-nov-2026 en `ba5d1d8`
```
## Quién lo cuida
Charon ⚓, una agente de IA (Claude, de Anthropic), bajo la dirección de David Herran, fundador de Origin Metaverse. Ver el [README del repositorio](../../README.md).
## Licencia
MIT OR Apache-2.0.
+38
View File
@@ -0,0 +1,38 @@
# El gobierno de la cadena · `origin-chain-governance`
**Propuestas, votos respaldados por saldo, quórum, consejo con veto, reversión por la comunidad y un tesoro que sólo paga lo que se votó.**
*In English:* On-chain governance pallet: proposals with a refundable bond, balance-backed votes, quorum, council veto, community override and a treasury that pays only what the proposal fixed.
## En qué estado está hoy
| | Estado | Dónde comprobarlo |
|---|---|---|
| 17 llamadas: proponer (`submit_proposal`, `submit_treasury_proposal`, `submit_emergency_proposal`), votar (`cast_vote`, `unlock_vote_funds`), decidir (`finalize_proposal`), consejo (`add/remove_council_member`, `veto_proposal`, `endorse_emergency_proposal`), revertir un veto (`override_council_veto`, `uphold_council_veto`, `finalize_override`), asesores de IA que no votan (`mark/unmark_as_advisor`) y tesoro (`treasury_deposit`, `treasury_disbursement`) | En el runtime de la testnet de la casa (índice 10) | `src/lib.rs` |
| Proponer deja un depósito de 1.000 OGC, que se devuelve al decidir | Hecho | `MIN_PROPOSAL_STAKE`, `release_proposal_bond` |
| El voto dura al menos 14 días y pesa el OGC que lo respalda, congelado mientras vota | Hecho | `MIN_VOTING_PERIOD_BLOCKS`, `apply_vote_freeze` |
| Para aprobar: más Sí que No y un quórum de Sí del 10 % de lo que puede votar, fijado al crear la propuesta | Hecho (spec 19) | `VoteQuorumOf`, `tests_integration.rs` |
| El consejo veta con 2/3 de sus miembros; la comunidad revierte con 4/5 de quien participa; vetar nunca abarata una aprobación | Hecho (spec 16 y 18) | `council_veto_threshold`, `finalize_override` |
| El tesoro paga sólo el destinatario y el monto fijados al crear la propuesta, una sola vez | Hecho (spec 18) | `TreasuryActions`, `Disbursed` |
| Lo que cobra cada llamada, medido en la Raspberry Pi 5 de referencia | Certificado | `src/weights.rs` y `scripts/bench/certificados/` |
## Lo que no hace todavía
- Dos tercios para pagar del tesoro: está escrito y probado, pero todavía no está en `main` (spec 21, en revisión de pesos).
- El pago de una propuesta aprobada todavía lo ejecuta la llave de transición (sudo). Retirarla es condición de la mainnet.
- Revertir el veto de una propuesta ORDINARIA no cuenta todavía lo que se votó para sostenerlo: está anotado como hueco abierto.
- No hay interfaz web para votar: será la web de la Fundación (originmetaverse.org).
## Compruébalo tú · Verify it yourself
```sh
cargo test -p origin-chain-governance # 89 pasan, 0 fallan · medido el 3-nov-2026 en `ba5d1d8`
```
## Quién lo cuida
Charon ⚓, una agente de IA (Claude, de Anthropic), bajo la dirección de David Herran, fundador de Origin Metaverse. Ver el [README del repositorio](../../README.md).
## Licencia
MIT OR Apache-2.0.
+34
View File
@@ -0,0 +1,34 @@
# El nodo de Origin Chain · `origin-chain-node`
**El programa que corre una máquina para producir, recibir y servir bloques de Origin Chain.**
*In English:* The node binary: CLI, service, RPC and chain-spec presets. Runs on a Raspberry Pi 5 (aarch64) in the house testnet.
## En qué estado está hoy
| | Estado | Dónde comprobarlo |
|---|---|---|
| CLI con los presets `development`, `local_testnet` y `mainnet_genesis`; la testnet de la casa arranca de su propio chain spec, fijado | Hecho | `src/chain_spec.rs` |
| Produce y finaliza bloques: Aura + GRANDPA, un bloque cada 6 s | Hecho desde el 23-sep-2026 | `./target/release/origin-chain-node --dev --tmp` |
| Corre en una Raspberry Pi 5 (aarch64), sin root | Hecho desde el 24-oct-2026 | `scripts/rp1/` |
**Para compilarlo con el WASM real:** `cargo build --release -p origin-chain-node --features wasm-build` (ver el README del repositorio).
## Lo que no hace todavía
- La testnet de la casa no es pública.
- No hay todavía una imagen lista para que otra persona levante un validador: falta el cambio del runtime que permite sumar validadores.
## Compruébalo tú · Verify it yourself
```sh
cargo test -p origin-chain-node # 11 pasan, 0 fallan · medido el 3-nov-2026 en `ba5d1d8`
```
## Quién lo cuida
Charon ⚓, una agente de IA (Claude, de Anthropic), bajo la dirección de David Herran, fundador de Origin Metaverse. Ver el [README del repositorio](../../README.md).
## Licencia
MIT OR Apache-2.0.
+32
View File
@@ -0,0 +1,32 @@
# Procedencia de las obras · `origin-chain-provenance`
**Registra quién creó una obra: su huella (hash), su creador, su firma Ed25519 y el bloque en que quedó anotada.**
*In English:* Asset provenance: content hash, creator, Ed25519 signature and block, attested by registered attestors and verifiable through a runtime API.
## En qué estado está hoy
| | Estado | Dónde comprobarlo |
|---|---|---|
| `attest_asset`: anota una obra con su firma, verificada en la cadena | Hecho | `src/lib.rs`, `tests_integration.rs` |
| `register_validator` / `revoke_validator`: quién puede atestiguar (lo decide Root) | Hecho | `src/lib.rs` |
| Consulta por RPC: `verify_provenance` | Hecho | `crates/origin-chain-runtime` |
## Lo que no hace todavía
- No guarda los ficheros: sólo su huella. Los ficheros viajan por la red P2P de Origin.
- No es todavía el Store ni un NFT: la pallet de obras con copias, propiedad y comisión está en diseño.
## Compruébalo tú · Verify it yourself
```sh
cargo test -p origin-chain-provenance # 20 pasan, 0 fallan · medido el 3-nov-2026 en `ba5d1d8`
```
## Quién lo cuida
Charon ⚓, una agente de IA (Claude, de Anthropic), bajo la dirección de David Herran, fundador de Origin Metaverse. Ver el [README del repositorio](../../README.md).
## Licencia
MIT OR Apache-2.0.
+36
View File
@@ -0,0 +1,36 @@
# El runtime de Origin Chain · `origin-chain-runtime`
**Compone los pallets de la cadena, fija sus parámetros y produce el WASM que ejecutan los nodos.**
*In English:* The runtime: composes FRAME and custom pallets, sets their parameters, exposes the runtime APIs and builds the WASM blob. Current spec_version 20.
## En qué estado está hoy
| | Estado | Dónde comprobarlo |
|---|---|---|
| `spec_version` 20, en vivo en la testnet de la casa desde el bloque 81 022 (2-nov-2026) | Hecho | `RUNTIME_VERSION` y su historia en `src/lib.rs` |
| Pallets: System, Timestamp, Balances, TransactionPayment, Aura, Grandpa, Session, Provenance, Fees, AgentIdentity, Governance, Revive, Sudo, Emission y Staking (dormido) | Hecho | `src/lib.rs` |
| Génesis de la testnet y de la mainnet (1.000 millones de OGC) | En el código | `src/genesis_config_presets.rs` |
| `examples/firmar_como_wallet.rs`: firma y envía como un wallet, para las pruebas E2E | Hecho | `scripts/e2e/` |
**Para construir el WASM real** hace falta `--features wasm-build` y `WASM_BUILD_STD=0` con el clang y el llvm-ar de LLVM (ver el README del repositorio). Sin esa feature, el build.rs no hace nada a propósito.
## Lo que no hace todavía
- El WASM no sale idéntico en dos máquinas distintas: la testnet fija su génesis por eso.
- Staking está cableado pero dormido: el conjunto de validadores es fijo (`SessionManager = ()`). Sumar validadores exige un cambio del runtime.
- Sudo, la llave de transición, sigue en la testnet.
## Compruébalo tú · Verify it yourself
```sh
cargo test -p origin-chain-runtime # 50 pasan, 0 fallan · medido el 3-nov-2026 en `ba5d1d8`
```
## Quién lo cuida
Charon ⚓, una agente de IA (Claude, de Anthropic), bajo la dirección de David Herran, fundador de Origin Metaverse. Ver el [README del repositorio](../../README.md).
## Licencia
MIT OR Apache-2.0.
+30
View File
@@ -0,0 +1,30 @@
# Tipos y contratos comunes · `origin-chain-types`
**Los tipos y las interfaces (traits) que comparten la cadena y el resto de Origin: cuentas, huellas, identidad, comisiones y gobierno. Compila sin la biblioteca estándar (no_std).**
*In English:* Shared types and traits (no_std) used by the pallets and by other Origin crates: accounts, asset hashes, identity, fees, governance stances.
## En qué estado está hoy
| | Estado | Dónde comprobarlo |
|---|---|---|
| Tipos y traits de cuentas, huellas, identidad, comisiones y gobierno | Hecho | `src/` |
| Compila en no_std: entra en el WASM del runtime | Hecho | el build del WASM (`--features wasm-build`, ver el README del repositorio) |
## Lo que no hace todavía
- No contiene lógica de la cadena: la lógica vive en cada pallet.
## Compruébalo tú · Verify it yourself
```sh
cargo test -p origin-chain-types # 79 pasan, 0 fallan · medido el 3-nov-2026 en `ba5d1d8`
```
## Quién lo cuida
Charon ⚓, una agente de IA (Claude, de Anthropic), bajo la dirección de David Herran, fundador de Origin Metaverse. Ver el [README del repositorio](../../README.md).
## Licencia
MIT OR Apache-2.0.
+30
View File
@@ -0,0 +1,30 @@
# La moneda OGC (esqueleto) · `origin-coin-tokenomics`
**Un esqueleto de mayo de 2026. La moneda real vive en el runtime: el génesis, las comisiones y las recompensas.**
*In English:* Placeholder crate from May 2026. The real OGC economics live in the runtime genesis, the fees pallet and the emission pallet.
## En qué estado está hoy
| | Estado | Dónde comprobarlo |
|---|---|---|
| Es un esqueleto: define el sitio, no la lógica | Esqueleto | `src/lib.rs` |
| Lo real vive en `crates/origin-chain-runtime/src/genesis_config_presets.rs`, `crates/origin-chain-fees` y `crates/origin-chain-emission` | Hecho allí | `crates/origin-chain-runtime/src/genesis_config_presets.rs`, `crates/origin-chain-fees` y `crates/origin-chain-emission` |
## Lo que no hace todavía
- Casi todo: este crate es un marcador de sitio y no lo usa el runtime.
## Compruébalo tú · Verify it yourself
```sh
cargo test -p origin-coin-tokenomics # 2 pasan, 0 fallan · medido el 3-nov-2026 en `ba5d1d8`
```
## Quién lo cuida
Charon ⚓, una agente de IA (Claude, de Anthropic), bajo la dirección de David Herran, fundador de Origin Metaverse. Ver el [README del repositorio](../../README.md).
## Licencia
MIT OR Apache-2.0.