You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| Timeline | Q4 2024 | Q1 2025 | early Q2 2025 | late Q2 2025 |
64
65
65
66
We aim for 5-10 teams to successfully establish their own working testnets in Q4, with collaborative efforts beginning around sub0@Devcon7+JAM0 in mid-November.
@@ -83,17 +84,15 @@ directory.
83
84
84
85
If you have service code (in any language, including privileged services) suitable for `mode=assurances`, put it in `services/${team}/${servicename}` (e.g. `services/strongly-web3/fib`). See [services](./services) for examples in progress.
85
86
86
-
To model submission of work packages utilizing a service, traces can include the receipt by the first validator, e.g in `traces/${mode}/${team}/workpackages/${core}.{codec,json}$`
87
-
88
87
## JAM Implementer Submissions
89
88
90
-
Building a collaborative JAM Testnet requires teams share Docker image URLs, Traces, and Testnet configurations, but not code.
89
+
Building a collaborative JAM Testnet requires teams share Traces (supporting validation independent of JAMSNP) and Docker image URLs (requiring JAMSNP), but not code.
91
90
92
91
To contribute:
93
92
94
-
- Submit a PR to add a Docker image URL below.
95
-
-Add your fully working `docker-compose.yml` to `testnet/${mode}/${team}` (e.g. `testnet/safrole/jam-duna/docker-compose.yml`)
96
-
-Add your sample trace to `traces/${mode}/${team}` (e.g. `traces/safrole/jam-duna/data`)
93
+
- Submit a PR to add your traces and/or a Docker image URL below.
94
+
-For traces of blocks and states, add your sample trace to `traces/${mode}/${team}` (e.g. `traces/safrole/jam-duna`)
95
+
-For Docker image urls, add below and a fully working `docker-compose.yml`to `testnet/${mode}/${team}` (e.g. `testnet/safrole/jam-duna/docker-compose.yml`)
Copy file name to clipboardExpand all lines: services/README.md
+10-5Lines changed: 10 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,9 @@
4
4
5
5
JAM Services consist of PVM Byte code placed on-chain with 4 entry points.
6
6
To support the testing of these JAM Services, JAM Implementation teams are encouraged to place
7
-
JAM Service code, in any language here.
7
+
JAM Service code, in any language here. Note that JAM Service code is not necessary for teams to
8
+
collaborate on JAM testnet, but it may support useful debugging. Services may include a
9
+
_bootstrap service_ included in genesis state.
8
10
9
11
* Raw assembly, with [polkatool](https://github.com/koute/polkavm/tree/master/tools/polkatool)
10
12
* Rust, see [polkatool](https://github.com/koute/polkavm/tree/master/tools/polkatool)
@@ -21,10 +23,13 @@ Each JAM Service should have raw source code, build instructions, and a _JAM-rea
21
23
*`accumulate` (entry point 10)
22
24
*`on_transfer` (entry point 15)
23
25
24
-
Furthermore, as privileged services themselves are needed to place
25
-
code blobs on-chain and create JAM Services utilizing these code
26
-
blobs, it is critical that teams have a "generic" privileged service
27
-
to have a JAM Testnet in "assurances" mode. This is an open question.
26
+
Furthermore, a _bootstrap service_ is needed in genesis state to support many different privileged operations:
27
+
* create JAM Services
28
+
* assigning coretime
29
+
* requesting preimages
30
+
* changing the validator keysets
31
+
32
+
These always-accumulate/privileged services use the same JAMSNP work package submission+sharing processes as non-privileged service. Teams are encouraged to share Bootstrap service code along with their genesis configs.
Copy file name to clipboardExpand all lines: traces/README.md
+47-28Lines changed: 47 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,53 +7,72 @@ each others state transitions (including state roots) and check each others JAM
7
7
8
8
If your team has a sequence of Blocks + States, please submit a PR going into this directory, containing at minimum easily parsed / decoded files for each `epoch` and $phase`
VALIDATED Block 349462_11.bin => State 349462_11.bin | [N5] H_t=4193555 H_r=111d..3ca5
57
+
Trace validation completed successfully.
58
+
```
48
59
60
+
Note that JAM codec versions are used, not JSON files. JSON files are
61
+
provided for debugging only. In particular, JSON object attribute
62
+
names to be as close as possible to w3f `codec` test vectors.
63
+
However, different teams are likely to choose slightly different JSON
64
+
attribute names for some state variables outside the test vectors, so
65
+
validation between two teams should be based on the JAM codec files
66
+
instead of the JSON content.
49
67
50
68
## Modes
51
69
52
70
* For mode `safrole`, only the first 4 epochs are useful or needed following this [JAM Safrole Model](https://docs.google.com/spreadsheets/d/1ueAisCMOx7B-m_fXMLT0FXBxfVzydJyr-udE8jKwDN8/edit?gid=615049643#gid=615049643)
53
71
54
72
* For mode `assurance`, `finality`, and `conformance` additional epochs may be required using sample work packages.
55
73
74
+
* Additional modes can be added between based on JAM implementer community interest.
75
+
56
76
## Notes
57
77
58
78
This is a PoC at this point and any team submission should not be taken as authoritative in any way.
0 commit comments