The Moonbase Alpha TestNet¶
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 36 collator nodes run by the community
- The relay chain hosts validators 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
Some important variables/configurations to note include:
Variable | Value |
---|---|
Minimum gas price | 0.03125 Gwei |
Target block time | 6 seconds |
Block gas limit | 60,000,000 |
Transaction gas limit | 52,000,000 |
Variable | Value |
---|---|
Minimum delegation stake | 1 DEV |
Maximum delegators per candidates | 300 |
Maximum delegations per account | 100 |
Round | 1200 blocks (2 hour) |
Bond duration | delegation takes effect in the next round (funds are withdrawn immediately) |
Unbond duration | 2 rounds (4 hours) |
Note
As of runtime 3000, asynchronous backing has been enabled on all Moonbeam networks. As a result, the target block time was reduced from 12 seconds to 6 seconds, which may break some timing-based assumptions.
Additionally, as of runtime 2900, the block and transaction gas limits increased by 4x on Moonbase Alpha.
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 | Limits |
---|---|---|
Blast |
| 80 req/sec |
Dwellir |
| 20 req/sec |
OnFinality |
| 40 req/sec |
Moonbeam Foundation |
| 25 req/sec |
UnitedBloc |
| 32 req/sec |
RadiumBlock |
| 200 req/sec |
Provider | RPC URL | Limits |
---|---|---|
Blast |
| 80 req/sec |
Dwellir |
| 20 req/sec |
OnFinality |
| 40 req/sec |
Moonbeam Foundation |
| 25 req/sec |
UnitedBloc |
| 32 req/sec |
RadiumBlock |
| 200 req/sec |
Relay Chain¶
To connect to the Moonbase Alpha relay chain, you can use the following WS Endpoint:
Provider | RPC URL |
---|---|
OpsLayer |
|
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.JsonRpcProvider(providerURL, {object})
and setting the provider URL to Moonbase Alpha:
const ethers = require('ethers'); // Load Ethers library
const providerURL = 'https://rpc.api.moonbase.moonbeam.network';
// Define provider
const provider = new ethers.JsonRpcProvider(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.
Alphanet Relay Chain¶
The Alphanet relay chain is connected to Moonbase Alpha and is Westend-based but unique to the Moonbeam ecosystem. It resembles how you would interact with Kusama or Polkadot. The native tokens of the Alphanet relay chain are UNIT tokens, which are for testing purposes only and have no real value.
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.
You can enter your address to automatically request DEV tokens from the Moonbase Alpha Faucet website. The faucet dispenses 1.1 DEV tokens every 24 hours.
For token requests of more than the limited amount allowed by the faucet, 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 60,000,000, with a maximum gas limit per transaction of 52,000,000.
| Created: September 10, 2020