Skip to content

v0.16.0

Compare
Choose a tag to compare
@flaub flaub released this 11 Jul 16:08
· 612 commits to main since this release
789f006

The 0.16 release contains slight modifications to the zkVM API with the goal of allowing the zkVM to generate proofs either locally or remotely using Bonsai. Most changes are internal and only a few breaking changes are present, though they will require updates for most programs.

Breaking changes

We've made significant changes to the Executor. The executor was previously created and run using the following code:

let exec = Executor::from_elf(env, METHOD_ID);
let session = exec.run().unwrap();

As of 0.16, you will need to replace

use risc0_zkvm::Executor;

with

use risc0_zkvm::default_executor_from_elf;

and

let exec = Executor::from_elf(env, METHOD_ID);

with

let exec = default_executor_from_elf(env, METHOD_ID);

Note that the default executor used depends on whether you have (correctly) set environment variables BONSAI_API_URL and BONSAI_API_KEY. If these are present and valid, you'll be working remotely using Bonsai; otherwise, you'll be running locally.

Usage Highlights

#559 When using std on the guest, note that you no longer need to include #![no_main] or risc0_zkvm::entry!(...); just a standard pub fn main will do. (Note: the risc0 zkvm crate must still be included with use risc0_zkvm as _ if nothing else from it is used.)

Change Log

Examples

  • Starter template: added pointer to website explainer by @pdg744 in #593
  • Update instructions in factors README and comments in starter template by @3lkn in #564
  • Rename examples/evm to examples/zkevm-demo by @flaub in #611
  • factors readme: add pointer to factors explainer by @pdg744 in #592
  • sha example: add pointer from readme to explanatory video by @pdg744 in #587
  • Add ECDSA verification example using bigint acceleration support by @nategraf in #590
  • Fix the password checker example README by @criadoperez in #674
  • Add ZK financial calculation example by @choongng in #595
  • Added Brian's minimal bevy example by @SchmErik in #643
  • Remove older bonsai-template by @mothran in #650
  • Fix typos in examples by @criadoperez in #667

Bonsai SDK

  • Add first draft of bonsai-alpha SDK by @mothran in #606
  • Add first version of Bonsai SDK as 'omega' by @Wollac in #630
  • Revert "Add first version of Bonsai SDK as 'omega' (#630)" by @flaub in #642
  • Update the Bonsai SDK README example code by @mothran in #685
  • Add stark2snark routes to Bonsai SDK by @mothran in #665
  • Bonsai SDK: migrate from image UUID to imageID by @mothran in #662
  • Migrate from BONSAI_ENDPOINT -> multi env var by @mothran in #641

Build / CI

Dependencies

zkVM

New Contributors

Full Changelog: v0.15.0...v0.16.0