Staking Rewards Viewer Open Grant Application#429
Conversation
Noc2
left a comment
There was a problem hiding this comment.
Just a reminder: It looks like you still have to sign the CLA. I also just added your app already here: https://github.com/jackson-harris-iii/staking-rewards-viewer It looks nice. Great work. I have a few additional questions regarding the application itself:
- What is the purpose of the back end (speed up the data access)? How do you plan to scale the project or to deploy the back-end on ipfs? Deploying a "real" back-end on ipfs means you can not easily store a lot of data there and it usually causes a lot of problems (data isn’t pinned, etc.). Also this way you can not store any private keys etc. in the backend, because anything is publicly accessible. I imagine it will be hard to scale the project/improve the usability at this stage, if everything is deployed on ipfs.
- Regarding the application, I think it makes sense to combine milestone 1 and 2 at this stage.
- Could you add the deliveries 0a - 0d to your milestone, see https://github.com/w3f/Open-Grants-Program/blob/master/applications/application-template.md#milestone-1-example--implement-substrate-modules
|
@Noc2 Thanks for adding that for me. I've updated the milestones and added the deliveries as well.
|
@jackson-harris-iii So just to double check that I understand correctly: does that mean you're not planning to use the code from the staking rewards collector anymore? |
@mmagician currently the staking rewards collector code is located in the src/utilities folder of staking rewards viewer and is the core for the data retrieval, results shaping, and csv creation. There is some refactoring being done so that it can work solely in a browser. I could use it 100% as is, if required, but that would remove the possibility of being entirely on ipfs. The original collector relies in a few nodejs modules, but since it's all JavaScript that are alternatives I can use to make it all work client side. |
|
The ideal scenario, IMO, is code reuse. There are likely going to be updates to the original collector code (either extra features, or just keeping up to date with polkadot APIs) and it would be great if your frontend supported these changes out-of-the-box (perhaps have it as a sub-module? or reference it as an npm package?) Do you foresee a scenario for this grant where part of the work would be refactoring the original tool s.t. it supports both the CLI and your use case better? Perhaps you could have a chat with @jonasW3F to see if you'd align on the outcomes (he's also very much interested in the frontend, btw). |
|
@jackson-harris-iii Sounds good to me. Could you update the PR? I think the application still contains for example: “Back End: Next.js/Vercel/IPFS” |
|
I would also prefer that both versions stay synced and that the CLI version stays functional. Currently, there are no immediate updates planned, but that can always change. I am not a programmer, so I cannot judge the quality of my code but certainly, it could be improved and refactored. So, I would be open to include PRs from @jackson-harris-iii, which make the code functional for the front-end and leave the CLI version intact. |
Hi @jonasW3F , After reviewing your comments I have given some thought on how I think we can proceed with keeping the two repos synced. Here are my notes on accomplishing that.
|
|
@jackson-harris-iii, I personally think that it’s not mandatory to keep both in sync. Potentially you can reuse some of the code and create a package for it, so it’s easier to maintain it for both solutions, but it ultimately depends on what you plan to do (and I’m not sure there is a lot of overlap). If you create a back-end, I think it definitely would make sense to also create your own database for performance reasons and no longer to rely on querying public end-points for free. For example, if you have the CLI version deployed on ipfs and a lot of users access this version via the same ipfs server, the public endpoints will quickly limit the access via this ipfs server and it stops working. |
@Noc2 My current understanding is that IPFS would only host the tool and possibly the site. The CLI would need to be downloaded locally and run from the user's machine, the same is true for the front-end.
|
|
@jackson-harris-iii Thanks for the update. Could you still add the deliveries 0a - 0d to your milestone, see and potentially combine milestone 1 and 2? |
|
@Noc2 I added the additional deliveries to the proposal. |
Thanks. But now milestone 1 doesn’t contain any deliveries. Could you update the PR again? |
Sorry about that, hadn't had my tea yet, changes made! I also moved the IPFS to future plans. There are a few different ways to go about it, and some of the specifics I'd like to discuss once we have a live version. (Account ownership, pinning, etc.) |
|
Congratulations! As part of the Open Grants Program, we want to help winning teams acknowledge their grants publicly. To that end, we’ve created a badge for projects that successfully delivered their first milestone. Please observe the foundation’s guidelines when making any announcements; in particular, don’t announce the grant publicly before you've completed at least the first milestone of the project. |
|
@jackson-harris-iii I now realise the application still contains two milestones. Didn't you mean to merge them into one in your last update? As @Noc2 mentioned, this would also be preferable for us. Ideally you'd deliver the tests with the application, and you can integrate feedback during the delivery process. Other than that, looks good to me! |
* complete open grants application * Update staking-rewards-collector-front-end.md * Update staking-rewards-collector-front-end.md * Update staking-rewards-collector-front-end.md * Update staking-rewards-collector-front-end.md
Grant Application Checklist
project_name.md) and updated.