docs(readme): spec 21 en vivo, con sus pruebas y su certificado
El mismo cambio que vuelve falsa una línea la corrige (regla 9 de la plantilla de la casa). - README del repositorio: spec 21 desde el bloque 98268 (3-nov-2026); 373 pruebas en 935ca1e; la fila del spec 21 en la historia; la regla de los dos tercios en el resumen del gobierno, y el cuarto certificado en el comando de «Compruébalo tú». - governance: los dos tercios pasan de «lo que no hace todavía» a su tabla de estado; 97 pruebas. - runtime: spec_version 21 y el bloque del upgrade. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
935ca1ef5e
commit
23a3e3c4aa
3 files changed
+15
-13
No files matched your search
@@ -14,12 +14,12 @@
|
||||
- `Governance`: proposals, votes backed by real balance, quorum, council veto, community override and a treasury that pays only what was voted;
|
||||
- `Fees`;
|
||||
- `Emission`: validator rewards from a finite, pre-minted pool, with no new minting.
|
||||
- **Status (2 Nov 2026):**
|
||||
- A private house testnet has run since October 2026 on a Raspberry Pi 5 validator. It is on runtime spec 20, applied live by `set_code` at block #81,022.
|
||||
- **Status (3 Nov 2026):**
|
||||
- A private house testnet has run since October 2026 on a Raspberry Pi 5 validator. It is on runtime spec 21, applied live by `set_code` at block #98,268 on 3 Nov 2026.
|
||||
- **There is no mainnet, no token sale, no price and no exchange listing.** This repository is not an offer of any asset.
|
||||
- **Not born yesterday:** 109 commits since 2026-05-19. Read `git log --reverse`.
|
||||
- **How to verify:** see [Compruébalo tú · Verify it yourself](#compruébalo-tú--verify-it-yourself) below.
|
||||
- The workspace test suite passes **365 tests, 0 failed** on `main` (6055faf).
|
||||
- The workspace test suite passes **373 tests, 0 failed** on `main` (935ca1e).
|
||||
- Runtime weights are measured on the reference Raspberry Pi 5, and can be re-checked from the certificates kept in this repository.
|
||||
- **Who writes it:**
|
||||
- Charon ⚓, an AI agent (Claude, by Anthropic), under the direction of David Herran, founder of Origin Metaverse. Every commit carries `Co-Authored-By: Claude`.
|
||||
@@ -39,13 +39,13 @@ Origin Chain es la cadena de Origin Metaverse, un internet espacial **P2P y loca
|
||||
|
||||
No es una cadena sólo para la educación: es la columna de todo lo que se procese en Origin.
|
||||
|
||||
## En qué estado está hoy (2 de noviembre de 2026)
|
||||
## En qué estado está hoy (3 de noviembre de 2026)
|
||||
|
||||
| | Estado | Dónde comprobarlo |
|
||||
|---|---|---|
|
||||
| **El runtime y el nodo** | Compilan y corren: Aura + GRANDPA, bloques de 6 s | `crates/origin-chain-runtime`, `crates/origin-chain-node` |
|
||||
| **La testnet de la casa** | Viva desde octubre de 2026, en una **Raspberry Pi 5** que valida bloques, en una red privada de dos máquinas. Va en el **spec 20** desde el bloque 81 022 | La nota de cada versión en `crates/origin-chain-runtime/src/lib.rs` (`RUNTIME_VERSION`) |
|
||||
| **Las actualizaciones sin fork** | Del spec 17 al 20 se aplicaron EN VIVO por `set_code`, sin parar la cadena | `scripts/e2e/upgrade_en_vivo.py`, `scripts/e2e/simulacro_set_code.py` |
|
||||
| **La testnet de la casa** | Viva desde octubre de 2026, en una **Raspberry Pi 5** que valida bloques, en una red privada de dos máquinas. Va en el **spec 21** desde el bloque 98 268 (3-nov-2026) | La nota de cada versión en `crates/origin-chain-runtime/src/lib.rs` (`RUNTIME_VERSION`) |
|
||||
| **Las actualizaciones sin fork** | Del spec 17 al 21 se aplicaron EN VIVO por `set_code`, sin parar la cadena | `scripts/e2e/upgrade_en_vivo.py`, `scripts/e2e/simulacro_set_code.py` |
|
||||
| **Lo que cobra cada operación** | Medido en la Pi 5 de referencia y certificado por Laurha. Se puede volver a comprobar | `scripts/bench/certificados/`, `scripts/bench/ensamblar-pesos.py` |
|
||||
| **Los contratos** | `pallet-revive` está en el runtime (índice 11) | `crates/origin-chain-runtime/src/configs.rs` |
|
||||
| **Las plantillas `contracts/`** | **Borradores de mayo en ink! v6.** Compilaban y pasaban sus pruebas como crates de Rust en junio (`6663dbd`), pero **nunca se han construido con `cargo-contract` ni desplegado**: no las tomes por producto | `contracts/` |
|
||||
@@ -71,6 +71,7 @@ Este repositorio público se abrió el 3 de noviembre de 2026, pero su historia
|
||||
| 2026-10-12 | Primer simulacro de actualización en caliente (spec 16 → 17) | `3cd1068` |
|
||||
| 2026-10-24 | **La cadena corre en la Raspberry Pi 5 de la casa** | `22bab19` |
|
||||
| 2026-10-25 → 11-02 | Specs 17 a 20 en vivo: pesos certificados, quórum del 10 % de lo que puede votar, tesoro atado a la propuesta | `e7b9c0c` … `6055faf` |
|
||||
| 2026-11-03 | Spec 21 en vivo: pagar del tesoro exige dos tercios del voto emitido | `4be7da7`, `935ca1e` |
|
||||
|
||||
`CHANGELOG.md` guarda el detalle de cada versión.
|
||||
|
||||
@@ -124,7 +125,7 @@ Está en `crates/origin-chain-governance/src/lib.rs`:
|
||||
- **Para aprobar** hacen falta más Sí que No y un **quórum de Sí del 10 % de lo que puede votar**. El quórum se fija al crear la propuesta, así que una actualización no mueve la meta de un voto abierto.
|
||||
- **El consejo puede vetar** con dos tercios de sus miembros, y **la comunidad puede revertir** el veto con cuatro quintos. Vetar nunca abarata una aprobación.
|
||||
- **El tesoro paga sólo lo que la propuesta fijó al crearse**, una sola vez.
|
||||
- **En camino (spec 21, en revisión):** pagar del tesoro exigirá dos tercios del voto emitido.
|
||||
- **Desde el spec 21 (3-nov):** pagar del tesoro exige además **dos tercios del voto emitido** (Sí + No; la abstención no cuenta), también al revertir un veto, frente a toda la oposición. Las propuestas de tesoro abiertas antes conservan la mayoría simple con la que se abrieron.
|
||||
|
||||
## La moneda (OGC)
|
||||
|
||||
@@ -145,7 +146,7 @@ git log --format=%B | grep -c "Co-Authored-By: Claude" # cada commit decl
|
||||
|
||||
**2. Las pruebas** (Rust 1.88.0, de `rust-toolchain.toml`):
|
||||
```sh
|
||||
cargo test --workspace # en main 6055faf: 365 passed, 0 failed (medido el 2-nov-2026)
|
||||
cargo test --workspace # en main 935ca1e: 373 passed, 0 failed (medido el 3-nov-2026)
|
||||
```
|
||||
|
||||
**3. Que los pesos salen de los certificados de la Pi 5:**
|
||||
@@ -153,7 +154,8 @@ cargo test --workspace # en main 6055faf: 365 passed, 0 failed (medido el 2-
|
||||
python3 scripts/bench/ensamblar-pesos.py --comprobar crates/origin-chain-governance/src/weights.rs \
|
||||
scripts/bench/certificados/2026-10-24-spec16-laurha.rs \
|
||||
scripts/bench/certificados/2026-10-29-spec18-laurha.rs \
|
||||
scripts/bench/certificados/2026-11-02-spec19-laurha.rs
|
||||
scripts/bench/certificados/2026-11-02-spec19-laurha.rs \
|
||||
scripts/bench/certificados/2026-11-02-spec21-laurha.rs
|
||||
# → «weights.rs coincide con el ensamblado»
|
||||
```
|
||||
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
| 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` |
|
||||
| Pagar del tesoro exige dos tercios del voto emitido (Sí + No, sin la abstención), fijados al crear la propuesta; también al revertir un veto, frente al Nay original más lo que se votó para sostenerlo | Hecho (spec 21, en vivo desde el bloque 98 268) | `TreasurySupermajorityOf`, `reaches_supermajority` |
|
||||
| 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).
|
||||
@@ -26,7 +26,7 @@
|
||||
## Compruébalo tú · Verify it yourself
|
||||
|
||||
```sh
|
||||
cargo test -p origin-chain-governance # 89 pasan, 0 fallan · medido el 3-nov-2026 en `ba5d1d8`
|
||||
cargo test -p origin-chain-governance # 97 pasan, 0 fallan · medido el 3-nov-2026 en `935ca1e`
|
||||
```
|
||||
|
||||
## Quién lo cuida
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
**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.
|
||||
*In English:* The runtime: composes FRAME and custom pallets, sets their parameters, exposes the runtime APIs and builds the WASM blob. Current spec_version 21.
|
||||
|
||||
## 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` |
|
||||
| `spec_version` 21, en vivo en la testnet de la casa desde el bloque 98 268 (3-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/` |
|
||||
|
||||
Reference in new issue
Block a user