Skip to content

The Moonbase Alpha TestNet

Updated May 26th, 2022

Note

With the release of Moonbase Alpha v8, the minimum gas price has been set to 1 GDEV (similar to GWei on Ethereum). This might be a breaking change if you've previously specified a gas price of 0 for your deployment.

Goal

The first Moonbeam TestNet, named Moonbase Alpha, aims to provide developers with a place to start experimenting and building on Moonbeam in a shared environment. Since Moonbeam is deployed as a parachain on Kusama and Polkadot, the goal of the TestNet is to reflect the production configurations. For this reason, it was decided that it needed to be a parachain-based configuration rather than a Substrate development setup.

In order to collect as much feedback as possible and provide fast issue resolution, please join the Moonbeam Discord.

Initial Configuration

Moonbase Alpha has the following configuration:

  • Runs as a parachain connected to a relay chain
  • Has an active set of 80 collator nodes, including some run by PureStake
  • The relay chain hosts validators run by PureStake to finalize relay chain blocks. One of them is selected to finalize each block collated by Moonbeam's collators. This setup provides room to expand to a two-parachain configuration in the future
  • Has infrastructure providers that provide API endpoints to connect to the network. Projects can also run their own node to have access to their own private endpoints

TestNet Diagram

Some important variables/configurations to note include:

Variable Value
Minimum gas price Gwei
Target block time seconds (expected to be 6 seconds)
Block gas limit 15M (expected to increase by at least 4x)
Transaction gas limit 12.995M (expected to increase by at least 4x)
Variable Value
Voting period 36000 blocks (5 days)
Fast-track voting period 1200 blocks ( days)
Enactment period 7200 blocks (1 day)
Cool-off period 50400 blocks (7 days)
Minimum deposit 4 DEV
Maximum votes 100
Maximum proposals 100
Variable Value
Minimum delegation stake 1 DEV
Maximum delegators per candidates 300
Maximum delegations per account 100
Round 600 blocks (2 hours)
Bond duration delegation takes effect in the next round (funds are withdrawn immediately)
Unbond duration 2 rounds

Network Endpoints

Moonbase Alpha has two types of endpoints available for users to connect to: one for HTTPS and one for WSS.

If you're looking for your own endpoints suitable for production use, you can check out the Endpoint Providers section of our documentation. Otherwise, to get started quickly you can use one of the following public HTTPS or WSS endpoints.

Provider RPC URL
Blast
https://moonbase-alpha.public.blastapi.io
OnFinality
https://moonbeam-alpha.api.onfinality.io/public
PureStake
https://rpc.api.moonbase.moonbeam.network
Provider RPC URL
Blast
wss://moonbase-alpha.public.blastapi.io
OnFinality
wss://moonbeam-alpha.api.onfinality.io/public-ws
PureStake
wss://wss.api.moonbase.moonbeam.network

Relay Chain

To connect to the Moonbase Alpha relay chain, you can use the following WS Endpoint:

Provider RPC URL
PureStake
wss://frag-moonbase-relay-rpc-ws.g.moonbase.moonbeam.network

Quick Start

For the web3.js library, you can create a local Web3 instance and set the provider to connect to Moonbase Alpha (both HTTP and WS are supported):

const Web3 = require('web3'); //Load Web3 library
.
.
.
//Create local Web3 instance - set Moonbase Alpha as provider
const web3 = new Web3('https://rpc.api.moonbase.moonbeam.network'); 
For the ethers.js library, define the provider by using ethers.providers.StaticJsonRpcProvider(providerURL, {object}) and setting the provider URL to Moonbase Alpha:

const ethers = require('ethers');

const providerURL = 'https://rpc.api.moonbase.moonbeam.network';
// Define Provider
const provider = new ethers.providers.StaticJsonRpcProvider(providerURL, {
    chainId: 1287,
    name: 'moonbase-alphanet'
});

Any Ethereum wallet should be able to generate a valid address for Moonbeam (for example, MetaMask).

Chain ID

Moonbase Alpha TestNet chain ID is: 1287, which is 0x507 in hex.

Telemetry

You can see current Moonbase Alpha telemetry information by visiting Polkadot's Telemetry dashboard.

Tokens

Tokens on Moonbase Alpha, named DEV, will be issued on demand. DEV tokens hold no value and can be freely acquired. Currently, there are a few ways you can get access to this token: through the Moonbase Alpha Faucet, a Discord bot, or manually.

Moonbase Alpha Faucet

You can enter your address to automatically request DEV tokens from the Moonbase Alpha Faucet website. The faucet dispenses 5 DEV tokens every 24 hours.

Discord - Mission Control

To request tokens automatically, we've created a Discord bot (named Mission Control 😎) that will automatically send a maximum of 1 DEV token every 24 hours (per Discord user) when you enter your address. You can check it out on our Discord channel.

Note

The Discord faucet will be deprecated by end of June 2022.

Under the category Miscellaneous, you will find the #moonbase-faucet channel. Enter the following message, replacing <enter-address-here> with your H160 address:

!faucet send <enter-address-here>

Manual Procedure

For token requests of more than the limited account allowed by our Discord bot, contact a moderator directly via the Moonbeam Discord server. We are happy to provide the tokens needed to test your applications.

Proof of Stake

The Moonbase Alpha TestNet is a fully decentralized Delegated Proof of Stake network where users of the network can delegate collator candidates to produce blocks and "earn rewards" for testing purposes. Please note, that the Moonbase Alpha DEV tokens have no real value. The number of candidates in the active set will be subject to governance. The active set will consist of the top candidates by stake, including delegations.

Limitations

This is the first TestNet for Moonbeam, so there are some limitations.

Some precompiles are yet to be included. You can check out the list of supported precompiles on the Canonical Contract page. However, all built-in functions are available.

Since the release of Moonbase Alpha v6, the maximum gas limit per block has been set to 15M, with a maximum gas limit per transaction of 12.995M.