Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Front/Back] Pinning Service #62

Open
its-colby opened this issue Oct 22, 2024 · 0 comments
Open

[Front/Back] Pinning Service #62

its-colby opened this issue Oct 22, 2024 · 0 comments
Labels
low priority mvp Minimum viable product

Comments

@its-colby
Copy link
Collaborator

Create a pinning service, where users are allowed to pay for "pinning" files to the server's DB (the cache for the blockchain). This will ensure that the files are kept on the server even if they aren't used for a short while. It will work similar to IPFS's pinning system.

In the frontend, users will be allocated pinning credits. For now, these credits will be based upon their up/download credits in some arbitrary way. For example 5GB up/down gets 3 pinning credits, while 10GB up/down gets 8 pinning credits, etc.

In the frontend, wherever the metadata for a file is located, it also should contain a button for pinning the file. If the user doesn't have enough pinning credits, the appropriate error message will show.

The backend will manage the pinning credits the same way it manages up/down credits.

The particular design of the pinning is up to the developer. You can either choose to have a special key value storage in RAM on the server exclusively meant for holding pinned files. Or you can develop a more complicated approach where, when key-values are removed from the database to store more recently used key-values, it will never remove a pinned item. Personally, I recommend the first as it is much easier to develop and maintain.

@its-colby its-colby added low priority mvp Minimum viable product labels Oct 22, 2024
@its-colby its-colby added this to the Auto Drive MVP milestone Oct 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
low priority mvp Minimum viable product
Projects
None yet
Development

No branches or pull requests

1 participant