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

EstuaryPinningContract on FEVM #11

Open
alvin-reyes opened this issue Dec 18, 2022 · 5 comments
Open

EstuaryPinningContract on FEVM #11

alvin-reyes opened this issue Dec 18, 2022 · 5 comments
Assignees

Comments

@alvin-reyes
Copy link
Contributor

alvin-reyes commented Dec 18, 2022

Idea/Proposal: EstuaryPinningContract on FEVM

Contributors @alvin-reyes  
Status Draft
Revision  

Proposal/Overview

Create an EstuaryPinningContract to allow users to request CIDs to be processed by Estuary.

image

@jimmylee
Copy link

As long as the user in this case can also be a service, therefore the service can charge its consumers whatever it needs to justify the FIL per CID price.

@alvin-reyes
Copy link
Contributor Author

alvin-reyes commented Dec 19, 2022

The payment here may or may not be per CID. It can be denominated based on FIL per GB.

E.i: if we have a price of 1GB = 1FIL, 2 CIDs that’s 0.5GB in size will cost 1 FIL. If someone wants to store 3.5GB worth of CIDs, they’ll have to pay 3.5 FIL. We would need an Oracle to get the FIL/USD to GB price.

@kelindi
Copy link

kelindi commented Dec 19, 2022

Does the user paying per cid mean that estuary would be charging for storage if accessed through the FVM vs our api?

@gmelodie
Copy link

Why not have something more general? PinningContract to which you can pass a peerID and that contract will try to have that peer to pin your content.

@alvin-reyes
Copy link
Contributor Author

@kelindi this assumes that we will only strictly serve paying customers all APIs are authenticated via subscription service.

@gmelodie we can. The contract can accept a CID and we will store it in an array mapping of index, cid, address and status. We will then expose a function to get the list of CID so that an external service can call the function and grab the CIDs and pass it to /pinning/pins.

Once we have those dealt with (storage deal), we will need to call the contract ourselves to add the completed CIDs to a complete mapping on the contract.

@alvin-reyes alvin-reyes self-assigned this Dec 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants