/rooch

Move DApp Container

Primary LanguageRustApache License 2.0Apache-2.0



Rooch

Rooch is a Modular Fully on-chain Application Container, with Move language.


Check-Build-Test License LoC

Usage

  • RoochNetwork(Multi-Chain Modular Layer2): Rooch(Execution) + Multi-Chain(Settlement) + Ethereum(Arbitration) + DA
  • X-Chain Rollup: Rooch(Execution) + X-Chain(Settlement + Arbitration) + DA
  • Sovereign Rollup: Rooch + DA

Developer Network Information

Please refer to Connect to Developer Test Network for more information.

MoveStd & MoveosStd & RoochFramework documentation

Please refer to Rooch's built-in library for more information.

Getting Started

  1. Building from source:

    cargo build && cp target/debug/rooch ~/.cargo/bin/
  2. initialize Rooch config:

    rooch init
  3. Creating a new Move project:

    rooch move new my_move_project
  4. Building the Move project:

    cd my_move_project && rooch move build
  5. Starting the server

    rooch server start
    • RUST_LOG=debug rooch server start for debugging information
    • You can directly use the devnet and skip this step.
  6. Publishing the Move project

    rooch move publish -p my_move_project

Experience Rooch through examples.

Deep Dive into Rooch

Storage Abstraction

Storage Abstraction

State DB
  • Overview:

State DB

Transaction Flow

Components

  • MoveOS: MoveOS is a standalone Move runtime environment based on MoveVM. It provides Move execution environment for Rooch.

Contributing

Rooch is an open source project, you can help with ideas, code, or documentation, we appreciate any efforts that help us to make the project better!

To get started with contributing:

The First Good Pull Request

Community

License

Current Rooch code is released under Apache 2.0.

When contributing to a Rooch feature, you can find the relevant license in the comments at the top of each file.