diff options
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 |