Skip to main content

Getting Started with Tessera

Tessera is a performant, open-source, clean-room implementation of the JAM protocol as defined in the Gray Paper, developed by Chainscore Labs.

Development Status

This is under active development. APIs and behavior may change. Not safe for production use until a stable 1.0.0 release is published.

Installation

Download Pre-built Binaries

The easiest way to get started is to download pre-built binaries from the Tessera Releases repository.

PlatformDownload Name
Linux x86_64tessera-node-Linux-x64.tar.gz
macOS Apple Silicontessera-node-Darwin-arm64.tar.gz
macOS Inteltessera-node-Darwin-x64.tar.gz

Extract and Run

# Extract the binary
tar -xzf tessera-node-*.tar.gz

# Make executable (if needed)
chmod +x tessera-node

# Check installation
./tessera-node --help

Running a Node

Basic Usage

# Run with specific environment configuration
./tessera-node --env <environment>

Available Environments

Tessera supports multiple test environments. Check the tessera/envs/ directory in the source code for available environment configurations (e.g., 40000.env, 40001.env, etc.).

Running the Fuzzer

For conformance testing:

./tessera-node --fuzzer --socket /tmp/jam_conformance.sock

This mode is useful for:

  • Testing protocol conformance
  • Integration with conformance test suites
  • Development and debugging

Build Information

  • Python Version: 3.12
  • Packager: PyInstaller
  • Automated Builds: Available via GitHub Actions
  • Release Cycle: Check releases page for latest versions

Next Steps

Now that you have Tessera installed, explore the following sections:

  • Block - Learn about block import, production, and fork handling
  • State Transitions - Understand JAM's state transition functions
  • PVM - Explore the Polkadot Virtual Machine integration
  • Networking - Understand the JAMNP-S protocol
  • Storage - Learn about data sharding and distribution

Support

For issues, questions, or support:

Contributing

Tessera is an open-source project. Contributions are welcome! See the main Tessera repository for contribution guidelines.

License

See the LICENSE file in the Tessera repository for details.