Skip to content

ewasm/biturbo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

570634b Â· Jan 13, 2020

History

84 Commits
Jan 7, 2020
Jan 7, 2020
Jan 13, 2020
Jan 7, 2020
Dec 13, 2019
Sep 25, 2019
Dec 11, 2019
Dec 20, 2019
Dec 16, 2019
Nov 28, 2019
Dec 13, 2019
Jan 7, 2020
Sep 25, 2019
Sep 25, 2019
Sep 25, 2019
Sep 25, 2019

Repository files navigation

Biturbo

Greenkeeper badge

Biturbo is an Eth1 EE prototype, which uses Alexey Akhunov's turboproof scheme as witness format. It started as a fork of @cdetrio's turbo-mpas called Turbo Token, which aimed to prototype a token transfer EE compatible with Eth1 (i.e. MPT as accumulator, RLP for serialization and the same account structure). It's now being extended with EVM support, but we intend to maintain the token EE to allow for further experimentation and benchmarking. Therefore the repo contains both TurboEVM and TurboToken.

In addition to the AS EE implementation, the repo also includes an implementation of Turboproof in typescript, a relayer which can generate scout test suites to simulate a shard block, and an implementation of the high-level EE logic in typescript.

Install

After cloning the repo, install the dependencies via npm:

npm install

Run

If you simply want to try one of the EEs, run:

# To run token EE
npm run token

# To run EVM EE
npm run evm

Each of the above commands does 3 things. It runs a simulated relayer to generate input data for the EE, then compiles the AssemblyScript source code, and finally runs the resulting Wasm module with the generated input data. To run each of the steps separately you can use the corresponding npm scripts:

npm run token:relayer
npm run token:build
npm run token:run

Test

There are some unit tests for the multiproof generation/verification and encoding. You can run them via:

npm t