JAM-Protocol

module
v0.0.0-...-531f21a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 23, 2026 License: Apache-2.0

README

JAM Protocol Implemetation

Go Format Check Release

Documentation

Our development documentation is maintained on HackMD for real-time collaboration and easy updates.

This is our mindmap link: JAM Mindmap

If you want to update the mindmap, you can go to the JAM-mindmap repository.

Access Documentation

Set up

To install the libraries:

go mod tidy

Start the JAM Protocol

make run

Compile the JAM Protocol

make build
Test jam-test-vectors

Run single test:

make test-jam-test-vectors mode=safrole size=full
make test-jam-test-vectors-trace mode=safrole

Run all:

make test-jam-test-vectors
make test-jam-test-vectors-trace

Release and Publish

You can find the release and publish guide here.

Rust Submodule Guide

For instructions on compiling and using the Rust library, please refer to this guide.

Encoder/Decoder

For details of encoder and decoder, please refer to this guide.

Coding Style

Our codebase follows the Google Go Style Guide for consistent and maintainable code.

Following these guidelines helps maintain code quality and ensures consistency across the project.

Code Formatting

We use gofmt to maintain consistent code formatting. Here are the commands you can use.

Commit massage

Please stick to here when you are going to submit a commit.

Pull Request

Before creating a pull request, please rebase (instead of merging) your branch onto the branch you want to merge into.

Also, follow these instructions to link your PR to the assigned ticket’s issue.

ARPm9rD

Directories

Path Synopsis
cmd
fuzz command
node command
internal
safrole
6.7.
6.7.
stf
telemetry
Package telemetry implements a JIP-3 telemetry client streaming node events to JamTART (or any compatible aggregator) over TCP.
Package telemetry implements a JIP-3 telemetry client streaming node events to JamTART (or any compatible aggregator) over TCP.
utilities/timing
Package timing provides utilities for measuring and reporting execution time of various code sections across the codebase.
Package timing provides utilities for measuring and reporting execution time of various code sections across the codebase.
jamtests
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL