/Setheum

Setheum Network - Substrate based Blockchain Network, Islamic Finance DeFi, SERP Multi-Stable-Currency DeFi Payment => 🚀ready for hacking🚀

Primary LanguageRustGNU General Public License v3.0GPL-3.0

Setheum Network Node

Setheum's Blockchain Network node Implementation in Rust, Substrate FRAME and SERML, ready for hacking 🚀

Setheum version Substrate version License
Twitter URL Telegram Medium Setheum

Getting Started

This project contains some configuration files to help get started 🛠️

Rust Setup

Follow the Rust setup instructions before using the included Makefile to build the Setheum node.

Makefile

This project uses a Makefile to document helpful commands and make it easier to execute them. Get started by running these make targets:

  1. make init - Run the init script to configure the Rust toolchain for WebAssembly compilation.
  2. make run - Build and launch this project in development mode.

The init script and Makefile both specify the version of the Rust nightly compiler that this project depends on.

Build

Install Rust:

curl https://sh.rustup.rs -sSf | sh

Make sure you have submodule.recurse set to true to make life with submodule easier.

git config --global submodule.recurse true

Install required tools and install git hooks:

make init

Build Newrome native code:

make build-dev

Run

You can start a development chain with:

make run

Development

To type check:

make check-all

To purge old chain data:

make purge

To purge old chain data and run

make restart

Update ORML

make update

Note: All build command from Makefile are designed for local development purposes and hence have SKIP_WASM_BUILD enabled to speed up build time and use --execution native to only run use native execution mode.

6. Bench Bot

Bench bot can take care of syncing branch with master and generating WeightInfos for module or runtime.

Generate module weights

Comment on a PR /bench runtime module <module_name> i.e.: setheum_prices

Bench bot will do the benchmarking, generate weights.rs file push changes into your branch.

Generate runtime weights

Comment on a PR /bench runtime <runtime> <module_name> i.e.: /bench runtime newrome setheum_currencies.

To generate weights for all modules just pass * as module_name i.e: /bench runtime newrome *

Bench bot will do the benchmarking, generate weights file push changes into your branch.