Building the Future with FluffyLabs and Typeberry
January 20th, 2025 by Tomek DrwięgaI’ve been working with FluffyLabs on building a comprehensive TypeScript implementation of the JAM protocol called typeberry, along with a suite of developer tools for JAM development.
FluffyLabs: A Developer Collective
FluffyLabs is a collective of developers working together towards building practical, high-quality tools for the JAM protocol. Rather than a traditional company, we operate as a group of contributors focused on creating tools that work without unnecessary complexity. Our approach is straightforward: we build functional blockchain infrastructure, with JAM protocol development being our primary focus.
You can find all our projects on GitHub and learn more about our work at fluffylabs.dev.
Typeberry: Our JAM Implementation
The main project we’re working on is typeberry, a complete TypeScript implementation of the JAM (Join-Accumulate Machine) protocol. JAM is the next iteration of Polkadot’s architecture, and typeberry aims to be a developer-friendly, performant implementation that simplifies building on this protocol.
Currently, typeberry is in stealth mode as we’re participating in the decentralized JAM contest. We chose TypeScript for this implementation because it provides strong tooling and developer experience, making it a practical choice for a JAM implementation that prioritizes accessibility and ease of use.
JAM Developer Toolkit
Beyond typeberry, we’ve built several tools to support JAM development:
PVM Debugger
A debugging tool for the Polkadot Virtual Machine (PVM) that helps developers understand and troubleshoot their JAM applications. The tool provides insights into PVM execution to help identify and fix issues during development.
Gray Paper Reader
An interactive tool to help developers read and understand the JAM Gray Paper. The Gray Paper is the technical specification for JAM, and this reader provides enhanced navigation and explanatory features for the document.
JAM Search
A search engine for JAM-related content and documentation. The tool helps developers find information when working with JAM protocols and implementations.
JAM Codec
A codec library for JAM data structures, providing serialization and deserialization capabilities. This is infrastructure for applications that need to interact with JAM networks.
Trie Visualiser
A tool that visualizes Patricia Merkle Tries, which are data structures used in JAM. The visualization helps developers understand how these data structures work and how they’re used in the protocol.
Test Vectors
We maintain test vectors for JAM implementations to ensure compatibility and correctness across different implementations of the protocol.
Technology Stack
Our projects primarily use TypeScript, which provides type safety and developer tooling while maintaining the flexibility needed for blockchain development. We also use Rust for performance-critical components and Python for utilities and testing tools.
TypeScript was chosen for our main JAM implementation because of its strong typing system that helps catch errors early, and its ecosystem that provides tools for testing, debugging, and deployment.
Current Status
The JAM protocol represents an advancement in blockchain technology, and we’re contributing to its ecosystem. Our goal with FluffyLabs is to make this technology accessible to more developers by providing quality tools and implementations.
We continue developing typeberry and expanding our toolkit, focusing on improving the developer experience in the JAM ecosystem. Our tools are designed to help developers build applications more efficiently, whether they’re experienced with blockchain development or new to JAM.
You can follow our progress on GitHub and learn more about our work at fluffylabs.dev.