{"id":13619438,"url":"https://github.com/supertestnet/things-bitvm-needs","last_synced_at":"2025-04-14T16:31:32.931Z","repository":{"id":201031778,"uuid":"706796401","full_name":"supertestnet/things-bitvm-needs","owner":"supertestnet","description":"A todo list for making bitvm great","archived":false,"fork":false,"pushed_at":"2023-10-23T00:14:02.000Z","size":44,"stargazers_count":26,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-11-08T05:39:25.834Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/supertestnet.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}},"created_at":"2023-10-18T16:23:59.000Z","updated_at":"2024-06-02T06:34:13.000Z","dependencies_parsed_at":"2023-10-23T01:23:27.811Z","dependency_job_id":null,"html_url":"https://github.com/supertestnet/things-bitvm-needs","commit_stats":null,"previous_names":["supertestnet/things-bitvm-needs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supertestnet%2Fthings-bitvm-needs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supertestnet%2Fthings-bitvm-needs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supertestnet%2Fthings-bitvm-needs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supertestnet%2Fthings-bitvm-needs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supertestnet","download_url":"https://codeload.github.com/supertestnet/things-bitvm-needs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248916635,"owners_count":21182845,"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":[],"created_at":"2024-08-01T21:00:40.618Z","updated_at":"2025-04-14T16:31:27.921Z","avatar_url":"https://github.com/supertestnet.png","language":null,"funding_links":[],"categories":["Resources"],"sub_categories":["Potential Use Case"],"readme":"# Things bitvm needs\nA todo list for making bitvm great\n\n# Implementations\n\n- [ ] Create github repos for more implementations of bitvm\n- [ ] E.g. one in rust\n- [ ] E.g. one in python\n- [ ] E.g. one in typescript\n- [ ] Improve [my javascript implementation](https://github.com/supertestnet/tapleaf-circuits/)\n- [ ] Prototype a bisection protocol -- there are no implementations yet!\n- [ ] \"Translate\" more circuit description formats so that bitvm isn't limited to \"only\" using bristol formatted circuits\n- [ ] E.g. here are some other circuit description formats:\n- [ ] “ABY format” (described [here](https://github.com/encryptogroup/ABY/blob/public/bin/circ/circuitformat.md), examples [here](https://github.com/encryptogroup/ABY/tree/public/bin/circ))\n- [ ] “Fairplay’s Secure Hardware Definition Language (SHDL)” (examples [here](https://github.com/Ethsnarks/ethsnarks-sfdl))\n- [ ] “Simple Circuit Description (SCD)” used by the TinyGarble compiler (described [here](https://github.com/esonghori/TinyGarble/tree/master/scd), I can’t find examples, but according to [this document](https://github.com/esonghori/TinyGarble) you can compile TinyGarble to find examples in bin/scd/netlists/).\n- [ ] \"Verilog Netlists\" (pictured [here](https://www.researchgate.net/profile/Kundan-Nepal/publication/220405407/figure/fig3/AS:670715174985734@1536922367281/C17-schematic-and-structural-verilog-netlist.png))\n\n# Programming\n\n- [ ] Develop and document a toolchain for making bitvm applications\n- [ ] One possible toolchain: write app in python, export for bitvm using \"circuit\" and \"bfcl\" libraries, test/debug/deploy\n- [ ] Another possible toolchain: write app in C, export for bitvm using HyCC, test/debug/deploy\n- [ ] My current toolchain: find a bristol circuit, test it using a tester I wrote in js, give up if I can't make it work as expected, otherwise convert it to a tapleaf circuit using the procedure outlined [here](https://github.com/supertestnet/tapleaf-circuits/), do a final test, and add a button for it on [this site](https://supertestnet.github.io/tapleaf-circuits/)\n- [ ] Make a high level programming language that compiles programs down to the \"bristol formatted\" logical circuits that bitvm currently uses\n- [ ] Make an IDE to help developers design apps by \"hooking together\" logic circuits that already work in bitvm\n- [ ] Contribute to [the chess app](https://github.com/mcbagz/LogicGates/tree/main)\n- [ ] Contribute to [the python toolchain](https://twitter.com/rot13maxi/status/1713731080912527404)\n\n# Functions\n\n- [ ] Make a 32 bit multiplier in bitcoin script\n- [ ] Make a bunch of functions that help with making a sha256 implementation, such as:\n- [ ] Make a function for doing 6 \"right rotations\" on a 32 bit string (e.g. if the string was 00000000000000000000000111110000, a right-rotation by 6 digits would turn it into 11000000000000000000000000000111 -- it shifts everything over by 6 and moves stuff that \"falls off the end\" over to the start)\n- [ ] Make a function for doing 2 right rotations\n- [ ] Make a function for doing 7 right rotations\n- [ ] Make a function for doing 10 right rotations\n- [ ] Make a function for doing 11 right rotations\n- [ ] Make a function for doing 13 right rotations\n- [ ] Make a function for doing 17 right rotations\n- [ ] Make a function for doing 18 right rotations\n- [ ] Make a function for doing 19 right rotations\n- [ ] Make a function for doing 22 right rotations\n- [ ] Make a function for doing 25 right rotations\n- [ ] Make a function for doing 3 \"right shifts\" on a 32 bit string (e.g. if the string was 00000000000000000000000001111100, a right-shift by 3 digits would turn it into 00000000000000000000000000001111 -- it shifts everything over by 3 and discards anything that \"falls off the end\")\n- [ ] Make a function for doing 10 right shifts\n- [ ] Make a sha256 function that \"pads\" inputs to a multiple of 512 bits\n\n# DevEd\n\n- [ ] Contribute to [this playlist](https://github.com/supertestnet/bitvm_deved_videos) of youtube videos documenting how to write apps for bitvm\n- [ ] Make text tutorials documenting how to write apps for bitvm\n- [ ] Contribute to [the FAQ](https://github.com/PraiseTheMithra/BitVm-FAQ) -- it should have less tech-talk and focus more on a high level overview of what we're doing (this will help devs AND everyone else too)\n- [ ] Help me improve the visual look and feel of [this showcase](https://supertestnet.github.io/tapleaf-circuits/) of bitvm apps (fork it [here](https://github.com/supertestnet/tapleaf-circuits/), make it better, do a PR)\n\n# Money\n\n- [ ] Devs can be either *attracted* to a project or *hired* for a project, or both. If you can't contribute via code, consider giving money so Robin can *hire* devs to work on bitvm: bc1qf5g6z0py2t3t49gupeqrlewga0qz2etalu4xf9\n\n# Meta\n\n- [ ] Contribute to this todo list with other ideas for making bitvm great (click the Fork button above and do a PR with your changes)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupertestnet%2Fthings-bitvm-needs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupertestnet%2Fthings-bitvm-needs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupertestnet%2Fthings-bitvm-needs/lists"}