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

The user needs to be paying for the storage and the bandwidth they're reserving #7

Open
sameh-farouk opened this issue Oct 17, 2022 · 3 comments
Labels
type_feature New feature or request
Milestone

Comments

@sameh-farouk
Copy link
Member

sameh-farouk commented Oct 17, 2022

The user needs to be paying for the storage and the bandwidth they're reserving

see :
threefoldtech/tfchain#445

This is a subtask of :
#3

@sameh-farouk
Copy link
Member Author

Status:

  • The storage can be calculated per CID
  • bandwidth consumed per CID (storing/retrieving) can be tracked (This one is a bit challenging, still researching best way to implement it)

@sameh-farouk sameh-farouk self-assigned this Nov 7, 2022
@sameh-farouk sameh-farouk added the type_feature New feature or request label Nov 14, 2022
@sameh-farouk sameh-farouk added this to the 0.3.0 milestone Nov 14, 2022
@sameh-farouk
Copy link
Member Author

sameh-farouk commented Nov 15, 2022

Update:
After researching this, here is a list of IPFS issues and discussions regarding the bandwidth tracking at CID level:

to sum up the info from the above links:

  • With IPFS, out of the box, it's quite difficult to see what kind of usage / traffic is going through our nodes on a per root CID basis. this not supported via either the client or the API.

  • We can come up with hacky solutions given the info i researched, but there is no optimal solution yet provided by IPFS. these solution would include:

    • monitoring and parsing the logs
    • through a go-ipfs plugin and bitswap
  • The best efforts made yet to come over this limitation was from pinata side, they help develop a plugin that can used to track estimated bandwidth on a per block basis.

  • https://gitcoin.co/issue/23631

  • https://github.com/tzdybal/cidtrack

I provided the link above but need to try it and check if it could be any useful. I think this was the initial implementation and it developed further privately for production use in pinata. could be outdated as well.

@sameh-farouk
Copy link
Member Author

sameh-farouk commented Nov 30, 2022

Update:
I gave the plugin mentioned above a try, but as expected it is outdated and I wasn't able to get past the building process. I need some direction here, should we implement our own solution, or try to update this plugin code? also, we could bill users based on the actual data size and estimate the bandwidth as there is no official support yet in IPFS for measuring the bandwidth per user data.

@rkhamis rkhamis modified the milestones: 0.3.0, 0.4.0 Mar 28, 2023
@sameh-farouk sameh-farouk removed their assignment Aug 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type_feature New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants