From 8ce259591542af0ba1c17c5435cc8844a9fbed7f Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Fri, 28 Oct 2022 16:24:24 -0700 Subject: plan.txt and TODO file cleanup --- adenosine-pds/plan.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 adenosine-pds/plan.txt (limited to 'adenosine-pds') 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 -- cgit v1.2.3