Hello Polkadot Community!
Full project description is here: GitHub - lowlevelers/substracer: Simulate the substrate network in an interactive graphical interface.
I would love to propose my idea for the interactive substrate simulator.
Description
Simulate the substrate network in an interactive graphical interface.
- Run a virtual Substrate node directly on the browser
- Configure pallets and chain specification interactively
- Tracing the peer-to-peer network behavior
Motivation
One of the biggest obstacles to diving deeper into the Polkadot blockchain is the limitation of hardware requirements and lack of interactive approaches. The learning curve is huge to start with the Polkadot core technologies and requires much time to read the documentation. Inspired by this thread on Polkadot forum, there is no unified approach for DevRel to widespread the value of the whole Polkadot ecosystem.
Hence, we feel like the community needs a more creative solution to the stated problem. With experience in traditional networking software, the Cisco Packet Tracker
is a tool that hugely inspired the birth of the Substrate Simulator
.
Current issues
Our team is researching and trying to figure out how to build a simulated environment for Substracer. After learning about zombienet
and netsim
approach, if we apply the design of zombienet
for Substracer, we need to refractor the runtime to add custom logger overriding the existing runtime logger so it can stream the data of node back to Substracer backend. However, this still use a local testing environment not a simulated environment. Hence, it’s hard if we want to spawn >10 daemons just for testing. But the benefit is we don’t have to worry much about the underlying networking protocol built on top of libp2p
.
With netsim
, it gives us the ability to simulate the simple network but there is not way to integrate it with libp2p
. Hence, we need to mock libp2p
code and build a simpler version to support the simulation.
As we don’t have much experience with Substrate and still in the progress of learning about the technology, it would be great if we can receive the feedback and suggestion from the community!