Files
dchain/testdata/README.md
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

29 lines
1.7 KiB
Markdown

# 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.