Files
dchain/testdata
vsecoder 7e7393e4f8 chore: initial commit for v0.0.1
DChain single-node blockchain + React Native messenger client.

Core:
- PBFT consensus with multi-sig validator admission + equivocation slashing
- BadgerDB + schema migration scaffold (CurrentSchemaVersion=0)
- libp2p gossipsub (tx/v1, blocks/v1, relay/v1, version/v1)
- Native Go contracts (username_registry) alongside WASM (wazero)
- WebSocket gateway with topic-based fanout + Ed25519-nonce auth
- Relay mailbox with NaCl envelope encryption (X25519 + Ed25519)
- Prometheus /metrics, per-IP rate limit, body-size cap

Deployment:
- Single-node compose (deploy/single/) with Caddy TLS + optional Prometheus
- 3-node dev compose (docker-compose.yml) with mocked internet topology
- 3-validator prod compose (deploy/prod/) for federation
- Auto-update from Gitea via /api/update-check + systemd timer
- Build-time version injection (ldflags → node --version)
- UI / Swagger toggle flags (DCHAIN_DISABLE_UI, DCHAIN_DISABLE_SWAGGER)

Client (client-app/):
- Expo / React Native / NativeWind
- E2E NaCl encryption, typing indicator, contact requests
- Auto-discovery of canonical contracts, chain_id aware, WS reconnect on node switch

Documentation:
- README.md, CHANGELOG.md, CONTEXT.md
- deploy/single/README.md with 6 operator scenarios
- deploy/UPDATE_STRATEGY.md with 4-layer forward-compat design
- docs/contracts/*.md per contract
2026-04-17 14:16:44 +03:00
..
2026-04-17 14:16:44 +03:00
2026-04-17 14:16:44 +03:00
2026-04-17 14:16:44 +03:00
2026-04-17 14:16:44 +03:00

testdata — dev-cluster identities

These three JSON files are hard-coded test keys used by the 3-node dev cluster in the repository-root docker-compose.yml. They exist ONLY so that running docker compose up --build -d gives every developer the same deterministic network (same pubkeys, same peer IDs, same genesis validator set) — making screenshots, tutorials, and loadtest fixtures reproducible.

Do NOT use these keys for anything that holds real value. The private keys are in the repository history, visible to everyone who can clone.

When you need real keys

  • Single-node prod deploy: see deploy/single/README.md — generate a fresh key with docker run --entrypoint /usr/local/bin/client dchain-node-slim keygen --out node.json and store it outside the repo.
  • Multi-node prod cluster: deploy/prod/README.md.

Files

File pub_key peer ID
node1.json 26018d40e40514f38f799eee403f62da98cb5ac936e29049629f1873cbcb4070 12D3KooWCNj2ugnjqoJFPdRuhGZHvGTbEiTMmHDimfsxmGYcjGo9
node2.json bf3628d1a10fcf5a90d2cb31f387c8d1f2dac6a2c54c736c27d5ea04af9696a2 12D3KooWNgmwMbaw5K7vDbGxb9zvcF8gur5GWXGoFEVfKzSNc9bf
node3.json 6316e7427654cd2e300033c5e13b6182d595ec2c63bc8396b74183296112510c 12D3KooWGVAnaq1EgH1dN49fQWvw1z71R5bZj7UmPkUeQkW4783V

The baked-in WASM contracts under ../contracts/* are also copied into the dev Docker image at build time — they don't need per-node identities.