Port a browser-based web3 application to server side API
Budget: ₹12,500 – ₹37,500 INR
Fork a copy of vfat.tools and change it from interacting with browser-based wallets to accept the parameters in an API fashion.
Almost all of the logic and work is done already, this is mainly just changing the inputs into the existing code from browser wallet to API parameters, and changing the output to be structured, JSON data, instead of the textual format it currently outputs. All of this data is public, it's just a matter of executing it in a different context. Basically merging vfat's work on calculation and data collection with the backend communication stuff that Ethers.js does.
Ethers.js also probably the library you'll use for this: https://github.com/ethers-io/ethers.js/
vfat (which handles the frontend / data manipulation and calculation, etc) is here - https://github.com/vfat-tools/vfat-tools
Current flow: vfat static site frontend -> metamask or other browser extension -> RPC endpoints for different blockchains
Desired flow from this: (API client) -> this new API -> RPC endpoints for different blockchains
So I should be able to, instead of connecting my wallet, simply send it parameters like:
- wallet address
- farm identifier (TBD; see how vfat.tools looks it up)
- blockchain ID / network (polygon/matic, ethereum, binance smart chain, etc)
- RPC endpoint (will be different and could select one of many per each blockchain)
The RPC work needs to be done on the server side. I believe all this does right now all this does is tell the wallet to interact with it's defined RPC endpoints.
If you understand how to use MetaMask to connect to https://vfat.tools/polygon/polymocha/, then you should be able to understand what I am looking for here. I don't think it's a ton of work, JavaScript is not my specialty.
DELIVERABLE:
- a fork of the vfat-tools project (so it can maintain upstream updates) but an added layer on top that starts up a local nodejs server that creates a simple API instead of using the wallet interaction
- API will deliver data in JSON format. resemble the outputs (but not format) from pages like this https://vfat.tools/polygon/polymocha/
This is a proof of concept project for me individually, if it works well, I'll probably be back for more work in the future.
Almost all of the logic and work is done already, this is mainly just changing the inputs into the existing code from browser wallet to API parameters, and changing the output to be structured, JSON data, instead of the textual format it currently outputs. All of this data is public, it's just a matter of executing it in a different context. Basically merging vfat's work on calculation and data collection with the backend communication stuff that Ethers.js does.
Ethers.js also probably the library you'll use for this: https://github.com/ethers-io/ethers.js/
vfat (which handles the frontend / data manipulation and calculation, etc) is here - https://github.com/vfat-tools/vfat-tools
Current flow: vfat static site frontend -> metamask or other browser extension -> RPC endpoints for different blockchains
Desired flow from this: (API client) -> this new API -> RPC endpoints for different blockchains
So I should be able to, instead of connecting my wallet, simply send it parameters like:
- wallet address
- farm identifier (TBD; see how vfat.tools looks it up)
- blockchain ID / network (polygon/matic, ethereum, binance smart chain, etc)
- RPC endpoint (will be different and could select one of many per each blockchain)
The RPC work needs to be done on the server side. I believe all this does right now all this does is tell the wallet to interact with it's defined RPC endpoints.
If you understand how to use MetaMask to connect to https://vfat.tools/polygon/polymocha/, then you should be able to understand what I am looking for here. I don't think it's a ton of work, JavaScript is not my specialty.
DELIVERABLE:
- a fork of the vfat-tools project (so it can maintain upstream updates) but an added layer on top that starts up a local nodejs server that creates a simple API instead of using the wallet interaction
- API will deliver data in JSON format. resemble the outputs (but not format) from pages like this https://vfat.tools/polygon/polymocha/
This is a proof of concept project for me individually, if it works well, I'll probably be back for more work in the future.