aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2017-10-25 00:53:12 -0700
committerBryan Newbold <bnewbold@robocracy.org>2017-10-25 00:53:12 -0700
commitfbf372144c3468dd00e5b12b63ef6e77634a4500 (patch)
treed3e3742f962934e0dc163b7796ce6c9069c085bd /README.md
parentb330843fb1788d7882f72ce9cbaf526e1bb91e56 (diff)
downloadgeniza-fbf372144c3468dd00e5b12b63ef6e77634a4500.tar.gz
geniza-fbf372144c3468dd00e5b12b63ef6e77634a4500.zip
update README with progress list
Diffstat (limited to 'README.md')
-rw-r--r--README.md42
1 files changed, 36 insertions, 6 deletions
diff --git a/README.md b/README.md
index 768177e..8757dc8 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,3 @@
-..
_
__ _ ___ _ __ (_)______ _
@@ -10,12 +9,43 @@
this is a very poor / partial / non-compliant dat implementation in rust.
it will eat-your-data.
-SLEEP v2: Syncable Lightweight Event Emitting Persistence
+### Progress
-Libraries:
-- rust-crypto for blake2b and Ed25519
-- integer-encoding for varints
-- ??? for protobuf
+- [ ] SLEEP v2 Files
+ - [x] read/write file headers
+ - [x] read/write file chunks as raw bytes
+ - [ ] pread/pwrite file chunks without seeking
+ - [x] read data entries by index
+ - [ ] append data entries
+ - [ ] verify entire register (signatures and merkel tree)
+ - [ ] bitfields
+- [ ] Drive metadata and files
+ - [ ] add file to register
+ - [ ] checkout file from register
+ - [ ] print file tree ("ls")
+ - [ ] add directory recursively
+ - [ ] checkout directory recursively
+- [ ] Networking
+ - [ ] send/receive encrypted messages to a known host
+ - [ ] pull register from a known host
+ - [ ] sync register to a known host
+ - [ ] lookup hosts in DHT swarm by discovery key
+- [ ] Wrapper command
+ - [ ] clone
+ - [ ] share
+ - [ ] log
+ - [ ] status
+ - [ ] add
+
+### Dependencies
+
+Requires libsodium-dev system-wide (for now).
+
+Notable Rust Libraries:
+- rust-crypto for blake2b
+- sodiumoxide Ed25519 (signing) and XSalsa20 (stream)
+- integer-encoding for simple varints (network protocol)
+- rust-protobuf for protobuf (network protocol)
- ??? for Kademlia Mainline DHT
protobuf code generated with `rust-protobuf`; the `protoc` tool (`sudo apt