The three
| Template | Path | For |
|---|---|---|
| React dApp | templates/testnet-dapp-react/ | A browser frontend with wallet connection (Eoonia extension or Polkadot.js) and a first transfer |
| TypeScript scripts | templates/testnet-ts-scripts/ | Automation: read state, submit extrinsics, watch events |
| Rust backend | templates/testnet-rust-backend/ | A service using empoorio-sdk with typed clients |
What each must get right
The signed extensions. Every template must build transactions that include CheckPqcPolicy and CheckDormantAccount at the front of SignedExtra. Polkadot.js does it from metadata; the Rust SDK encodes it; a template that hand-rolls encoding or uses another library ships a codec error to every participant. This is the single most important line in each template and the one to check first.
The endpoint. wss://rpc.testnet.empooriochain.org, with rpc2 as fallback — and nothing else. Hostnames not in RED.json do not exist.
The chain id, for anything EVM: 2026.
The three states, in any UI: submitted, included, finalized.
What verification means
The hackathon plan lists the templates as available infrastructure and, in its correction block, as one of the three things that must be true before announcing. Verified means: cloned fresh, built, run against the live testnet at the current runtime (220 at time of writing), a transaction submitted and finalized, on a machine that is not the author's. Eight runtime upgrades happened in ten days in September; a template verified against 208 may not build against 220.
Why templates matter more here than usual
Because the ecosystem's own history shows what happens without them: the Dart SDK's README is still the framework's default template; the TypeScript SDK covers 3 of 143 pallets and is not on npm; the testnet went 102,912 blocks without a correctly encoded transaction. A template that works is the fastest way to make sure a participant's first hour is spent building, not decoding a Bad input data error.
Status
The templates exist in the repository. Their verification against runtime 220 is a prerequisite item, not yet ticked. A team that tries one today and files what breaks has done part of the event's work early.
Based on TESTNET_HACKATHON_PLAN.md §5 and FORMATO_DE_EXTRINSECOS.md.


