zkVerify blog

zkVerify - Version 0.5.2 Release Announcement

a new version release is introducing new substrate building blocks : pallets .

Introducing New Substrate Building Blocks: Pallets

We’re excited to announce the release of zkVerify Version 0.5.2, packed with new features that significantly enhance the platform’s capabilities! This update introduces several powerful Substrate pallets that broaden the scope of zkVerify, delivering advanced blockchain functionality for developers and users alike.

New Pallets in Version 0.5.2:

  • Treasury Pallet: enables on-chain governance for treasury management, allowing transparency and decentralization in managing and allocating funds for various purposes.
  • Bounties Pallet: working in conjunction with the Treasury, this pallet facilitates the creation and management of bounties, incentivizing community contributions to specific tasks or projects.
  • Vesting Pallet: this new module introduces token vesting functionality, enabling the gradual release of tokens to recipients over a specified period - crucial for sustainable tokenomics.
  • Utility Pallet: significantly reduces gas costs by enabling the execution of multiple extrinsics in a single transaction. This is particularly beneficial for operations such as validator and nominator payouts.

These pallets work together to create a feature-rich and interoperable blockchain ecosystem. For instance, the interaction between the Treasury and Bounties pallets empowers the community to vote on and fund proposals, encouraging collaboration and decentralized governance.

A Closer Look: What Are Substrate Pallets Exactly?

In the Substrate framework, pallets are self-contained modules that encapsulate specific blockchain functionalities. They serve as the primary building blocks for constructing custom blockchain runtimes. Each pallet typically includes:

  • Storage items: on-chain data structures.
  • Extrinsics: functions that can be called from outside the runtime.
  • Events: notifications are emitted when specific actions occur.
  • Errors: custom error types for pallet-specific failures.
  • Config trait: defines the pallet's configurable options.

Substrate Pallets are written in Rust and utilize Substrate's domain-specific language, FRAME (Framework for Runtime Aggregation of Modularized Entities). This ensures type safety, efficient execution, and seamless integration within the Substrate ecosystem.

a screenshot of the substrate frame pallets
Source: https://docs.substrate.io/learn/runtime-development/

Why Pallet-Based Architecture Matters?

Here’s why using a pallet-based system offers so many advantages:

  • Modularity: developers can mix and match pallets to create custom, often complex, blockchain logic.
  • Reusability: pre-built pallets save time and effort by allowing developers to reuse existing components across multiple projects.
  • Security: many pallets have been extensively audited and battle-tested, reducing the risk of vulnerabilities in critical blockchain components.
  • Community-driven development: the open-source nature of Substrate encourages continuous improvement and contributions from the global developer community, further enhanced by resources like Substrate Marketplace.

Get started with zkVerify!

Want to explore zkVerify? Here’s how you can dive in: