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 for developers to create and test Substrate runtime applications and test pallet-contracts. It is inspired by Ethereum's Ganache, Ethereumjs-VM, and Buidler EVM. Europa will simplify the developing, debugging, and integration test process for developers. It will remove P2P and consensus functions, leaving only the execution environment and RPC interface. Europa has no time interval between producing blocks, so debugging can be optimized to be very quick.
Europa has future plans to have an independent runtime environment, modify the contract module level to provide more information, improve the development experience, strengthen collaboration with other tools, and extend the sandbox to be compatible with other runtime modules.
The detailed design of v0.1 includes implementing an independent runtime executive environment, a local database, a block packing function, and RPC functions. Europa will also provide a workspace concept to isolate different environments.
The cost of v0.1 is $37,800, and the treasury proposal is 9450 New DOT. Europa's v0.1 can be verified through a Youtube demo video and Github source.