New features

  • Expose DB key+value pairs as environment variables to the execution context
  • Design common STDIO based API easily accessible from any language to interact with QVM
  • Enable forwarding STDERR/STDOUT to be emitted as events
  • Cryptographically provable contract download & registration
  • ASCII encoders for DB read/write


  • Database keys and values are limited to 32 bytes
  • Database keys and values can be only ASCII encoded
  • STDIO of contract execution result is limited to 32 bytes
  • Events cannot be emitted by contracts
  • Contract size max 256KB
  • Exit codes of contract binaries are not persisted
  • Fixed QVM memory allocation
  • Storage of other contracts cannot be accessed
  • Architecture is distributed, but not truly decentralized yet
  • Various instructions do not have proper economics behind them
  • Royalty features are not yet implemented
  • Value transfers (transferring sETH from QVM) instructions not ready yet

Roadmap to v0.0.3

  • Write ERC20 equivalent contract sample in Go
  • Lift limitation of DB keys and values length
  • Lift limitation of STDIO length