Plebbit is a theoretical design for a Reddit alternative built partly using IPFS/IPNS. View the whitepaper.
One of the design that needs to be tested and benchmarked is how long it would take for a user to fetch a Plebbit page (with all its IPFS/IPNS content) client side.
Multiple scenarios should be tested:
- A front page for a user subscribed to 100 subplebbits with 100 posts each.
- A subplebbit front page with 100 posts, with new posts (a new IPNS record) published every X minutes.
- A subplebbit post with all replies, with new replies (a new IPNS record) published every X minutes.
Deliverables
Each scenario should be tested using a Cloudflare IPFS gateway, as well as with a local gateway (will require 2 servers to simulate 2 peers).
A CLI script should be used to simulate publishing the posts. And fetching a page should be done in the browser to simulate a user's experience (console log is OK, no need for front-end).
You should host the publishing script, IPFS node, and browser code on a server to make it easy to test and demo without having to set it up ourselves, until the work is approved.
Everything should be written in Node.js/Javascript or Typescript, using the IPFS CLI client, and preferably/optionally using Docker (though Docker can sometimes cause P2P problems with IPFS).
It should be coded with the assumption that more benchmarks and tests will be added later, eg to test the performance of different ways to store and fetch data.
Plebbit has no standard or schema yet for how the posts are serialized and stored, so you will have to invent a tentative one. For now, it is assumed that posts would be a linked list and the latest post would be the latest IPNS record, but there may be a more performant way to do it in the future.
Submit PRs to this repo inside this folder /proof-of-concepts/ipfs-ipns-fetching-speed
For more in depth explanation of the task contact me on telegram @estebanabaroa or discord estebanabaroa#2853
Plebbit is a theoretical design for a Reddit alternative built partly using IPFS/IPNS. View the whitepaper.
One of the design that needs to be tested and benchmarked is how long it would take for a user to fetch a Plebbit page (with all its IPFS/IPNS content) client side.
Multiple scenarios should be tested:
Deliverables
Each scenario should be tested using a Cloudflare IPFS gateway, as well as with a local gateway (will require 2 servers to simulate 2 peers).
A CLI script should be used to simulate publishing the posts. And fetching a page should be done in the browser to simulate a user's experience (console log is OK, no need for front-end).
You should host the publishing script, IPFS node, and browser code on a server to make it easy to test and demo without having to set it up ourselves, until the work is approved.
Everything should be written in Node.js/Javascript or Typescript, using the IPFS CLI client, and preferably/optionally using Docker (though Docker can sometimes cause P2P problems with IPFS).
It should be coded with the assumption that more benchmarks and tests will be added later, eg to test the performance of different ways to store and fetch data.
Plebbit has no standard or schema yet for how the posts are serialized and stored, so you will have to invent a tentative one. For now, it is assumed that posts would be a linked list and the latest post would be the latest IPNS record, but there may be a more performant way to do it in the future.
Submit PRs to this repo inside this folder /proof-of-concepts/ipfs-ipns-fetching-speed
For more in depth explanation of the task contact me on telegram @estebanabaroa or discord estebanabaroa#2853