Posts

Moonbeam Monthly Dispatch August 2020

Moonbeam Monthly Dispatch: August 2020

Just as was the case in June, we have been primarily focused on implementation in the month of July.

Web3 Foundation Grant Award

Earlier this week, we announced that the Web3 Foundation had approved our work on a Web3-compatible RPC library and awarded us a grant. This RPC implementation is what allows developers to run Ethereum-native tools like Truffle, Remix, and MetaMask on Moonbeam’s network, which is based on Substrate.

This work is a significant milestone both in the development and continued evolution of the Moonbeam network, and for the interoperability of blockchains as a whole.

Details of the grant can be found here: https://github.com/w3f/Open-Grants-Program/blob/master/applications/web3-compatible-api.md

Progress

Technical implementation work continues in the Moonbeam and Parity Frontier repos. The first pass of work on the Web3 RPC REST endpoints is complete. We have also completed an automated test suite for the RPCs to ensure code quality.

In August, our key engineering efforts include the following:

  • Unified Accounts: This effort will unify the currently separate Substrate and EVM accounts that exist in Moonbeam. We aim to have a single Ethereum-compatible account that is used within the Moonbeam EVM and that is also used for Substrate-based functions on Moonbeam such as staking and on-chain governance.
  • Parachain-based Moonbeam TestNet: We plan to bypass the usual Substrate sovereign chain TestNets that most other projects are running, instead focusing on parachain-based TestNet. Initially, this TestNet will have a small relay chain for the Moonbeam parachain to connect to. This effort has only recently become possible based on development of the Cumulus parachain library.
  • Adding support for the subscriptions Web3 API to complement the existing REST-based RPC endpoints. The subscriptions APIs are needed by many existing Ethereum applications and are part of the Moonbeam minimum viable feature set.

Are you interested in trying out the Ethereum compatibility features of Moonbeam? We would love to hear from you. Please reach out to us on Riot.

Expanded Social and Chat Presence

We expanded the number of ways we have to engage with our community. There is a new Telegram group for general discussion about Moonbeam that can be found here: https://t.me/Moonbeam_Official

This Telegram group complements our Riot (now Element) room which is focused primarily on technical topics.

We also have a new YouTube channel, where we have posted an initial set of tutorial videos.

Here’s our full set of social channels (many of which are new):

Recent Talks

In case you missed either of last month’s talks, we’ve posted the recordings to our new YouTube channel. Here’s what’s in store:

Web3 Builders: Introducing Moonbeam

In this webinar recording, I am joined by Alan Sapède and Telmo González Michelena to discuss the strategic and technical aspects of Moonbeam. If you’re interested in learning more about the system architecture and capabilities, this is a great video to watch.

Hackusama

As a judge for the Hackusama hackathon, I put together a brief presentation for participants. In it, I discuss the fallacy of a “perfect blockchain” and the lessons we can learn from Howard Moskowitz, a market research veteran in the CPG industry. I recently wrote a blog post discussing the topic as well, which you can read here.

 

Subscribe to This Newsletter

Want to receive these updates via email? Enter your email below to sign up for our Moonbeam Monthly Dispatch newsletter.

PureStake Receives Web3 Foundation Grant for Moonbeam

PureStake Awarded a Web3 Foundation Grant for Moonbeam Ethereum Compatibility

Developed Components Will Power Moonbeam, Allowing Developers to Use Existing Ethereum Applications and Smart Contracts On Polkadot

Boston, MA – August 5, 2020 – PureStake has received a grant from the Web3 Foundation for their work developing Ethereum compatibility for Moonbeam, a smart contract parachain. Accepted as part of Wave 6 of the Web3 Foundation grants program, PureStake developed a Web3-compatibile RPC library that allows developers to run Ethereum-native tools such as Truffle, Remix, and Metamask on Moonbeam’s Substrate-based network. The milestones were met and officially accepted by Web3 Foundation.

Moonbeam is currently in development and expected to be released as a parachain on the Polkadot network — which emphasizes cross-chain interoperability — early next year. Moonbeam is designed to ease the transition for non-blockchain developers and Ethereum developers alike as they explore the cross-chain integration capabilities of Polkadot and its underlying Substrate framework.

“Ethereum compatibility is one of the most asked-about features of the Moonbeam network,” says Derek Yoo, CEO of PureStake. “We’re bullish that interoperability is going to be critical in broadening the users of blockchain technology, and the work we’re doing to support Ethereum’s Web3 RPC is an important step to getting there.”

The deliverables for this grant included:

  • A working Web3 RPC module
  • Transaction support
  • A demo of key integrations including Remix, Truffle, and MetaMask

You can learn more about Moonbeam on the official project website: https://moonbeam.network/

About the Moonbeam Network

Moonbeam is an Ethereum-compatible smart contract platform on the Polkadot network that makes it easy to build natively interoperable applications. This Ethereum compatibility allows developers to deploy existing Solidity smart contracts and DApp frontends to Moonbeam with minimal changes. As a parachain on the Polkadot network, Moonbeam will benefit from the shared security of the Polkadot relay chain and integrations with other chains that are connected to Polkadot. Currently in active development by PureStake, Moonbeam is expected to reach MainNet by early 2021.

About PureStake

PureStake’s team has extensive experience building technology companies and complex software platforms. Led by Derek Yoo, former Fuze Founder and CTO, PureStake provides protocol implementation services and creates developer tools for next-generation blockchain networks.

Moonbeam Monthly Dispatch July 2020

Moonbeam Monthly Dispatch: July 2020

The month of June was implementation-focused for the Moonbeam project.

There was a lot of activity in the Parity Frontier repo — including some contributions from the Moonbeam team — on the implementation of the Web3 RPC endpoints. This is a necessary component to enable Moonbeam’s Ethereum compatibility features.

We will be working on wrapping up the Web3 RPC initial implementation effort over the next couple weeks. Automated testing of the RPCs is the biggest outstanding item.

We have a few additional updates to share:

We also have two upcoming talks this month:

New Moonbeam Documentation Site

As mentioned, a big update is the launch of our new documentation site for Moonbeam, which can be found here: https://docs.moonbeam.network/

The Moonbeam docs site features several new tutorials

The new Moonbeam docs site features several new tutorials using a pre-alpha build of Moonbeam.

 

The Moonbeam docs site has information about the motivations for the project, a technology overview, resource links, and “getting started” guides that walk through:

A few highlights from the guides follow.

Configure MetaMask to connect to a locally-running Moonbeam node

In the screenshot above, we are configuring MetaMask to connect to a locally-running Moonbeam dev node. The Moonbeam node exposes Web3 compatible RPC endpoints such that MetaMask thinks it’s connecting to an Ethereum-based network.

 

Connecting Remix to a locally-running Moonbeam node

In the screenshot above, Remix is connected to a locally-running Moonbeam node via MetaMask. The user is about to confirm the deployment of an ERC20 contract to Moonbeam that creates MYTOK.

 

Transferring MYTOK tokens from one account to another with MetaMask

The screenshot above shows transferring the created MYTOK tokens from one account to another via MetaMask.

Coming Up Next

For the month of July, our focus will continue to be on implementation.

We will be finishing our work on on the Web3-compatible RPCs in Substrate that are the basis of our Web3 Foundation grant. After this, we will be working on a unified account system in Moonbeam and the incentive mechanics for collators. 

We also will be doing live demos of Moonbeam at a Substrate builder’s virtual event on Tuesday July 21.

Join Our Community

Are you interested in trying out the Ethereum compatibility features of Moonbeam?  We would love to hear from you.  Please reach out to us on Riot.

PureStake Latest News Image Blue

PureStake Announces Plans to Build Moonbeam on Kusama

Polkadot’s Canary Network Serves as a
Critical Pre-Launch Point for the New Platform

Boston, MA – June 23, 2020 – PureStake, a leader in secure and reliable blockchain infrastructure and tools, has announced plans to launch Moonbeam, an Ethereum-compatible smart contract platform, on Kusama prior to launching on the Polkadot network. By launching Moonbeam on Kusama, the cousin network to the Polkadot blockchain, PureStake will be able to experiment with the new platform on a fully-functional network and under real economic conditions before releasing it on the Polkadot mainnet.

PureStake has been active on Kusama since its launch last fall, providing secure and reliable validator services to other users and participants of the network. Known as the “canary” network for Polkadot, Kusama shares much of the same code as the Polkadot mainnet, which makes it a valuable proving ground and warning system for both technical and economic components of the project.

“The Web2-style, move-fast-and-break-things approach to software development doesn’t work in the cryptocurrency space,”  says Derek Yoo, CEO of PureStake. “Kusama helps us substantially de-risk changes and updates by running code under real economic conditions and creating a place where innovation and ideas can be worked out before they are brought to Polkadot mainnet.”

Moonbeam is currently in development and expected to be released as a parachain on the Kusama network later this year. 

Moonbeam’s Ethereum-compatible platform aims to ease the transition for non-blockchain developers and Ethereum developers alike as they explore the cross-chain integration capabilities of Polkadot and its underlying Substrate framework. You can learn more about Moonbeam on the official project website: https://moonbeam.network/

About PureStake

PureStake’s team has extensive experience building technology companies and complex software platforms. Led by Derek Yoo, former Fuze Founder and CTO, PureStake provides infrastructure services and creates developer tools for next-generation blockchain networks.

Multi-Chain as a Scalability Strategy: Leveraging Moonbeam for Ethereum-Based Deployments

In the past few months, we’ve received a number of questions about our relationship with Ethereum. I’d like to clarify something: Moonbeam is designed to complement and extend existing Ethereum-based deployments, not to compete with Ethereum.

In a multi-chain future, Ethereum will continue to occupy a central position, particularly around DeFi and related use cases. We expect its already significant developer and project traction to continue. At PureStake, we are personally big fans of the Ethereum ecosystem including its battle-tested developer tools, among many other things.

In this future, it’s difficult to imagine a world with only Ethereum, or only Bitcoin. Many other chains will co-exist with Ethereum, including Moonbeam and other chains on the Polkadot network. There won’t be a chain monopoly on a particular use case — there will be DeFi activity on chains other than Ethereum as well to serve the users and assets on those chains.

With this context, Moonbeam will be highly complementary to Ethereum, offering the ability for existing Ethereum-based projects to migrate some of their workloads and state off of Ethereum layer 1 to Moonbeam, while at the same time extending their reach to users and assets on other chains.

Moonbeam as an Alternative Ethereum Scaling Strategy

There are two main ways that Moonbeam can help existing Ethereum-based projects: it can alleviate scale and cost challenges, and it can help extend the reach of those projects to users in the growing Polkadot ecosystem. Moonbeam will be optimized for hybrid deployment scenarios, where some of a project’s transactions and state are migrated to Moonbeam while continuing to maintain key components on the Ethereum MainNet.

As existing projects consider their scaling strategy in the face of rising Ethereum costs (in some cases making use cases unviable), Moonbeam presents an alternative to rollup strategies such as ZK and optimistic, and sidechains such as OMG and Matic Network. Moonbeam can provide many of the same scalability benefits as these strategies, but requires far fewer changes in order to achieve them. Its faster blocktime also enables better responsiveness and more granular on-chain data, which is highly valuable in many use cases, particularly for oracle price data.

Moonbeam itself will have substantially more throughput (and, in turn, lower cost) based on its Proof of Stake-based approach when compared to Eth1 and its Proof of Work-based approach.  Since Moonbeam is a single shard environment, composability will work the same way it currently does on Eth1.

Using Parachains for Projects with High Scalability Demands

It’s important to note that Moonbeam is not the final destination for applications that need the highest degrees of scalability. Projects with very high scalability needs will migrate some or all of their backend to their own dedicated app-specific blockchain, where they will have full control over upgrades, governance, and have the ability to optimize the underlying storage and transaction implementations to their use case. This dedicated blockchain can also include the Ethereum compatibility components that Moonbeam uses to provide a dedicated EVM instance.

An app-specific blockchain represents the ultimate in scalability and control for a given workload, even if it comes with additional responsibilities such as the underlying runtime implementation, establishing a token economy, and incentivizing and building a node community. If these app-specific blockchains become parachains on the Polkadot network, they will be able to gradually relocate workloads and state from Moonbeam to their dedicated parachains, as needs dictate.

Moonbeam was very much designed for these upgrade and migration scenarios; its entire purpose is to serve as a way to reduce implementation friction, quickly scale to meet immediate needs, and provide an easy entry point to expand into Polkadot and chains connected to Polkadot. And whether projects are deployed on Moonbeam or as Polkadot-based parachains, Moonbeam can continue to be a place where integrations are done and where functionality from app-specific parachains on the network can be composed into higher-order functions before being presented to end users.

Features to Support This Hybrid Model

This focus on Ethereum compatibility and integration has informed the priority features for Moonbeam. These include:

  • Full EVM implementation based on Substate’s Pallet-EVM (which in turn is based on SputnikVM). This is needed to provide assurance that existing Solidity contracts will have the same execution behavior as they do on Ethereum.
  • Web3 RPC compatibility which means that change will be minimized for existing DApp frontends, and that you can use existing Ethereum development tools such as Truffle, Remix, and MetaMask. We are already working with Parity to implement this as part of the Frontier project.
  • A bridge that allows movement of tokens and state between Ethereum and Moonbeam. This is needed to support the hybrid deployment model with a partial movement of logic, workload, and state to Moonbeam.

In the longer term, once XCMP and SPREE are available on the Relay Chain, we will introduce new operations that provide easy developer access to Polkadot’s cross-chain integration functionality from an Ethereum-compatible environment. These features will extend the reach of existing Ethereum projects to other Polkadot parachains and even other sovereign chains that are bridged to Polkadot.

To learn more about testing your Ethereum-based project on Moonbeam, please contact us. You can also join our Riot room or sign up for the monthly Moonbeam Dispatch to be notified when a testing environment is available.

Moonbeam Monthly Dispatch June 2020

Moonbeam Monthly Dispatch: June 2020

Since announcing the project at the end of April at Sub0 (talk can be found here), we have been coding. We made the Moonbeam repo public and you can visit it here. We now have foundational elements in place including a Dockerized GitLab-based CI for automated builds that will help us ensure quality in the code we create. The Moonbeam repo includes a base runtime as well as an initial implementation of the endorsement system that we use to select collators for block production.

After we announced our project, Parity reached out to us to let us know about Frontier, a project that they are working on to build upon the EVM pallet and provide improved Substrate Ethereum support. We have agreed to join forces with Parity and work together on the same repo rather than pursuing independent efforts. You can find the Frontier repo here.

For the next few weeks we will focus on the implementation of Ethereum web3-compatible RPCs under Frontier and will be pulling this work into Moonbeam once it is complete. Web3 RPCs will allow Ethereum developer tools such as Truffle, Remix, and MetaMask to connect directly to a Moonbeam node.

We have added a Substrate node template to Frontier that can be used for demonstration purposes, which you can find here. It is currently limited in functionality and may break, as Frontier is still very much under active development. However, using this node template you can currently use Substrate RPC calls to interact with the underlying EVM.

In the screenshots below I am running the Frontier node template locally and using the standard polkadot.js apps to deploy an ERC20 contract based on the OpenZepplin ERC20 implementation. Note that the init parameter has the entire bytecode of the contract.

This test ERC20 contract mints the max supply to Alice’s EVM account.  We can check her EVM account balance via Substrate chain state queries as shown below:

We can also call the transfer function on the contract via a Substrate extrinsic to move some of these tokens from Alice to Bob:

As a result of the transfer, Bob is the happy recipient of 0xdd (221) tokens which we can look at the chain state to verify:

Using Substrate-based RPCs to interact directly with the EVM is not something that will be part of the final product, as we are bypassing security layers that, for example, check for signatures.  These layers will be part of Pallet Ethereum under Frontier.  However, this node template is a cool demonstration of the power of Substrate to quickly get to a running system that has a bunch of functionality and that can be iterated upon.

We will soon have enough of the web3 RPCs implemented to show some demonstrations of using Ethereum tools to interact with a Frontier-based node.  Ultimately, we plan to use these components to allow users to interact with Moonbeam using either Substrate or Ethereum-based tools.  This will result in a large amount of choice for developers so they can use the right tool for the job.  More to come on this in the next update.

Are you interested in trying out Moonbeam?  Join our new Riot room! We’d love to hear from you.

Enter your email below to receive these updates every month.



Moonbeam Smart Contracts for Polkadot

Moonbeam: A Smart Contract Parachain with Ethereum Compatibility

We announced Moonbeam today, a smart contract platform that provides a scalable and accessible alternative to other developer platform options.

Moonbeam aims to provide developers with the ability to port existing Ethereum DApps or to create new DApps using familiar Ethereum development tools. This will substantially decrease the barrier to entry for successful Ethereum DApps that want to move to a more performant and cost-effective platform. Since Moonbeam is based on Substrate, the blockchain development framework from Parity Technologies, we are able to create a native Ethereum execution environment that provides Web3 RPC and EVM implementations to support most Ethereum DApps without significant modification. Moonbeam’s scalability and security is derived from running under Polkadot’s sharded design and shared security umbrella.

As a parachain on the Polkadot network, Moonbeam will also enable a number of interoperability scenarios, including integration with other chains to provide services such as Oracles, DEXes, and token transfers from chains such as Bitcoin and Ethereum.

Why We Decided to Build Moonbeam

We started last year as a validator on the Kusama network. Since then, we have engaged with the community, the technology, and the emerging ecosystem of tools and services. During this evolution of our engagement with Polkadot, we realized that an accessible smart contract parachain would fill a strategic need within the Polkadot ecosystem.

The primary development framework for building applications on Polkadot is the Rust-based Substrate framework. Substrate is very powerful, but it also is quite complex, where DApp developers need to account for things like how to incentivize node operators, how the resultant chain will be governed, and what the underlying token economics looks like. For some projects, it will make sense to use Substrate to build a full parachain or parathread. But for many others, a smart contract backend will be much easier and make more sense as a starting point.

By making it easier to create and migrate DApps to Polkadot, we believe we can help existing projects address the scalability challenges they are facing today. At the same time, we want to enable new cross-chain interoperability use cases — based on Polkadot — that will extend each developer’s ability to reach new users and assets. As more and more app-specific blockchains are developed to solve problems in a scalable way, this extension of developers’ reach to work with users and tokens on remote chains will be increasingly needed.

Our Focus on Ethereum Compatibility

This is a strategy motivated by practicality. Getting traction for a new developer platform is a numbers game. By providing Ethereum compatibility, we give ourselves access to the largest market of existing blockchain developers. It also allows us to leverage the relatively mature ecosystem of tools that exist in the Ethereum ecosystem such as Truffle and MetaMask.

There are also many Ethereum-based projects today that are facing serious scalability challenges due to the expense and constraints of the network. We have had conversations with projects that are considering a variety of strategies including Layer 2 solutions such as Plasma and ZK-Rollups, sidechain solutions, and also porting to other more scalable platforms. There are pros and cons to each of these strategies. The key friction in porting to another platform lies in all of the work that is required: project developers would need to reimplement existing Solidity backend contracts and DApp front ends using an entirely different technology stack, thus losing most of the valuable work they have already done. We believe that offering Ethereum compatibility on Moonbeam will greatly reduce this friction, and thus increase the attractiveness of the porting option.

Moonbeam Longer Term Vision

While our near-term energy is focused on implementing Ethereum compatibility and other base functionality on Moonbeam, we are very excited about supporting cross-chain interoperability scenarios. As XCMP, SPREE and other interoperability protocols are enabled on the Polkadot relay chain to power cross-chain token movement and remote chain RPC-like functionality, we will be actively adding integrations to other parachains into Moonbeam.

We anticipate that parachains on Polkadot will be purpose-built chains that provide specific functionality to the network and to their users. We envision that Moonbeam can serve as a simple and accessible place for these different parachain functionalities to be composed and combined into novel forms.

Naturally, this will position Moonbeam as an experimentation ground for building new applications that leverage Polkadot’s interoperability and shared security. If applications built on Moonbeam need more direct control over their resources and economy over time, they can always upgrade to a full parachain or parathread. This migration, if necessary, can be done using a gradual and co-existent approach, minimizing risk and providing project developers with multiple roadmap options.

Interested in Learning More?

We want to engage with you as we build out the Moonbeam ecosystem.  We’re actively seeking:

  • Substrate/Rust developers
  • Node operators interested in running collators

We’d also love to hear from:

  • Polkadot projects who are interested in collaborating
  • Ethereum projects that could benefit from Moonbeam

To learn more about the Moonbeam smart contract parachain, visit the project website or tune into my Sub0 talk (which will be focused on the technology).

PureStake Latest News Image Yellow

PureStake Announces Moonbeam, a Smart Contract Platform for the Polkadot Network

Moonbeam Allows Developers To Use Their Existing
Ethereum Applications And Smart Contracts On Polkadot

Boston, MA – April 27, 2020 – PureStake, a leader in secure and reliable blockchain infrastructure and tools, today announced plans for the Moonbeam smart contract platform. Due later this year, Moonbeam expands the accessibility of smart contract functionality by providing Ethereum compatibility and making it easier for developers to build applications that are natively interoperable with other blockchains and technologies.

Moonbeam will be released as a parachain on the upcoming Polkadot network, which is set to launch later this year. As a parachain — Polkadot’s approach to sharding — Moonbeam will benefit from shared security and composability with the entire Polkadot network while operating and developing independently. This also enables users of the Moonbeam network to move cryptocurrencies and other tokens natively across Polkadot parachains and parathreads, or across other networks via bridges.

“On Moonbeam, developers will be able to build applications that work with users and assets from other chains,” says Derek Yoo, CEO of PureStake. “This is a huge step forward in creating decentralized applications that natively interoperate across chains — opening up new potential markets for DApp developers.”

The Moonbeam network features several differentiators centered on promoting accessibility and interoperability across chains:

  • Smart contracts that work natively with other Polkadot chains or connect to external chains, like Ethereum and Bitcoin, via bridges.
  • Web3 and EVM support that makes it easy for existing Ethereum DApps and smart contract backends to migrate to Moonbeam and Polkadot.
  • Compatibility with familiar Ethereum development tools such as Truffle and MetaMask.

Moonbeam provides an essential service for the Polkadot network, which does not natively include smart contracts. Moonbeam smart contracts make it much easier and cheaper to build decentralized finance applications, which helps developers globally solve real-world finance problems using Web 3.0 technologies.

“Moonbeam’s approach promises to democratize the world of smart contract platforms in a way we haven’t seen before,” said Dieter Fishbein, Head of Ecosystem Development at Web3 Foundation. “Platforms that make it easier for developers to leverage the work they have across networks is core to Polkadot’s future and to the success of decentralized technologies as a whole.”

Visit the Moonbeam website for more information and updates: https://moonbeam.network/

About PureStake

PureStake’s team has extensive experience building technology companies and complex software platforms. Led by Derek Yoo, former Fuze Founder and CTO, PureStake provides infrastructure services and creates developer tools for next-generation blockchain networks.