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)