JAM is the anticipated future protocol for Polkadot, being implemented by multiple teams across different programming languages. The JAM Gray Paper outlines the protocol, and the Web3 Foundation has shared initial test vectors with participating teams here.
To support testing in a wide variety of network sizes from "tiny" (V=6) to "full" (V=1023), we follow the W3F test vectors in having public secret keys derived deterministically from publicly known seeds for Ed25519, Bandersnatch, and BLS keys.
Using these seeds, secret and public keys can be programmatically generated, ensuring each JAM team can run the public testnet consistently. This is strictly for development purposes.
An open-source key
program is used to map seeds into Bandersnatch/Ed25519/BLS secret and public keys. See here showing how to map any seed.
See Dev Accounts 32-byte seeds.
Chain specs for 8 network sizes have been modeled and published.
Nov 2024 - Dec 2025:
- added fallback based on JAM0 meeting
- genesis state fixes [thanks to Daniel from Jamixir]
- made the phases 3 digits (000, 001, ... 011) rather than variable (0, 1, .. 11) [thank you Boy Maas]
- fixed parent hash to be header hash rather than block hash [thank you Arjan, PyJAMaz]
- mode=orderedaccumulation added (C14+C15)
- 64-bit PVM support with new opcodes (with 96% coverage (see community test vectors))
- state_transitions output with service k,v metadata
Feb - early March 2025:
Late March 2025 - Early April 2025:
Late April 2025 - late April 2025:
May 2025:
- Refactoring 31-byte state keys anticipated to be introduced in 0.6.6.x -- see traces
Terrific - submit an issue with your findings! See the Releases for how we resolved previous issues with others. Please avoid sharing code, however, and instead use GP references and links to a specific state transition file. We have been able solve almost all problems within 48-72 hours or raise questions in the W3F repo or GP Chat room. In addition, you may find many JAM Implementers here, which are 100% open to all: