Zulip Chat Archive
Stream: new members
Topic: Bitcoin Lean Project
Nadav Kohen (Jan 13 2021 at 03:50):
Hello everyone! I am a software engineer and maintainer of the Scala library bitcoin-s. I have had some previous experience in Agda and just finished all of the exercises in the (Lean) tutorials project. I am interested in starting a github repo called lean-bitcoin where I want to construct Bitcoin's basic data structures (transactions, spending conditions, etc.) with the goal of implementing protocols such as DLC construction and proving the fidelity of those implementations, including correctness/bounds on fees and the like, and maybe even generating test vectors for other more efficient implementations (in other languages).
I won't be needing any help with any Bitcoin-related knowledge, but I would really appreciate advice and help in setting up a lean project and high-level design and structuring of that project and some other more general getting-started help.
Would anyone be interested and willing to chat with me sometime in the near future about this project?
Alex J. Best (Jan 13 2021 at 04:02):
For the basic setup you can check out https://leanprover-community.github.io/leanproject.html and for adding more advanced CI to ensure your project is building daily we have https://github.com/leanprover-contrib/leanprover-contrib .
Nadav Kohen (Jan 13 2021 at 04:51):
Thanks Alex for the response :) I do have the project generated by leanproject
but I am generally unsure of how to continue from here. I think the natural starting place would be that I need definitions of ByteVector
s and with those define types such as UInt32
and the like. I'm sure that I could accomplish this in some crude way but I was hoping someone might be able to give me some pointers.
Alex J. Best (Jan 13 2021 at 16:39):
You might want to check out some of the threads in the Program Verification stream, I think there were some threads about using bitvectors there, but I'm no expert
Last updated: Dec 20 2023 at 11:08 UTC