FYI: This is copy from: https://polkadot.polkassembly.io/post/102, and Europa is the third project that we planned in our roadmap https://polkadot.polkassembly.io/post/100.
Github: https://github.com/patractlabs/europa
Europa is inspired by Ganache, Ethereumjs-VM and Buidler EVM from the Ethereum ecosystem. Europa is a sandbox of Substrate runtime environment, which would be used to simplify the developing, debugging, and integration test when developers develop Substrate runtime applications and test pallet-contracts. The sandbox will remove P2P and consensus functions, just remaining the execution environment and RPC interface. We will wrap the core modules, then provide a local database, a detailed log print function, a concept of workspaces which isolates different developing environments, and interact with different front-end UIs. The sandbox has no time interval between producing blocks, so debugging can be optimised to be very quickly.
1. v0.1: Have an independent runtime environment to facilitate more subsequent expansion directions.
The independent runtime environment of excluded nodes can be expanded more without the constraints of the node environment and WASM compilation, and can be easily integrated with other components. In this version, it is more like simulating the Ganache project in Ethereum ecosystem, enabling contract developers to develop without having to build a contract blockchain. Developers can quickly fire up a personal Substrate chain, which can be used to run tests, execute commands, and inspect state while controlling how the chain operates.
**2. v0.2: Modify at contract module level to provide more information **
In this version, we will fork the pallet-contracts module for secondary development. We will strengthen the part of the error notification for contract developers, such as providing:
** 3. v0.3: Improve the developement experience, strengthen collaboration with other tools, and extend the sandbox to be compatible with other runtime modules**
Milestone 1 : (3 developers * 1 weeks)
Externalities
trait for a Externalities
-like objectExtension
trait interface.Milestone 2 : (3 developers * 1 weeks)
Milestone 3 : (3 developers * 1 weeks)
Milestone 4 : (3 developers * 1 weeks)
Milestone 5 : (3 developers * 2 weeks)
Europa is a sandbox environment for developers to create and test Substrate runtime applications and test pallet-contracts. It is inspired by Ganache, Ethereumjs-VM, and Buidler EVM from the Ethereum ecosystem.
Europa's future plans include having an independent runtime environment, modifying the contract module level to provide more information, and improving the development experience.
The detailed design of v0.1 includes implementing an independent runtime executive environment, a local database, a block packing function, and RPC functions.
The cost of v0.1 is estimated to be $37,800, and it will require 18 developers for 6 weeks.
Europa's v0.1 can be verified through a Youtube demo video and the Github source. It can start from different workspaces, receive extrinsics, interact with Redspot, and use RPC to jump over some blocks and revert to a specified height to revert states.