mvs-org / new-frontiers

Metaverse Virtual Machine
https://mvs.org
Other
7 stars 8 forks source link
blockchain metaverse rust-lang

MetaverseVM Node

Enter the Metaverse. THE NEW REALITY :rocket:

Getting Started

Follow the steps below to take control and compile your own node. :hammer_and_wrench:

Rust Setup

First, complete the basic Rust setup instructions.

Run

Use Rust's native cargo command to build and launch the template node:

cargo run --release -- --dev --tmp

Build

The cargo run command will perform an initial build. Use the following command to build the node without launching it:

cargo build --release

Embedded Docs

Once the project has been built, the following command can be used to explore all parameters and subcommands:

./target/release/metaverse-vm -h

Run

The provided cargo run command will launch a temporary node and its state will be discarded after you terminate the process. After the project has been built, there are other ways to launch the node.

Single-Node Development Chain

This command will start the single-node development chain with persistent state:

./target/release/metaverse-vm --dev

Purge the development chain's state:

./target/release/metaverse-vm purge-chain --dev

Start the development chain with detailed logging:

RUST_LOG=debug RUST_BACKTRACE=1 ./target/release/metaverse-vm -lruntime=debug --dev

Run the testnet

./target/release/metaverse-vm --chain testnet

Conect your wallet

By default the node will provide a HTTP RPC endpoint on http://127.0.0.1:9933 as well as a websocket RPC endpoint on ws://127.0.0.1:9944.

To connect your browser wallet or any other compatible wallet you can set the URL to the HTTP URL.

Template Structure

Metaverse is built using the Substrate Blockchain Framework. A Substrate project such as this consists of a number of components that are spread across a few directories.

Node

A blockchain node is an application that allows users to participate in a blockchain network. Nodes expose a number of capabilities:

There are several files in the node directory - take special note of the following:

After the node has been built, refer to the embedded documentation to learn more about the capabilities and configuration parameters that it exposes:

./target/release/metaverse-vm --help

Run in Docker

First, install Docker and Docker Compose.

Then run the following command to start a single node development chain.

./scripts/docker_run.sh

This command will firstly compile your code, and then start a local development network. You can also replace the default command (cargo build --release && ./target/release/metaverse-vm --dev --ws-external) by appending your own. A few useful ones are as follow.

# Run Substrate node without re-compiling
./scripts/docker_run.sh ./target/release/metaverse-vm --dev --ws-external

# Purge the local dev chain
./scripts/docker_run.sh ./target/release/metaverse-vm purge-chain --dev

# Check whether the code is compilable
./scripts/docker_run.sh cargo check