diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2022-10-28 16:24:24 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2022-10-28 16:24:24 -0700 |
commit | 8ce259591542af0ba1c17c5435cc8844a9fbed7f (patch) | |
tree | c25343a98df2d10058d4016d02266ca6e79e0a3b /adenosine-pds | |
parent | c7ac6c415565a09b2250218ccc53f17bdb01b256 (diff) | |
download | adenosine-8ce259591542af0ba1c17c5435cc8844a9fbed7f.tar.gz adenosine-8ce259591542af0ba1c17c5435cc8844a9fbed7f.zip |
plan.txt and TODO file cleanup
Diffstat (limited to 'adenosine-pds')
-rw-r--r-- | adenosine-pds/plan.txt | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/adenosine-pds/plan.txt b/adenosine-pds/plan.txt new file mode 100644 index 0000000..1b55bb7 --- /dev/null +++ b/adenosine-pds/plan.txt @@ -0,0 +1,21 @@ + +PDS proof of concept: +- ipld sqlite driver importing CAR file +- MST code to read and mutate state +- sqlite schema +- JSON schema type generation (separate crate?) +- write wrapper which updates MST *and* updates other tables in a transaction +- did:web thingie? +- HTTP API handler implementing most endpoints + +libraries: +- `jsonschema` to validate requests and records (rich validation) +- `schemafy` to codegen serde types for records (ahead of time?) +- `rusqlite` with "bundled" sqlite for datastore +- `ipfs-sqlite-block-store` and `libipld` to parse and persist repo content +- `warp` as async HTTP service +- `r2d2` to wrap rusqlite (?) +- pretty_env_logger +- ??? for CBOR (de)serialization of MST, separate from the IPLD stuff? +- no good crate for working with CAR files... could rip out this code? + https://github.com/n0-computer/iroh/tree/main/iroh-car |