Table of contents


Solri is a blockchain experiment that tries to bring Substrate style on-chain governance for Proof of Work.

In particular, the design goal is to:

  • Become a pure coin, in most possible aspects that blockchain community cares about. This includes having no premine and establishes fair launch.

  • Use well-established Proof of Work consensus algorithm, and at the same time, allows it to change to either become ASIC-friendly or ASIC-resistent.

  • Most essential functions of the blockchain is coded into WebAssembly runtime. This makes it so that the blockchain can evolve and upgrade features without hard fork. In fact, we aim to never conduct any hard fork!

  • Have clear and simple specification to make supporting multiple implementations easier.

  • Be stateless. To fully verify a new block, you will only need the parent block together with the parent block’s runtime output. This reduces the bare minimal storage requirement for full node to nearly zero. In practice, clients can selectively choose to only store states it cares about.


On this page

  • Computation strategies: In this section, we list some common computation strategies for on-chain processing.
  • Deterministic parallel execution: The goal of deterministic parallel execution is to allow block runtime to execute some of its subparts at the same time, while maintain the deterministic nature of block execution.
  • Runtime: In this section, we define Solri’s execution environment and initial runtime.
  • Solri-flavored WebAssembly: This defines the WebAssembly execution environment for Solri. Solri-flavored WebAssemly is a subset of WebAssembly that is deterministic.