Files
arkhe-origin-chain/Cargo.toml
T
davidherranandClaude Opus 4.6 8a24a86ee6 feat(node): Phase 1.6+ Slice 1 — origin-chain-node CLI canonical v0.0.10
origin-chain-node binary canonical funcional con 4 sub-comandos:
- version (default canonical)
- list-presets (3 genesis presets disponibles)
- print-preset <id> (JSON-serialized RuntimeGenesisConfig)
- info (full runtime metadata canonical)

## Output canonical print-preset development verified
Alice SS58 address: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY
✅ matches exactly Substrate well-known canonical — hardcoded bytes son
bit-perfect compatible con polkadot-js + subkey ecosystem canonical.

## Decisión empírica documentada: WASM_BINARY DEFERRED a Slice 2 (v0.0.11)
substrate-wasm-builder requiere TODAS las deps no_std-compatible. origin-
chain-types actualmente usa std::String/Vec directly + thiserror 1.0 sin
no_std. Refactor scope substantial (5-10+ files affected) merece DC propio
y Slice dedicado canonical. CLI canonical opera correcto sin WASM execution
porque genesis presets serializables natively canonical.

## Workspace deps añadidos Phase 1.6+ (most Slice 4 deferred)
- substrate-wasm-builder 26.0.1 (Slice 2)
- sc-cli 0.51.0, sc-service 0.50.0, sc-executor 0.42.0 (Slice 4)
- sc-network 0.49.1, sc-consensus 0.48.0 (Slice 4)
- sc-consensus-aura 0.49.0, sc-consensus-grandpa 0.34.0 (Slice 4)
- sc-transaction-pool 39.0.0, sc-client-api 39.0.0 (Slice 4)
- sc-basic-authorship 0.49.0, sc-telemetry 28.1.0, sc-offchain 44.0.0 (Slice 4)
- jsonrpsee 0.24.3, substrate-frame-rpc-system 43.0.0 (Slice 4)
- pallet-transaction-payment-rpc 43.0.0 (Slice 4)
- clap 4.5.13 (USED v0.0.10 canonical)
- futures 0.3.31 (Slice 4)

Workspace declarations preparan canonical para Slice 4 sin re-declarar
cuando se necesite ramp up canonical.

## Roadmap Phase 1.6+ multi-slice canonical
- Slice 1 (v0.0.10 ESTA): CLI skeleton + preset listing ✅
- Slice 2 (v0.0.11): WASM_BINARY canonical + no_std refactor
- Slice 3 (v0.0.12): real sc_service::ChainSpec builder canonical
- Slice 4 (v0.0.13+): full sc-service (consensus + RPC + networking)

## Build + tests
- cargo build --release 8.22s warm cache
- cargo test --workspace ~63 tests passing
- Binary functional: cargo run --bin origin-chain-node {version|list-presets|
  print-preset <id>|info}

## Filosofía canonical incorporada
Doc main.rs: "el CLI canonical es la primera ventana del barquero al mundo".
list-presets canonical = transparency canonical: las 3 distribuciones
posibles canonical están a la vista canonical, BM V2 incluida canonical
materializando David canon 2026-05-14 "la libertad infinita acota solo donde
empieza la del otro".

Refs: CHARON_ROADMAP_V1 Phase 1.6+, sub-decisión empírica WASM_BINARY defer
to Slice 2, sub-decisión empírica sc-service defer to Slice 4

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-20 21:10:39 -05:00

153 lines
7.2 KiB
TOML

[workspace]
resolver = "2"
members = [
"crates/origin-chain-types",
"crates/origin-chain-consensus",
"crates/origin-coin-tokenomics",
"crates/origin-chain-provenance",
"crates/origin-chain-bridges",
"crates/origin-chain-governance",
"crates/origin-chain-runtime",
"crates/origin-chain-node",
]
[workspace.package]
version = "0.0.1"
edition = "2021"
rust-version = "1.88"
license = "MIT OR Apache-2.0"
authors = [
"Charon <charon@originmetaverse.com>",
"David Herran <david@dreamhousestudios.com>",
"Origin Metaverse community",
]
repository = "https://git.originmetaverse.com/Origin_Metaverse/arkhe-origin-chain"
homepage = "https://originmetaverse.com"
description = "Origin Chain: sovereign blockchain substrate for Origin Metaverse — consensus, OGC tokenomics, provenance ledger, ink! smart contracts, bridges, governance. Pilar 4 canonical."
keywords = ["blockchain", "substrate", "ink", "origin-metaverse", "ogc"]
categories = ["cryptography::cryptocurrencies", "no-std", "wasm"]
[workspace.dependencies]
# ============================================================
# Polkadot SDK canonical pin per DC SUBSTRATE_FOUNDATION_V1 SBS-1
# Release: polkadot-stable2512-3 (2026-03-23)
# Support window canonical: hasta 2027-03 (cubre testnet Q3 2026 + mainnet Q1 2027)
# ============================================================
# Substrate Primitives (sp-*) — types foundationals canonical
sp-core = { version = "36.1.0", default-features = false }
sp-runtime = { version = "41.1.0", default-features = false }
sp-io = { version = "40.0.1", default-features = false }
sp-std = { version = "14.0.0", default-features = false }
sp-version = { version = "39.0.0", default-features = false }
sp-api = { version = "36.0.1", default-features = false }
sp-block-builder = { version = "36.0.0", default-features = false }
sp-transaction-pool = { version = "36.0.0", default-features = false }
sp-inherents = { version = "36.0.0", default-features = false }
sp-offchain = { version = "36.0.0", default-features = false }
sp-session = { version = "38.1.0", default-features = false }
sp-genesis-builder = { version = "0.17.0", default-features = false }
sp-consensus-aura = { version = "0.42.0", default-features = false, features = ["serde"] }
sp-consensus-grandpa = { version = "23.1.0", default-features = false, features = ["serde"] }
# FRAME canonical — runtime composition framework
frame-system = { version = "40.1.0", default-features = false }
frame-support = { version = "40.1.0", default-features = false }
frame-executive = { version = "40.0.0", default-features = false }
frame-benchmarking = { version = "40.0.0", default-features = false }
frame-metadata-hash-extension = { version = "0.8.0", default-features = false }
# FRAME pallets canonical Phase 1.3 (per SBS-4 ratified)
pallet-balances = { version = "41.1.0", default-features = false }
pallet-timestamp = { version = "39.0.0", default-features = false }
pallet-transaction-payment = { version = "40.0.0", default-features = false }
# FRAME pallets canonical Phase 1.4 — Consensus PoA per CHN-1 ratified
pallet-aura = { version = "39.0.0", default-features = false }
pallet-grandpa = { version = "40.0.0", default-features = false }
# FRAME pallets canonical Phase 1.5 — Session rotation per CHN-1 4h epochs
pallet-session = { version = "40.0.1", default-features = false }
# pallet-identity DEFERRED a Phase 2.7 — canonical decision empírica 2026-05-21:
# pallet-identity 41.0.0 usa ReservableCurrency trait (deprecated en stable2512,
# replaced por fungible::Mutate). Compat work canonical es scope Phase 2.7 cuando
# se introduce `pallet_agent_identity` custom canonical (Inmutable #41 AGI DID).
# pallet-identity = { version = "41.0.0", default-features = false }
# RuntimeAPI canonical (consumed by node binary + RPC server Phase 1.6+)
frame-system-rpc-runtime-api = { version = "36.0.0", default-features = false }
pallet-transaction-payment-rpc-runtime-api = { version = "40.0.0", default-features = false }
# Genesis canonical Phase 1.7 — chain_spec BM V2 allocation
# Nota canonical 2026-05-21: sp-keyring NO incluido — version conflict canonical
# con sp_core stable2512 (sp-keyring 42 trae sp_core diferente). En su lugar,
# hardcodeo canonical bytes de Substrate well-known dev accounts canonical
# (Alice/Bob/Charlie/Dave/Eve) en genesis_config_presets.rs — same canonical
# values que sp-keyring usaría but sin la dep brittle canonical.
serde_json = { version = "1", default-features = false, features = ["alloc"] }
# WASM builder canonical (Phase 1.6+ runtime WASM build para chain_spec)
substrate-wasm-builder = { version = "26.0.1" }
# Substrate client canonical (Phase 1.6+ node binary service builder)
sc-cli = { version = "0.51.0" }
sc-service = { version = "0.50.0" }
sc-executor = { version = "0.42.0" }
sc-network = { version = "0.49.1" }
sc-consensus = { version = "0.48.0" }
sc-consensus-aura = { version = "0.49.0" }
sc-consensus-grandpa = { version = "0.34.0" }
sc-transaction-pool = { version = "39.0.0" }
sc-transaction-pool-api = { version = "39.0.0" }
sc-client-api = { version = "39.0.0" }
sc-basic-authorship = { version = "0.49.0" }
sc-telemetry = { version = "28.1.0" }
sc-offchain = { version = "44.0.0" }
# RPC server canonical (jsonrpsee)
jsonrpsee = { version = "0.24.3", features = ["server"] }
substrate-frame-rpc-system = { version = "43.0.0" }
pallet-transaction-payment-rpc = { version = "43.0.0" }
# CLI + async canonical
clap = { version = "4.5.13", features = ["derive"] }
futures = { version = "0.3.31", features = ["thread-pool"] }
# SCALE codec canonical (canonical Substrate serialization)
parity-scale-codec = { version = "3.7", default-features = false, features = ["derive"] }
scale-info = { version = "2.11", default-features = false, features = ["derive"] }
# ============================================================
# Cryptography canonical (CHN-7 + SBS-4 + tu choice canonical)
# ============================================================
ed25519-dalek = { version = "2", default-features = false }
blake3 = { version = "1", default-features = false }
# ============================================================
# Error handling + serialization canonical
# ============================================================
thiserror = "1.0"
serde = { version = "1.0", features = ["derive"] }
log = "0.4"
# ============================================================
# Internal crates canonical (workspace path deps)
# ============================================================
origin-chain-types = { path = "crates/origin-chain-types", version = "0.0.1" }
origin-chain-consensus = { path = "crates/origin-chain-consensus", version = "0.0.1" }
origin-coin-tokenomics = { path = "crates/origin-coin-tokenomics", version = "0.0.1" }
origin-chain-provenance = { path = "crates/origin-chain-provenance", version = "0.0.1" }
origin-chain-bridges = { path = "crates/origin-chain-bridges", version = "0.0.1" }
origin-chain-governance = { path = "crates/origin-chain-governance", version = "0.0.1" }
origin-chain-runtime = { path = "crates/origin-chain-runtime", version = "0.0.1" }
origin-chain-node = { path = "crates/origin-chain-node", version = "0.0.1" }
[profile.release]
lto = "thin"
codegen-units = 1
opt-level = 3
[profile.dev]
opt-level = 1