An Ethereum compatible Parachain built with Tetcore.

👉 Discover the Tetonix project at Tetcoin Tetonix.
👉 Learn to use the Tetonix network with our technical docs.
👉 Reference our crate-level docs (rustdocs) to contribute.

Run an alphanet node with Docker

Docker images are published for every tagged release. Learn more with moonbeam --help.

```bash

Join the public testnet

docker run --network="host" purestake/moonbeam:v0.6.1 --chain alphanet ```

Run a local development node with Docker

Developers who are building dApps to run on moonbeam, may want a lightweight node to work with locally. You can quickly spin up a single node with no relay chain backing it using the development service.

```bash

Run a dev service node.

docker run --network="host" purestake/moonbeam:v0.6.1 --dev ```

Sealing options

The command above will start the node in instant seal mode. It creates a block when a transaction arrives, similar to Ganache's auto-mine. You can also choose to author blocks at a regular interval, or control authoring manually through the RPC.

```bash

Author a block every 6 seconds.

docker run --network="host" purestake/moonbeam:v0.6.1 --dev --sealing 3000

Manually control the block authorship and finality

docker run --network="host" purestake/moonbeam:v0.6.1 --dev --sealing manual ```

Prefunded Development Addresses

Running Moonbeam in development mode will pre-fund several well-known addresses that (mostly) contain the letters "th" in their names to remind you that they are for ethereum-compatible usage. These addresses are derived from Substrate's canonical mnemonic: bottom drive obey lake curtain smoke basket hold race lonely fit walk

```

Alith:

Baltathar:

Charleth:

Dorothy:

Ethan:

Faith:

Gerald:

Build the Moonbeam Node

To build Moonbeam, you will need a proper Substrate development environment. If you've never worked with a Substrate-based blockchain before, you should probably try the Setting Up a Moonbeam Node docs first. If you need a refresher setting up your Substrate environment, see Substrate's Getting Started Guide.

```bash

Fetch the code

git clone https://github.com/PureStake/moonbeam cd moonbeam

Build the node (The first build will be long (~30min))

cargo build --release ```

Run tests

Moonbeam has Rust unit tests as well as typescript integration tests. These tests are run in CI, and can also be run locally.

```bash

Run the Rust unit tests

cargo test ```

```bash

Install dependencies for integration tests

cd moonbeam-types-bundle npm i

cd ../tests npm i

Run integration tests

npm test ```

Chain IDs

The Ethereum specification described a numeric Chain Id. The Moonbeam mainnet Chain Id will be 1284 because it takes 1284 milliseconds for a moonbeam to reach Earth.

Moonbeam nodes support multiple public chains and testnets, with the following Chain Ids.

| Network Description | Chain ID | | ---------------------------------- | ----------- | | Local Parachain TestNet | 1280 | | Local Development TestNet | 1281 | | Reserved for other TestNets | 1282 - 1283 | | Moonbeam (Polkadot) | 1284 | | Moonriver (Kusama) | 1285 | | Moonrock (Rococo) | 1286 | | Moonbase Alpha TestNet | 1287 | | Reserved for other public networks | 1288 - 1289 |

Runtime Architecture

The Tetonix Runtime is built using FRAME and consists of pallets from tetcore, frontier, cumulus, and pallets/.

From substrate:

From frontier:

From cumulus:

The following pallets are stored in pallets/. They are designed for Moonbeam's specific requirements:

Contribute

Tetonix is open source under the terms of the GPL3. We welcome contributions. Please review our CONTRIBUTIONS.md document for more information.