#key #wallet #bitcoin #addresses #change #sets #keypool

bitcoin-keypool

the wallet holds one or several keypools. These are sets of keys that have not yet been used to provide addresses or receive change. This crate provides abstractions for working with keys from a wallet's keypool

1 unstable release

0.1.12-alpha.0 Jan 19, 2023

#46 in #sets

MIT license

420KB
1K SLoC

Note from translation author:

hello,

It seems this translation task is now parallelized.

I modularized the codebase into units, each smaller than the original 300k+ lines of code and more manageable.

The modular structure will be easier to read, easier to work with, easier to integrate with, and easier to use -- for everybody on the planet.

After setting the scaffold, I translated crates one by one, roughly in alphabetical order.

I did this until I realized the task was parallel.

It is more optimal to post it back to the community.

Any individual should be able to use and fruitfully interact with the whole interface.

We can finish this together much faster than with a single thread of translation.

I have kept everything (from a functional and logical perspective) how I found it -- in commit ab25ef8c7f767258d5fe44f53b35ad8bd51ed5cd from the original c++ codebase.

This may be independently verified.

Most of the function bodies are rust scaffolding wrapping todo!() blocks and commented c++ code.

The functionality of the codebase itself will become testable once the rest of the program is translated.

I have included all tests/benchmarks/fuzzes from the original project (at the noted c++ commit)

I hope this translation process challenges and strengthens the antifragility properties of the system.

Please see the TODO file for notes on how best I imagine the challenge of translation completion can be tackled.

Please see the CHOMPER file for notes on a transpiler I have developed for this purpose.

I plan to come back to this project, though I have some other work to attend to for a few months at least (as of January 2023).

One day, I hope that we and the rust programs we write will be able to speak bitcoin with each other.

best,

-klebs

Dependencies

~91MB
~850K SLoC