DARWINIA NETWORK
Published in

DARWINIA NETWORK

Introducing EVM-Compatible Darwinia Smart Chain, Prompt the Building of A Hybrid Cross-Chain Network for Polkadot

We’re thrilled to announce that Darwinia has achieved another milestone on the 1230 runtime update — Darwinia Smart Chain, which provides a development environment that is fully compatible with Ethereum. This compatibility enables EVM Dapp developers can easily migrate and deploy existing contract projects to Darwinia Smart Chain and connected with Polkadot Ecosystem through minimum modification, meanwhile, we’ve successfully used Darwinia’s light-client cross-chain messaging protocol(LCMP) to bridge cross-chain messages between substrate-based chains, and even between substrate-based chains and EVM chains. This will have profound implications for cross-chain interoperability, and Darwinia will as a cross-chain messaging infrastructure to prompt the building of a hybrid cross-chain network for Polkadot.

let’s take a look at the Darwinia Chains first, and Darwinia Smart Chain in more depth.

Introduction of the Darwinia Chains

Darwinia Network(Darwinia) contains three chains, namely Darwinia Chain(DC), Darwinia Smart Chain(DSC), and Darwinia Parachain(DP). DC and DSC provide two sets of different interfaces and chain structures but share the same nodes network, state storage, and native token.

Darwinia Chain

Darwinia Chain (DC) is designed to be the primary chain for tokens and governance, the main communication hub and routing point of LCMP, and will support most on-chain light clients for other public chains.

DC is a public chain that can operate independently with its own consensus and security model, with its core business and application services, including cross-chain functionality of each application chain, controlled by DC itself.

Darwinia Smart Chain

Darwinia Smart Chain (DSC) is a full EVM-compatible smart contract platform hosted on DC and is designed to provide greater programmability for Dapps and cross-chain users. Ethereum ecosystem projects can be easily migrated to Darwinia Network.

DSC does not have its own economy.

Darwinia Parachain

Darwinia Parachain (DP) is designed to be protected by the shared security of the Polkadot Relay Chain. It will integrate Polkadot’s XCMP, open channels with other parachains, and connect to DC via LCMP. Darwinia Network has won the 21st Polkadot parachain slot and will be connected to Polkadot Relay Chain very soon.

For more info, please refer to: https://docs.darwinia.network/chains/Introduction

The Overview of Cross-Chain Network

What is Done

  • Bridged the Darwinia Chain with the Crab Smart Chain using LCMP.
  • Bridged the Crab Smart Chain and the Crab Chain.
  • Bridged from the Crab Chain to Crab Parachain using LCMP.
  • Bridged the Crab Parachain with other Kusama Parachains using XCM.
  • Added the EVM module called Darwinia Smart Chain to the Darwinia Chain.
  • Bridged the Darwinia Smart Chain and the Darwinia Chain.
  • Bridged the Darwinia Chain and the Ethereum.

What comes Next

  • Bridging the Darwinia Parachain with other Polkadot Parachains using XCM.
  • Bridging the Darwinia Chain and the Darwinia Parachain using LCMP.
  • Designing the Hybrid Message Routing Protocol.
  • Bridging Polkadot and Kusama through routings.
  • Bridging Darwinia with more and more chains.
  • Building a hybrid cross-chain network for Polkadot.

More about Darwinia Smart Chain

Info

  • Network Name: Darwinia Smart Chain
  • Token Name: RING
  • Token Decimal: 18
  • ChainId: 46
  • Block Explorer URL: https://darwinia.subscan.io/
  • HTTP Endpoints

https://rpc.darwinia.network

https://darwinia-rpc.dwellir.com

  • WSS Endpoints

wss://rpc.darwinia.network

wss://darwinia-rpc.dwellir.com

Precompiled Contracts

Ethereum Compatible

  • 0x0000000000000000000000000000000000000001: ECRecover
  • 0x0000000000000000000000000000000000000002: Sha256
  • 0x0000000000000000000000000000000000000003: Ripemd160
  • 0x0000000000000000000000000000000000000004: Identity
  • 0x0000000000000000000000000000000000000005: Modexp
  • 0x0000000000000000000000000000000000000006: Bn128Add
  • 0x0000000000000000000000000000000000000007: Bn128Mul
  • 0x0000000000000000000000000000000000000008: Bn128Pairing
  • 0x0000000000000000000000000000000000000009: Blake2F

Darwinia Dedicated

  • 0x0000000000000000000000000000000000000400: StateStorage
  • 0x0000000000000000000000000000000000000401: Dispatch

Things Dapp Developers must Know

The Dapp developers in the title include both EVM Dapp developers and developers who use the Darwinia Universal Cross-Chain Messaging SDK to develop cross-chain Dapps.

Ethereum Block Author

The author(miner) of the ethereum block you get from eth_getBlockByNumber() or eth_getBlockByHash() is the last 20 bytes of the actual substrate block author. It's because the ethereum block is built based on substrate block and who's author is a 32-bytes address. We have to truncate to adapt ethereum block needs. Please do not tranfer to the ethereum block author, since the private key of this address is unknown.

Genesis Block

It is particularly important to note that Darwinia Smart Chain’s genesis block does not start at 0 like Ethereum. It is 9453251. This means that if you try to query the block history before this with eth_getBlockByNumber() or eth_getBlockByHash(), you will get null. This is because the DVM smart contract solution was added in the middle of the Substrate-base Darwinia chain, there are no Ethereum transactions in the Substrate history blocks and no corresponding Ethereum history blocks generated.

Consensus Related Field

Ethereum uses a consensus protocol named Proof-of-Work (PoW). While Darwinia Smart Chain uses the Nominated Proof of Stake(NPOS). They are two completely different consensus mechanisms. Consequently, Proof of Work concepts, such as difficulty, uncles, hashrate, generally is not applicable to Darwinia Smart Chain. For APIs that return value related to Ethereum’s Proof of Work, default value are returned.

Use block.timestamp instead of block.number

On Ethereum or other EVM-Compatible platform, you may use block.number in contract, but this is not recommended in Darwinia Smart Chain. We may introduce Darwinia Smart Chain 2.0 (The Next Generation) in the future and export the data from Darwinia Smart Chain 1.0 to Darwinia Smart Chain 2.0, which may reset the chain height to zero, so we recommend using block.timestamp.

About Darwinia Network

Github | Website | Medium | Twitter | Telegram

Darwinia is a cross-chain messaging infrastructure, which provides a light client-based, programmable, universal cross-chain messaging network for decentralized applications, meanwhile, Darwinia provides developers with the SDK, and developers can easily integrate cross-chain capabilities into their Dapps.

Darwinia Network has gained a high reputation and recognition along the way to building the universal cross-chain messaging infrastructure. Darwinia was written in Polkadot light paper as one of the friends of Polkadot and Substrate. And Darwinia was selected to join Substrate Builder Program and Web3.0 Bootcamp, and for the outstanding work in Substrate Builder Program, Darwinia Network was officially awarded the Level 2 badge by Parity. The products and tools developed by Darwinia have been rewarded with three W3F Grants.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Darwinia

Darwinia

As an open cross-chain bridge protocol based on Substrate, Darwinia focuses on the construction of future Internet of Tokens. TG: http://t.me/DarwiniaNetwork