evolve-modules

Develop custom Evolve SDK blockchain modules in Rust with compile-time validated storage.

4|Updated Feb 11, 2026
One-click install
npx skills add https://github.com/evstack/ev-rs --skill evolve-modules
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: evolve-modules
Source: https://github.com/evstack/ev-rs/tree/main/.claude/skills/evolve-modules
Command: npx skills add https://github.com/evstack/ev-rs --skill evolve-modules

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and scripts (resource) components.

What problem does it solve?

This Skill provides the tools and guidance to develop custom modules for the Evolve blockchain SDK, enabling developers to create new blockchain functionalities.

Core Features & Use Cases

  • Module Development: Write stateless code executors implementing the AccountCode trait.
  • State Management: Utilize compile-time validated storage prefixes with #[derive(AccountState)] and various collections (Item, Map, Vector).
  • Function Markers: Define initialization (#[init]), execution (#[exec]), and query (#[query]) functions with clear environment interactions.
  • Error Handling & Events: Implement custom errors and emit events for transaction results.
  • Testing: Write unit tests with MockEnv and integration tests with TestApp.

Quick Start

Create a new module by defining a struct with #[derive(AccountState)] and implementing its methods using function markers like #[init], #[exec], and #[query].

Frequently Asked Questions about evolve-modules

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build custom blockchain modules with Rust and an EVM SDK?

To build custom blockchain modules with Rust and an EVM SDK, you implement the `AccountCode` trait to create stateless code executors. This approach enables deterministic execution and direct interaction with the blockchain environment.

How does state management work for Rust smart contracts?

State management for Rust smart contracts uses compile-time validated storage prefixes via `#[derive(AccountState)]`. Developers utilize collections like `Item`, `Map`, and `Vector` to safely maintain account-centric state data.

What is the best way to define initialization and execution logic for EVM modules?

The best way to define initialization and execution logic for EVM modules is using function markers. You apply `#[init]` for setup, `#[exec]` for execution, and `#[query]` to define read-only environment interactions.

Can I write unit and integration tests for Rust blockchain modules?

Yes, you can write unit and integration tests for Rust blockchain modules. The SDK provides `MockEnv` for isolated unit testing and `TestApp` for comprehensive integration testing to ensure robust decentralized applications.

How do I handle errors and emit events in blockchain module development?

In blockchain module development, you handle errors and emit events by implementing custom error types and using built-in event emission features. This records transaction results and state changes within the blockchain environment.