#blockchain #muta #framework #consensus #nervos #chain #traits

nightly muta-protocol

Contains all the core data types and traits of the muta framework

2 releases

0.1.0-alpha.1 Jan 14, 2020
0.1.0-alpha.0 Jan 2, 2020

#4 in #muta

27 downloads per month
Used in 2 crates

MIT license

105KB
2.5K SLoC

Build your own blockchain,today

chat on Discord

Developed by Nervos

English | 简体中文

What is Muta?

Muta is a highly customizable high-performance blockchain framework. It has a built-in BFT-like consensus algorithm "Overlord" with high throughput and low latency, and it can also support different virtual machines, including CKB-VM, EVM, and WASM. Muta has interoperability across VMs. Different virtual machines can be used in a Muta-based blockchain at the same time. Developed by the Nervos team, Muta is designed to allow anyone in the world to build their own blockchain while enjoying the security and finality brought by Nervos CKB.

Developers can customize PoA, PoS or DPoS chains based on Muta, and use different economic models and governance models. Developers can also develop different application chains (such as DEX chains) based on Muta to implement a specific business logic.

Muta's core design philosophy is to make the development of a blockchain state transition as flexible and simple as possible, which means that while reducing the obstacles to build high-performance blockchains, it still maximizes its flexibility to facilitate developers to customize their business logic. Therefore, as a highly customizable high-performance blockchain framework, Muta provides a basic core component that a blockchain system needs, and developers can customize the functional parts of the chain freely.

Getting Started!

Muta Documentation

Quickly build a simple chain and try some simple interaction, please refer to Quick Start

The basic core component Muta provided

Muta provided all the core components needed to build a blockchain:

Customizable Part

Developers can customize the functional parts of the chain by developing Services.

Service is an abstraction layer for extension in Muta framework. Users can define block management, add VMs, etc. based on Service. Each Service, as a relatively independent logical component, can implement its specific function, and at the same time, different services can directly interact with each other, so that more complex functional logic can be constructed. More flexible is that services from different chains can also be reused, which makes it easier for developers to build their own functional modules.

We provide detailed service development guides and some service examples.

Developer Resources

Developer resources can be found here

Who is using Muta?

Muta powers some open source projects.

Is your project using Muta? Edit this page with a Pull Request to add your logo.🎉

How to Contribute

The contribution workflow is described in CONTRIBUTING.md, and security policy is described in SECURITY.md.

Dependencies

~10MB
~181K SLoC