• Stars
    star
    323
  • Rank 130,051 (Top 3 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Secure, distributed, append-only log

hypercore

crates.io version build status downloads docs.rs docs

WIP. Secure, distributed, append-only log structure. Adapted from mafintosh/hypercore.

NOTE: The master branch currently only works with the old hypercore version 9. For ongoing work to support the latest version 10 of hypercore see the v10 branch.

Usage

let mut feed = hypercore::open("./feed.db").await?;

feed.append(b"hello").await?;
feed.append(b"world").await?;

assert_eq!(feed.get(0).await?, Some(b"hello".to_vec()));
assert_eq!(feed.get(1).await?, Some(b"world".to_vec()));

Installation

$ cargo add hypercore

Safety

This crate uses #![deny(unsafe_code)] to ensure everything is implemented in 100% Safe Rust.

Contributing

Want to join us? Check out our "Contributing" guide and take a look at some of these issues:

References

License

MIT OR Apache-2.0

More Repositories

1

hypercore-protocol-rs

Rust implementation of Hypercore protocol
Rust
85
star
2

dat

Dat protocol implementation in Rust. To be implemented.
Rust
74
star
3

flat-tree

Map a binary tree to a vector.
Rust
53
star
4

merkle-tree-stream

A stream that generates a merkle tree based on the incoming data.
Rust
50
star
5

hyperspace-rs

Hypercore storage and replication daemon, written in Rust
Rust
36
star
6

speedometer

Measure throughput per second.
Rust
35
star
7

hyperswarm-rs

Rust implementation of Hyperswarm, a networking stack for connecting peers
Rust
28
star
8

random-access-disk

Continuously read/write to disk using random offsets and lengths .
Rust
25
star
9

dat-network-protocol

Dat Network Protocol protobuf definitions.
Rust
18
star
10

print-flat-tree

Converts a flat-tree to a string.
Rust
17
star
11

tree-index

Stateful tree index.
Rust
15
star
12

varinteger

Encode / decode varints.
Rust
14
star
13

hyperdb

Distributed, scalable database. To be implemented.
Rust
14
star
14

memory-pager

Access memory using small fixed size buffers.
Rust
14
star
15

sleep-parser

Parse Dat protocol SLEEP files.
Rust
13
star
16

random-access-storage

Abstract interface to implement random-access instances.
Rust
13
star
17

random-access-memory

Continuously read/write to memory using random offsets and lengths.
Rust
12
star
18

simple-message-channels

Rust
11
star
19

sparse-bitfield

Bitfield that allocates a series of small buffers.
Rust
11
star
20

bitfield-rle

A run-length-encoder that compresses bitfields.
Rust
9
star
21

atomic-batcher

A simple batching function that allows you to atomically batch a series of operations.
Rust
8
star
22

pretty-hash

Output binary buffers as a nice, shortened hex string.
Rust
6
star
23

k-bucket

WIP Kademlia DHT K-bucket implementation as a binary tree.
Rust
5
star
24

research

A grab-bag of resources, items and code related to working on Hypercore and Rust
4
star
25

thunky

Delay the evaluation of a paramless async function and cache the result.
Rust
4
star
26

repo-utils

Utilities to operate on repositories.
Shell
3
star
27

website

JavaScript
2
star
28

compact-encoding

A series of compact encoding schemes in Rust for building small and fast parsers and serializers
Rust
1
star