Skip to content
A template for creating pluggable Substrate runtime modules.
Branch: master
Clone or download
Latest commit f46c743 Jul 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Update module template Jun 24, 2019
.gitattributes Initial commit May 31, 2019
.gitignore Initial commit May 31, 2019
Cargo.toml Remove default features from `dev-dependencies` Jul 10, 2019 Update Jul 10, 2019


This is a template for a Substrate runtime module which lives as its own crate so it can be imported into multiple other runtimes. It is based on the "template" module which is included with the Substrate node template.

Check out the HOWTO to learn how to use this for your own runtime module.

This README should act as a general template for distributing your module to others.


This module acts as a template for building other runtime modules.

It currently allows a user to put a u32 value into storage, which triggers a runtime event.



This module does not depend on any externally defined traits.


This module does not depend on any other SRML or externally developed modules.


Runtime Cargo.toml

To add this module to your runtime, simply include the following to your runtime's Cargo.toml file:

default_features = false
git = ''

and update your runtime's std feature to include this module:

std = [


You should implement it's trait like so:

/// Used for the module test_module
impl substrate_module_template::Trait for Runtime {
	type Event = Event;

and include it in your construct_runtime! macro:

ExampleModule: substrate_module_template::{Module, Call, Storage, Event<T>},

Genesis Configuration

This template module does not have any genesis configuration.

Reference Docs

You can view the reference docs for this module by running:

cargo doc --open

or by visiting this site:

You can’t perform that action at this time.