Simnode Book

Simnode is an alternative client shell for your substrate runtime. This shell provides a few useful things:

Manual/Instant block production

The default sc-service shell spins up the production consensus worker and tries to author blocks according to consensus rules. Simnode on the other hand spins up sc-consensus-manual-seal and puts you in complete control of block production. Do you want to author blocks for every transaction that enters the transaction pool (instant-seal) or do you want to author blocks at your own discretion by sending an RPC request (manual-seal), the choice is all yours.

Signature verification host functions overrides

sc-service uses the NativeElseWasm code executor. This is usually what you want in production for faster block authorship and processing. NativeElseWasm will always use the native code directly if the runtime version and the native version matches. But there’s no way to override the signature verification functions with this executor. Simnode instead uses the WasmExecutor exclusively. This allows for overriding the signature verification functions the runtime uses to verify the validity of transaction signatures.

Fork your live chain state

Simnode is a full-node environment, this means you can run it by pointing it to an existing database of your live chain. With full control over block production and the ability to author extrinsics from any account, you can now simulate transactions on live chain data and test their effects before executing them in production. For example, you can test your runtime upgrades and its migrations and be fully confident that they will not brick your runtime.
βš™οΈIntegrating SimnodeπŸ”§Usage

Powered by Notaku