DevelopersSeptember 14, 2026by
EmpoorioChain Core
EmpoorioChain Core

The dApp Templates: React, TypeScript Scripts, Rust Backend

The three

TemplatePathFor
React dApptemplates/testnet-dapp-react/A browser frontend with wallet connection (Eoonia extension or Polkadot.js) and a first transfer
TypeScript scriptstemplates/testnet-ts-scripts/Automation: read state, submit extrinsics, watch events
Rust backendtemplates/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.

Share this article