Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,17 @@ wget https://raw.githubusercontent.com/zdave-parity/jam-np/refs/heads/main/simpl
wget https://hackmd.io/@polkadot/jip1/download -O node_modules/host-call-log.md
wget https://hackmd.io/@polkadot/jip2/download -O node_modules/jip2-gav.md

cp docs/knowledge/advanced/simple-networking/spec.md.tmpl docs/knowledge/advanced/simple-networking/spec.md
cat node_modules/simple.md >> docs/knowledge/advanced/simple-networking/spec.md
perl -pi -e "s/BUILD_DATE/$(date +%Y-%m-%d)/" docs/knowledge/advanced/simple-networking/spec.md
cp docs/knowledge/simple-networking/spec.md.tmpl docs/knowledge/simple-networking/spec.md
cat node_modules/simple.md >> docs/knowledge/simple-networking/spec.md
perl -pi -e "s/BUILD_DATE/$(date +%Y-%m-%d)/" docs/knowledge/simple-networking/spec.md

cp docs/knowledge/testing/pvm/host-call-log.md.tmpl docs/knowledge/testing/pvm/host-call-log.md
cat node_modules/host-call-log.md >> docs/knowledge/testing/pvm/host-call-log.md
perl -pi -e "s/BUILD_DATE/$(date +%Y-%m-%d)/" docs/knowledge/testing/pvm/host-call-log.md

cp docs/knowledge/advanced/rpc/jip2-gav.md.tmpl docs/knowledge/advanced/rpc/jip2-gav.md
cat node_modules/jip2-gav.md >> docs/knowledge/advanced/rpc/jip2-gav.md
perl -pi -e "s/BUILD_DATE/$(date +%Y-%m-%d)/" docs/knowledge/advanced/rpc/jip2-gav.md
cp docs/knowledge/rpc/jip2-gav.md.tmpl docs/knowledge/rpc/jip2-gav.md
cat node_modules/jip2-gav.md >> docs/knowledge/rpc/jip2-gav.md
perl -pi -e "s/BUILD_DATE/$(date +%Y-%m-%d)/" docs/knowledge/rpc/jip2-gav.md

npm run convert-yaml docs/dao/index.md

Expand Down
9 changes: 0 additions & 9 deletions docs/knowledge/advanced/_category_.json

This file was deleted.

6 changes: 0 additions & 6 deletions docs/knowledge/advanced/simple-networking/index.md

This file was deleted.

8 changes: 0 additions & 8 deletions docs/knowledge/basics/_category_.json

This file was deleted.

56 changes: 0 additions & 56 deletions docs/knowledge/basics/cli-args.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sidebar_label: Chain Spec
sidebar_position: 0
slug: /basics/chain-spec
sidebar_position: 3
---

# Chain Spec
Expand Down
File renamed without changes.
20 changes: 20 additions & 0 deletions docs/knowledge/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Welcome
sidebar_position: 0
slug: /
---

There are currently [over 40 teams](https://jamcha.in/clients) registered to implement JAM and [over 17](https://github.com/davxy/jam-conformance/issues) actively participating in conformance testing. Joins us to build JAM together!

*This is an unofficial community-driven website. See [graypaper.com](https://graypaper.com) for official information.*

### Matrix Channels
- **[JAM Channel](https://matrix.to/#/#jam:polkadot.io)** - Technical discussions about implementing the Gray Paper
<sup>[archive](https://paritytech.github.io/matrix-archiver/archive/_21wBOJlzaOULZOALhaRh_3Apolkadot.io/index.html)</sup>
- **[Gray Paper](https://matrix.to/#/#graypaper:polkadot.io)** - Discussion about the Gray Paper specification
<sup>[archive](https://paritytech.github.io/matrix-archiver/archive/_21ddsEwXlCWnreEGuqXZ_3Apolkadot.io/index.html)</sup>
- **[Conformance Testing](https://matrix.to/#/#jam-conformance:matrix.org)** - Discussions about conformance testing standards
<sup>[archive](https://paritytech.github.io/matrix-archiver/archive/_21ksYpYHcVftKsUAsdMa_3Amatrix.org/index.html)</sup>

### Discord
- **[JAM DAO - Implementors Channel](https://discord.gg/e8UNJEPmzc)** - Casual discussions and coordination for testnet setup leading to the JAM Toaster.
17 changes: 0 additions & 17 deletions docs/knowledge/intro.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
id: Polkadot Virtual Machine
sidebar_label: Virtual Machine
sidebar_position: 4
slug: /basics/pvm
sidebar_position: 5
---

The Polkadot Virtual Machine (aka *PVM*) is a Virtual Machine specification based on the RISC-V instruction set. It is based on a prototype known as PolkaVM and developed by [Parity](https://github.com/paritytech/polkavm?tab=readme-ov-file#polkavm) as an open source project. It will be utilized by the JAM Chain to provide [deterministic](#determinism) and [metered](#metering) execution and is specified in the [Gray Paper](https://graypaper.fluffylabs.dev/#/cc517d7/231100231200?v=0.6.5). It can be programmed in any language that compiles to RISC-V. Some examples are: Rust, YUL (Solidity) or C/C++.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,5 @@
id: rpc
title: RPC
sidebar_label: RPC
sidebar_position: 2
slug: /advanced/rpc
---
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@
id: Certificates
sidebar_label: Certificates
sidebar_position: 2
slug: /knowledge/advanced/simple-networking/certs
---

# OpenSSL Certificate Generation

This guide demonstrates how to generate Ed25519 keys and certificates for the [Alice](/basics/dev-accounts#alice) dev account using the OpenSSL CLI. These certificates can be used for the [Simple Networking Protocol](/knowledge/advanced/simple-networking/spec.md#encryption-and-handshake).
This guide demonstrates how to generate Ed25519 keys and certificates for the [Alice](/basics/dev-accounts#alice) dev account using the OpenSSL CLI. These certificates can be used for the [Simple Networking Protocol](/knowledge/advanced/simple-networking/spec#encryption-and-handshake).

## Secret Key Generation

Expand Down Expand Up @@ -61,7 +62,7 @@ openssl req -new -x509 -days 365 \
-addext "subjectAltName=DNS:$DNS_ALT_NAME"
```

Where `$DNS_ALT_NAME` should match the [SNP Specification](/knowledge/advanced/simple-networking/spec.md#encryption-and-handshake). (The DNS alt name was reported to be wrong, please do not rely on it).
Where `$DNS_ALT_NAME` should match the [SNP Specification](/knowledge/advanced/simple-networking/spec#encryption-and-handshake). (The DNS alt name was reported to be wrong, please do not rely on it).

For CA certificates that will sign other certificates, add these extensions:

Expand All @@ -78,7 +79,7 @@ openssl x509 -noout -text -in cert.pem

This shows:
1. The Alice public key, starting with `3b:6a:27`.
3. The correct DNS alternative name, starting with `ehnvc`.
2. The correct DNS alternative name, starting with `ehnvc`.

Example output for Alice's certificate:
```pre
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
id: Block Propagation Grid
sidebar_label: Block Propagation Grid
sidebar_position: 3
slug: /knowledge/advanced/simple-networking/Block Propagation Grid
---

The SNP spec specifies that nodes need to announce their blocks only to specific peers - not to the whole network. Our interpretation of the SNP spec leads to the following grid for block propagation:
Expand Down
7 changes: 7 additions & 0 deletions docs/knowledge/simple-networking/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: P2P Networking
slug: /knowledge/advanced/simple-networking
sidebar_position: 6
---

The JAM networking spec defines a the [Simple Networking Protocol](/knowledge/advanced/simple-networking/spec) for testing. This version of the protocol will most likely not be formalized in the Graypaper. The Graypaper will only define the full version of the networking protocol once it is finalized.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
id: spec
sidebar_label: Spec
sidebar_position: 1
slug: /knowledge/advanced/simple-networking/spec
---

(source https://github.com/zdave-parity/jam-np/blob/main/simple.md from 2025-09-19)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
id: spec
sidebar_label: Spec
sidebar_position: 1
slug: /knowledge/advanced/simple-networking/spec
---

(source https://github.com/zdave-parity/jam-np/blob/main/simple.md from BUILD_DATE)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
---
title: State Keys
sidebar_position: 3
slug: /advanced/storage/keys
sidebar_position: 4
---

:::warning
🚧 This is work in progress and may contain errors.
:::

# State Key Search

State keys in JAM are 31 bytes long and generated by the [state-key constructor function $C$](https://graypaper.fluffylabs.dev/#/7e6ff6a/3b11003b1100?v=0.6.7). $C$ is generally not invertible; it is therefore impossible to always reconstruct the input to $C$ from the key.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Telemetry
sidebar_position: 3
slug: /knowledge/advanced/telemetry
---

We outline a protospec for using
Expand All @@ -22,7 +22,7 @@ how to deal with errors and precise formats with a few teams.

### JAMNP + OpenTelemetry

The [JAMNP spec](/knowledge/advanced/simple-networking/spec.md) is used as a primary starting point to develop a telemetry system:
The [JAMNP spec](/knowledge/advanced/simple-networking/spec) is used as a primary starting point to develop a telemetry system:

1. UP 0: Block Announcement
2. CE 128: Block Request
Expand Down
1 change: 0 additions & 1 deletion docs/knowledge/testing/_category_.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
{
"label": "Testing",
"position": 2,
"link": {
"type": "generated-index",
"description": "All important testing tools, both official and unofficial."
Expand Down
2 changes: 1 addition & 1 deletion justfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
default: dev

dev:
yarn start
yarn start --no-open

build:
sh build.sh
Expand Down