Skip to content

docs: implementer's protocol guide - #123

Merged
M0LTE merged 1 commit into
masterfrom
docs/implement-dapps
May 5, 2026
Merged

docs: implementer's protocol guide#123
M0LTE merged 1 commit into
masterfrom
docs/implement-dapps

Conversation

@M0LTE

@M0LTE M0LTE commented May 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • New `docs/implement.md` for people writing a second-source DAPPS implementation (a node, relay, embedded build).
  • Two-part structure as requested: bare essentials (smallest interop set) + full feature-by-feature (F1, F2, ordering, TTL, headers, peers, rev, datagram codec, beacons, solicits).
  • Annotated on-air examples for every flow, with file:line citations into the reference daemon.
  • Compliance smoke-test checklist at the end so an implementer can verify against the C# daemon.
  • Cross-linked from `app-developers/reference.md` (the existing wire-format summary now points here for the full spec) and `docs/index.md` (Status section).

Test plan

  • `mkdocs build --strict` clean (no warnings, all internal links resolve)
  • All file:line citations verified against current `master`
  • Two new wire-format details corrected against canonical code: `chk` is lowercase 4-hex (`Crc16CcittFalse.ComputeHex` uses `x4`); the `?` "already have" reply mentioned in the old summary table doesn't exist in the inbound handler - the page documents only the responses actually emitted (`send`, `ack`, `bad`, `error`, `eh?`)
  • Page renders into mkdocs nav between "App developers" and "Troubleshooting"

🤖 Generated with Claude Code

New top-level page docs/implement.md aimed at second-source DAPPS
implementations - someone writing a node, relay, or embedded build
that needs to interoperate with the C# reference daemon. Two parts:

- Bare essentials: smallest set of behaviours for two implementations
  to exchange a message without deadlocking. Session prompt + ihave/
  send/data/ack flow + hash format + checksum.
- Full interoperability: each optional feature (F1 source tracking,
  F2 fragmentation, opt-in ordering, TTL semantics, custom headers,
  peers exchange, rev polling, datagram codec, discovery beacons +
  solicits) explained feature-by-feature with annotated wire examples
  and a "why" line where the design choice isn't obvious.

Includes a compliance smoke-test checklist for verifying a fresh
implementation against the reference daemon.

Cross-linked from app-developers/reference.md (the existing wire-
format summary now points here for the full spec) and from the docs
home page (Status section).

mkdocs --strict build clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@M0LTE
M0LTE merged commit 073edf5 into master May 5, 2026
6 checks passed
@M0LTE
M0LTE deleted the docs/implement-dapps branch May 5, 2026 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant