nakamoto
nakamoto copied to clipboard
Privacy-preserving Bitcoin light-client implementation in Rust
Extending the reactor trait allows for implementing things like proxying.
in terminal ``` ./nakamoto-wallet --addresses bc1q0qjylfgu4t8yky6fxr599yw23ruqun0030t9af --genesis 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f ``` gives this ``` Error parsing option '--genesis' with value '000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f': invalid digit found in string ``` What could I do wrong?
Peers that misbehave or shouldn't be connected to / retry-ed for a while should be banned. We're mainly interested in saving time and bandwidth by doing this. The banned peers...
Return error early if filter header isn't downloaded for requested filter
Pure futures (sans-io) test.
When `client.run` fails, users have to create a new client, reload blocks and peers before sync can be started. We should ensure client doesn't panic or is easily restartable.
Currently, the client API is channel based, via `crossbeam-channel`. It would be worth exploring what a futures-based API might look like around `Client` and `client::Handle`.
To have a higher chance to connect to peers with `NODE_COMPACT_FILTERS` support, we could use the service bit filtering functionality of DNS seeds. This is not a very well documented...