Skip to content

stabilityprotocol/stability

Repository files navigation

stability

Built using Substrate and Rust, the Stability blockchain serves as a scalable solution for optimized gas market access.

Building and Running

Compiling the Blockchain

Navigate to the root directory of the project and run the following command to compile the Stability chain:

cargo build --release

Initiating the Node

To start the Stability chain in development mode, execute this command:

./target/release/stability --dev

Manual Block Sealing

For manually sealing blocks via RPC, which is particularly useful for TypeScript tests, use the following command:

./target/release/stability --dev --manual-seal

Docker Deployment

For containerized deployment options, please refer to the Docker guidelines available in the docker/ directory.

Architecture

The Stability Substrate chain is built upon Polkadot version 0.9.36 and leverages the frontier framework to ensure full Ethereum compatibility. Our architecture incorporates a carefully selected set of pallets, each serving a unique role in the overall functionality of the blockchain.

Core Pallets

Consensus Mechanisms

  • AuRa: An adaptive and reactive consensus algorithm.
  • GRANDPA: GHOST-based Recursive Ancestor Deriving Prefix Agreement.

Ethereum Virtual Machine (EVM)

  • pallet-evm: Provides EVM functionalities, enabling the execution of Ethereum-based applications.
  • pallet-ethereum: Ensures compatibility with the Ethereum API.

Substrate Native Pallets

  • session: Manages session keys and validator sets.
  • timestamp: Responsible for on-chain timekeeping.
  • collective: Facilitates governance functionalities.

Third-Party Pallets

  • Moonbeam's precompile-utils: A utility pallet offering precompiled contract support.