Go to file
Andrew Poelstra ef11e8273b Destroy socket listener on error rather than trying to reconnect; add #derivings
Reconnecting an existing socket simply was not working; the Rust socket
did not expose any methods for reconnection, so I simply tried calling
connect() again. As near as I can tell, this was a no-op --- which makes
sense because both the sending and receiving threads had their own copy
of the Socket, and it's not clear what the synchronization behaviour
should have been.

Instead if the connection fails, we relay this information to the main
thread, wait for an acknowledgement, then simply destroy the listening
thread. The caller can then simply call `start()` again.
2014-09-10 07:15:48 -05:00
src Destroy socket listener on error rather than trying to reconnect; add #derivings 2014-09-10 07:15:48 -05:00
.gitignore Introduce `BitcoinResult`, use it instead of boolean returns in blockchain 2014-07-18 12:40:04 -07:00
.travis.yml Travis supports rust directly now :D 2014-08-28 10:09:51 -07:00
Cargo.toml fix for upstream 2014-08-18 18:04:32 -07:00
LICENSE Add LICENSE file with CC0 in it 2014-07-18 17:37:13 -07:00
README.md Add README 2014-07-18 07:53:03 -07:00

README.md

Rust Bitcoin Library

This library is badly incomplete --- though at this point it is perhaps stable enough that pull requests could be accepted.

Currently development is following the needs of the Wizard's Wallet, which is a "lite" wallet which does SPV validation but maintains a full UTXO index. Its purpose is to be a usable-though-risky wallet which supports experimental user-facing features.

Pull requests to generalize the library or introduce new use cases would be great.

Building

To build, start by obtaining cargo. Then just run cargo build. To run the test cases, do cargo test. Note that the tests must pass (and reasonably complete unit tests provided for new features) before any submissions can be accepted.