In brief
Testing pages connect source claims to reproducible evidence and named limits.
What this page explains#
Testing pages connect source claims to reproducible evidence and named limits. This page sits in Developer Integration. It gives the topic a plain-language handle first, then shows the working idea, the mechanism, the source trail, and any limits that still matter. This category turns public interfaces into a reviewable integration path. API calls, SDK builders, wallets, indexers, and Docker nodes are useful surfaces, but each must preserve the protocol meaning carried by source and accepted evidence.
The writing follows a simple Kaspa documentation pattern: answer the practical question first, then link outward for details. The closest public sources for this page are RK-TESTS, RK-UPSTREAM-TEST-GATE, KIPS-REPO, DOC-TOCCATA-REFERENCES. Local notes can help choose what to explain, but public-facing references resolve to upstream websites, repositories, papers, release pages, or docs.
How to think about it#
The practical model starts by naming the layer that owns the topic: wallet use, node operation, consensus, transaction validation, Toccata script behavior, tooling, or research. From there, the page shows which public source can support the explanation and where the explanation becomes incomplete.
For Testing And Tooling, the model is built around these anchors: unit tests and integration tests answer different questions; negative tests catch wrong bindings and malformed inputs; local labs are useful but labeled local experience; testnet observations need timestamps; passing a test does not publish a protocol claim without source context. This model is useful, but it does not encode every constant, branch, error type, or edge case. Those details belong in the source path and the source notes.
How it works#
1. unit tests and integration tests answer different questions. Developer integration pages explain an interface by naming the source object behind it. API, RPC, wRPC, SDK, wallet, and indexer surfaces are useful only when they preserve the fields and evidence that the protocol layer actually defines. Accepted-state evidence, replay behavior, schema choices, and endpoint disagreement must be checked separately.
2. negative tests catch wrong bindings and malformed inputs. Developer integration pages explain an interface by naming the source object behind it. API, RPC, wRPC, SDK, wallet, and indexer surfaces are useful only when they preserve the fields and evidence that the protocol layer actually defines. Accepted-state evidence, replay behavior, schema choices, and endpoint disagreement must be checked separately.
3. local labs are useful but labeled local experience. Developer integration pages explain an interface by naming the source object behind it. API, RPC, wRPC, SDK, wallet, and indexer surfaces are useful only when they preserve the fields and evidence that the protocol layer actually defines. Accepted-state evidence, replay behavior, schema choices, and endpoint disagreement must be checked separately.
4. testnet observations need timestamps. Developer integration pages explain an interface by naming the source object behind it. API, RPC, wRPC, SDK, wallet, and indexer surfaces are useful only when they preserve the fields and evidence that the protocol layer actually defines. Accepted-state evidence, replay behavior, schema choices, and endpoint disagreement must be checked separately.
5. passing a test does not publish a protocol claim without source context. Developer integration pages explain an interface by naming the source object behind it. API, RPC, wRPC, SDK, wallet, and indexer surfaces are useful only when they preserve the fields and evidence that the protocol layer actually defines. Accepted-state evidence, replay behavior, schema choices, and endpoint disagreement must be checked separately.
This mechanism section treats API, RPC, wRPC, SDK, wallet, Docker, and indexer surfaces as interfaces to be checked against protocol-defined fields and accepted-state evidence.
How to check it#
| Step | Check | Evidence gate |
|---|---|---|
| 1 | Check unit tests and integration tests answer different questions. | Use RK-TESTS, RK-UPSTREAM-TEST-GATE, DOC-TOCCATA-REFERENCES; confirm the interface preserves the protocol field or evidence surface being claimed. |
| 2 | Check negative tests catch wrong bindings and malformed inputs. | Use RK-TESTS, RK-UPSTREAM-TEST-GATE, DOC-TOCCATA-REFERENCES; confirm the interface preserves the protocol field or evidence surface being claimed. |
| 3 | Check local labs are useful but labeled local experience. | Use RK-TESTS, RK-UPSTREAM-TEST-GATE, DOC-TOCCATA-REFERENCES; confirm the interface preserves the protocol field or evidence surface being claimed. |
| 4 | Check testnet observations need timestamps. | Use RK-TESTS, RK-UPSTREAM-TEST-GATE, DOC-TOCCATA-REFERENCES; add date, network, release or commit, tool version, and accepted/rejected evidence. |
| 5 | Check passing a test does not publish a protocol claim without source context. | Use RK-TESTS, RK-UPSTREAM-TEST-GATE, DOC-TOCCATA-REFERENCES; confirm the interface preserves the protocol field or evidence surface being claimed. |
When using this page for integration work, check that the interface preserves the field or evidence surface being claimed. Hosted APIs, node RPC, SDKs, wallets, and indexers are useful surfaces, but protocol meaning still needs source, release, KIP, or accepted-state evidence.
Related Pages#
- docker-and-self-hosted-nodes
- developer-integration
- integration-readiness-checklist