Hyperbee
⚠️ WARNING 🚧 API unstable ⚒️ and still in development 👷
A peer-to-peer append-only B-tree built on Hypercore. Compatible with the JavaScript version.
$ cargo add hyperbee
Usage
From the examples:
use Hyperbee;
async
Parity with JS Hyperbee
- full functional interoperability with JS Hyperbee files
- read, write, and delete operations
- in-order key streaming like JS's
createReadStream
- support
gt
,lt
, etc bounds for key streaming - accept compare-and-swap for
put
anddel
. - support prefixed key operations like JS's
sub
- one-to-one binary output
Future work
- Build FFI wrappers
- improved wire format
- configurable tree parameters
Development
Integration tests use data generated by JavaScript code in gen_test_data
. Generate the test data with:
$ cd gen_test_data && yarn install && yarn node index.js && popd
Then you can run the tests with $ cargo test
.