Nakamoto is a privacy-preserving Bitcoin light-client implementation in Rust, with a focus on low resource utilization, modularity and security.
The vision for the project is to build a set of libraries targeting light client functionality, that are easy to embed in any program and on any platform, be it mobile or desktop. The project's small cpu, memory and code footprint is made possible by its efficient runtime and minimal set of dependencies. The implementation language, Rust, opens up the possibility for programs written in other languages (eg. Swift, Python, Java), to bind directly to it via a foreign function interface (FFI).

@thunderB__ on track for some explosive magic.. If this works, we are going to democratize BIP157 into every wallet which chooses to use BDK, without the wallet devs needing to know one single line of the BIP.
reply
Big fan of this. Rust is an amazing language if it did not have such a steep learning curve.
Bitcoin protocol should be based on rules, axioms and definitions - and not just the status quo of one github project.
This is awesome, hope it does not fade into irrelevancy!
reply
As the guy behind python-bitcoinlib, I think you should use Rust. :D
reply
Wait, are you the person behind python-bitcoinlib?????
reply
I didn't write the first version of it. But I took over maintainership from jgarzik many years ago and got it into a more useful shape.
reply
Afaik there are no guides for installing it yet and there are some quirks with up/downgrading some crypto dependencies in Ubuntu (apt), other Linux distros and MacOS (brew). Are you aware of that?
reply
I mean, installing python-bitcoinlib is just the usual pip3 install python-bitcoinlib
I recently made a new release that I think fixes the main crypto dependency issue with missing ripemd160 support.
reply
Ditto.
Rust seems perfect for a project like Bitcoin. There's a good chance it would have been written in it were it to be created today.
reply
The community thanks you for your service. Independent developers are what makes Bitcoin into a force of immeasurable potential.
reply
Project goals
blockchain synchronization should be done as efficiently as possible, with low memory, disk and bandwidth overhead. We target resource-constrained environments, such as mobile.
šŸ‘€
reply
How would one use less than 500GB of disk? Prune mode?
reply