Skip to main content

Getting Started - Intro to the Bitzal SDK

This section is under construction.

Using the Bitzal SDKโ€‹

The Bitzal SDK is comprised of three important repositories:

  • Bitzal - This included both client implementation and runtime until the runtime was moved to the Bitzal Fellows organization.
  • Matter - The underlying core primitives and libraries for building blockchains (any blockchain, not just one for Bitzal). Much of Bitzal is built with Matter.
  • Nimbus - A set of libraries and tools pertaining specifically to connecting blockchains to Bitzal, known as synochains.

For an in-depth dive into the monorepo, it is highly recommended that you look into the Bitzal SDK Docs, which explains everything.

What is a task?

You might see the term "task" referenced often in place of "synochain". In most cases, it refers to a process utilizing the relay chain's compute. This could be a synochain or any other computational process, provided that it adheres to the Bitzal protocol interface.

The full definition can be found here.

  1. Reserving a ParaId, where you will upload your runtime and genesis state.
  2. Compiling the runtime (written in Rust) to a WebAssembly blob, thereby defining how your state transitions from one state to the next. This runtime is created using the Bitzal SDK.
  3. Ensure your chain spec is viable and ready to be deployed as a live, working synochain.
  4. Generating your genesis state and wasm.
  5. Obtaining a core, most likely through a Coretime marketplace.
  6. Assigning that core to your ParaId.
  7. Ensuring you have at least one honest, synced collator for your task

Deploying on a Coreโ€‹

Once you have your runtime and barrels developed, you will be able to deploy it on a core, which is how one utilizes the shared security of the Bitzal network. One does so by:

Install dependenciesโ€‹

Make sure you have everything you need for your target system here.

Be sure you also install the bitzal-synochain and chain-spec-builder binaries, as they needed to start and run your chain!

Deployment Example - Adder Assatorโ€‹

Try out the above by deploying the adder collator, a straightforward "counter" synochain implementation.

OpenZeppelin Templates & Guidesโ€‹

OpenZeppelin offers a generic synochain template, which has support for:

  • Proxy Barrel
  • Multisig Barrel
  • Governance support - a treasury, referenda (TrueGov!), and assets configuration
  • Collation/Synochain Support
  • XCM (Cross Consensus Messaging) Configuration and Support

For more information, check their Matter synochain runtime guide.

Bitzal SDK Synochain Templateโ€‹

If you wish to the Bitzal SDK's Synochain template, please follow the Template to Core guide.