In the months since its initial launch, Moonbeam has proven to be the go-to destination for builders in the Polkadot ecosystem: dozens of projects have deployed already, with many more to come once oracles and VRF (verifiable randomness) functionality are live.
Let’s take a look at why so many multi-chain and native projects alike have selected Moonbeam as their destination of choice.
1. Full EVM Compatibility and Solidity Support
Moonbeam is EVM compatible, but Polkadot does not natively support the EVM (Ethereum virtual machine), which means that developers cannot directly use Solidity smart contracts in the Polkadot ecosystem. Instead, the default way to create logic in Polkadot is through Substrate. This is problematic for projects that are already live on Ethereum or another EVM-compatible network: in order to expand to access users and assets on Polkadot, they’d need to rebuild or rewrite existing smart contracts using this new development framework, and maintain these two divergent codebases on an ongoing basis. Similarly, lack of Solidity support makes it difficult for new projects to enter the ecosystem. Since Solidity has been in existence since 2014, it’s simply the best-documented smart contract language in the Web3 space, with thousands of tutorials and educational resources freely available for newcomers to the space.
For all of these reasons, the Moonbeam team worked with Parity to develop the Frontier pallet to provide EVM compatibility for the broader Polkadot ecosystem. As a collection of Substrate pallets, any team can leverage this functionality for their parachain. The Moonbeam team continues to be the most active contributors to the Frontier pallet, recently adding support for transaction fee changes as a result of EIP-1559.
Moonbeam achieves a development environment that is as Ethereum-like as possible, including conforming to Ethereum’s H160 account structure, which will be explained below.
2. Unified Accounts and Private Key Format, Seamlessly Integrated with Ethereum
Unlike some EVM-compatible chains, Moonbeam has adopted the H160 format of Ethereum, allowing seamless usage of Ethereum-style wallet addresses and private keys. Thus, users can use the same private key and corresponding address to interact with both Ethereum and Moonbeam, including Moonbeam’s unique Substrate-based functionalities like staking and voting in on-chain referenda. In this way, users do not have to manage different addresses for each network or switch private keys and wallets when completing multi-chain operations. It also avoids the problem of “mapped” addresses: this is a scheme where parachains use the standard Substrate-style H256 addresses, but each is linked with an Ethereum-style address for which the user doesn’t have the keys. This design quickly becomes problematic in use cases where individuals don’t realize they only have one set of keys and are unable to complete certain kinds of transactions using their mapped Ethereum-style address. Moonbeam’s Unified Accounts approach creates the most frictionless user experience possible by standardizing the most popular and easy-to-use address format.
3. Fully Compatible with Ethereum Development Tools
Moonbeam is also fully compatible with the Ethereum toolkit. Developers can utilize the Solidity tools that they are already familiar with, which are currently the most mature tools in the blockchain development ecosystem. These include Truffle, Remix, Hardhat, Waffle, Scaffold-eth, and many other well-known development tools.
This is made possible through Moonbeam’s set of Web3 RPCs, which allow these developer tools to connect and interact with Moonbeam in the same way they would Ethereum.
In addition to these developer tools, there are a number of APIs and oracles available to Moonbeam developers, including The Graph subgraphs, Chainlink price feeds, and APIs from SubQuery, Onfinality, and Covalent.
Through these tools and infrastructure services, developers can continue to use their favorite tools and services while building applications on Moonbeam.
4. The Largest and Most Active Ecosystem on Polkadot
As a culmination of these compatibility efforts, there are already 100+ projects building on the Moonbeam. This brings a number of attractive opportunities for builders in the space that need access to a variety of DEXes, launchpads, bridges, and other key DeFi applications that can help them successfully launch. Projects within the Moonbeam ecosystem frequently collaborate, creating a tight-knit community of founders and builders.
5. Substrate Compatibility
While compatible with Ethereum, Moonbeam is also a Polkadot parachain based on the Substrate framework. This means that Moonbeam is compatible with all Polkadot parachains through functionality called XCM (cross-consensus messaging). Once fully live (it’s currently in active development by the Parity team), users can move assets across the Polkadot Relay Chain and natively interact with other parachains.
Additionally, since it is based on Substrate rather than Geth (like Ethereum itself), Moonbeam can take advantage of Substrate-specific functionality like on-chain governance and staking. Since Moonbeam is a parachain on Polkadot, it also benefits from shared security through Polkadot’s mature pool of network validators. This means that all transactions generated on any parachain connected to Polkadot are finalized by the same shared set of validators rather than an independently-recruited set.
6. XC-20s: Cross-Chain Capable ERC-20s on Moonbeam
While XCM makes it possible to move assets between Polkadot parachains, there are some practical differences between Substrate-native tokens on other parachains and the ERC-20s deployed to Moonbeam’s EVM. To bridge this gap, Moonbeam introduced XC-20s.
XC-20s are a new type of interoperable token that conform to the ERC-20 standard but are also Substrate-native assets. All fungible assets created in this format are able to move to other Polkadot parachains, and remote parachain tokens are able to move to Moonbeam as XC-20s. This is possible through a special precompile that is added to Moonriver and Moonbeam ERC-20s, making them accessible by the underlying Substrate architecture, translating EVM code to Rust.
The XC-20 standard allows Substrate tokens such as KSM, DOT or other parachains’ assets to make their way to the Moonriver and Moonbeam EVM environment. They then become regular ERC-20s from the perspective of the EVM, allowing them to be used in DeFi or other applications. The connection can work in reverse, too, allowing native Moonriver ERC-20s to be transferred to other parachains. Some setup is still required in order to activate this cross-chain interaction, such as opening an HRMP channel between Moonriver and the target chain.
There are multiple XC-20s currently live on Moonriver, including xcRMRK, xcKSM, xcKINT, and xcKAR. Once proven on Moonriver, this same functionality will be available on Moonbeam as well.
7. Heavy Investment in an Optimized Developer Experience, Including Comprehensive Technical Support
Moonbeam was always envisioned as a developer-oriented platform and continues to prioritize the developer experience in its day-to-day operations. The team invested early and often into the developer relations function, launching a developer documentation site with comprehensive tutorials in the months leading up to its TestNet launch. The Moonbeam developer relations team also provides technical support to developers in all steps of the development process, and members of the team are available globally to assist builders across a variety of time zones.
The developer relations team and other members of the support staff are available to answer technical questions through the Moonbeam Discord server. Developers can share issues and ask questions for around-the-clock technical support.
8. International Documentation Support
Although the Moonbeam project is led by a primarily English- and Spanish-speaking team, we recognize that great developers come from many areas of the world. In an effort to offer the broadest support possible for builders in a number of regions, the Moonbeam team has translated the documentation site into a number of languages including Spanish, French, Chinese, and Russian. These translations were created and are maintained by both internal and external resources (with a number of contributions from the dedicated ambassador community). Additionally, the developer relations team is multi-lingual and able to directly support English, Spanish, and Chinese speakers through Discord. Additional language support is made possible through the extended community of ambassadors and leaders.
Chinese documentation: https://docs.moonbeam.network/cn/
Spanish documentation: https://docs.moonbeam.network/es/
French documentation: https://docs.moonbeam.network/fr/
Russian documentation: https://docs.moonbeam.network/ru/
9. Core Code is Open Source and Contributes Back
Moonbeam’s repositories are open source, with the code available for review on GitHub. Moonbeam is open source under the terms of the GPL3 and welcomes contributions from the community. Any developers can fork Moonbeam code and run Moonbeam nodes with proper attribution.
Moonbeam believes in and supports open source and decentralized blockchain technology development. As part of this philosophy, Moonbeam team members actively contribute to public repositories across the ecosystem in addition to our own, most notably the Frontier project.
Moonbeam GitHub Repo: https://github.com/PureStake/moonbeam
Frontier GitHub Repo: https://github.com/paritytech/frontier
10. Moonbeam Grants Program
The Moonbeam Foundation created a grant program for projects that add value to the Moonbeam ecosystem, such as DEXes, lending and borrowing protocols, infrastructure providers, oracles, NFTs collections and marketplaces, and much more. Grants are available for projects at all development stages, including brand-new projects that want to build a Moonbeam-native application.
For more details about Moonbeam Grants Program and how to apply, please see the Moonbeam Foundation website: https://moonbeam.foundation/grants/
For those who aren’t ready to launch a project, there are other ways to contribute. Moonbeam has a large and vibrant ambassador community and is regularly in search of technical talent to help create tutorials and promote development on the network. To learn more or to apply to become an ambassador, visit the ambassador page.