Inspiration
Storing arbitrary data in an anonymous way with a high degree of certainty that the data will still be there after some period of time is tricky in today's monopolistic and surveillant scene of cloud storage providers. Enabling a simple pay-to-save-data app which allows anybody to integrate a very simple API call for this purpose can ease this pain and enables a universe stateful applications or applications which need persistence.
What it does
The product is a REST API with 3 functions: 1) Get pricing: For the client to view prices of storage before submitting a file 2) Put a file (include payment in header of the request), returns a UUID to identify the file for retreival 3) Retrieve a file (given a valid UUID and sufficient funding over the time period for which the file is saved)
How we built it
Backend: S3 (aws) API: API Gateway + Lambda DB: DynamoDB
Challenges we ran into
- Cashu client cannot be run in a serverless way
- Header lengths are a bit uncertain in the context of eCash.
Accomplishments that we're proud of
Being here today.
What we learned
What's next for Nutdrive
Additional functionality (see below) and check of market interest/feedback.
Potential functionality extensions: Server Side: 1) Include alternative backends to S3, including nostr 2) Integrate Lightning payments as a second option to eCash 3) Make a containered version of all services, including the exposure of the API 4) Recursive requests to enable the storage of linked files (e.g. a static website) in this manner 5) "Top Up" functionality to extend the paid lifetime of an object (with BOLT12, once 2) is ready) 6) Expose an endpoint which allows users to check the "Trusted Mints" of the application
Client Side: 1) Give a possibility to shard data to multiple providers 2) Health checks 3) Check trusted mints 4) Increase interaction possibilities SDK/GUI/(Web)-App/CLI
Built With
- amazon-web-services
- api
- api-gateway
- cashu
- dynamodb
- lambda
- openapi
- python
- s3
Log in or sign up for Devpost to join the conversation.