{"id":13817016,"url":"https://github.com/ewasm/biturbo","last_synced_at":"2025-04-13T16:32:30.512Z","repository":{"id":91809229,"uuid":"210619626","full_name":"ewasm/biturbo","owner":"ewasm","description":"Eth1 EE using Turboproofs","archived":false,"fork":false,"pushed_at":"2023-03-16T14:02:51.000Z","size":12803,"stargazers_count":22,"open_issues_count":37,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-23T23:37:30.707Z","etag":null,"topics":["eth2","merkle-patricia-trie"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ewasm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-09-24T14:12:24.000Z","updated_at":"2024-11-25T07:26:30.000Z","dependencies_parsed_at":"2024-01-18T03:48:27.245Z","dependency_job_id":null,"html_url":"https://github.com/ewasm/biturbo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ewasm%2Fbiturbo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ewasm%2Fbiturbo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ewasm%2Fbiturbo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ewasm%2Fbiturbo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ewasm","download_url":"https://codeload.github.com/ewasm/biturbo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248743955,"owners_count":21154776,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eth2","merkle-patricia-trie"],"created_at":"2024-08-04T06:00:31.151Z","updated_at":"2025-04-13T16:32:30.241Z","avatar_url":"https://github.com/ewasm.png","language":"TypeScript","funding_links":[],"categories":["Packages","Prototyping"],"sub_categories":["Execution Environments"],"readme":"# Biturbo\n\n[![Greenkeeper badge](https://badges.greenkeeper.io/ewasm/biturbo.svg)](https://greenkeeper.io/)\n\nBiturbo is an Eth1 EE prototype, which uses Alexey Akhunov's [turboproof](https://github.com/ledgerwatch/turbo-geth/blob/master/docs/programmers_guide/guide.md) scheme as witness format. It started as a fork of @cdetrio's [turbo-mpas](https://github.com/cdetrio/scout.ts/tree/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.\n\nIn addition to the AS EE implementation, the repo also includes an [implementation](src/multiproof.ts) of Turboproof in typescript, a [relayer](src/relayer/lib.ts) which can generate scout test suites to simulate a shard block, and an [implementation](src/ee.ts) of the high-level EE logic in typescript.\n\n## Install\n\nAfter cloning the repo, install the dependencies via npm:\n\n```sh\nnpm install\n```\n\n## Run\n\nIf you simply want to try one of the EEs, run:\n\n```sh\n# To run token EE\nnpm run token\n\n# To run EVM EE\nnpm run evm\n```\n\nEach 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:\n\n```sh\nnpm run token:relayer\nnpm run token:build\nnpm run token:run\n```\n\n## Test\n\nThere are some unit tests for the multiproof generation/verification and encoding. You can run them via:\n\n```sh\nnpm t\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fewasm%2Fbiturbo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fewasm%2Fbiturbo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fewasm%2Fbiturbo/lists"}