Welcome to the Oslo Network, a high-performance Substrate-based blockchain node specifically tailored for robust consensus and decentralized application scaling.
Oslo provides a secure and scalable environment for deploying and interacting with smart contracts and blockchain primitives. Built on the powerful Polkadot SDK, Oslo integrates both standard Substrate pallets and the Frontier EVM compatibility layer, ensuring developers can use familiar tooling like Truffle, Hardhat, and standard Web3 libraries out of the box.
Please ensure you have completed the standard Substrate environment setup. Refer to the official Substrate documentation for installing Rust and the required dependencies.
Use Cargo to compile the node. This process might take a while depending on your hardware:
cargo build --releaseTip: Add -j <threads> to speed up compilation if you have a multi-core CPU.
To run a temporary, single-node development chain (where state is discarded upon exit):
./target/release/oslo-network --devTo persist state across runs, you can specify a base path, such as the local node-storage directory:
./target/release/oslo-network --dev --base-path ./node-storage- Node: The core executable that handles networking (libp2p), consensus (Aura & GRANDPA), and RPC endpoints. Configuration is located in
node/src/chain_spec.rsandnode/src/service.rs. - Runtime: The state transition function (STF) defining the business logic of the blockchain. Oslo utilizes FRAME to compose multiple pallets into a unified runtime (
runtime/src/lib.rs). - Pallets: Individual modules handling specific functionality, such as balances, staking, EVM execution, and more.
Oslo includes a comprehensive TypeScript test suite for its EVM compatibility layer.
To run the TypeScript integration tests:
cd ts-tests
npm install
npm run testContributions are welcome! Please ensure that all code is properly formatted (cargo fmt and npm run prettier) before submitting a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.