Inspiration
If you're a smart contract developer, you know that interacting with your smart contracts is not a straightforward job. Generally, we use unit-testing to check the various functionalities of the smart contract. Apart from that, it is also possible to use tools like Remix to manually interact with your contracts. But it is not shareable in nature and demands technical know-how on the part of the user. Thus Block explorers can be used to provide a minimal interface but that would require the code to be open-sourced. So what we really needed was a way to have a shareable UI for smart contracts, without open-sourcing the code and must be ready to use, with little to no setup required making the tedious job easy.
What it does
Etherviewer was conceptualized in this way. It provides shareable UIs for smart contracts, which can be used requiring any setup or configuration. It is useful for people who lack technical expertise or awareness regarding blockchain or smart contracts. A user can generate the UI by uploading the contract details which include address, network, and the JSON artifact file. The data is stored in a decentralized manner on IPFS-Filecoin and a shareable link is provided to the user. This can be shared with other users who wish to interact with or view the smart contract functions. Etherviewer inherently provides RPCs for most EVM networks and the user can readily query data using etherviewer. State mutating functions require the user to connect their Metamask wallet to send the transaction.
How we built it
This application is built using Next.js and TailwindCSS. It also uses Web3.storage for storing data in a decentralized manner on IPFS-Filecoin We used ethers library for smart contract interaction and parsing ABI and in order to host a static version of the frontend, we used the Spheron network protocol.
Challenges we ran into
It was quite difficult to arrive at the solution. The planning and the ideation stage were intense. Had to break down the whole thing into individual portions so as to plan the workflow. Had quite a lot of trouble with parsing ABIs, and we also faced difficulty in generating dynamic UI and accepting its inputs.
Accomplishments that we're proud of:)
We are proud that within the stipulated time frame we have built a functional solution. After building it, we shared it with a few friends and we are proud to see that some friends have taken a liking and have started using it already.
What we learned
We learned about ABIs and how to parse them. During the implementation, we also gain insights on how to store and retrieve data using Web3.storage. And in the end, while hosting the application we learned how to make use of the Spheron network.
What's next for Etherviewer
We look forward to providing a local blockchain environment similar to that of Remix. Also, add features to allow users to make contract deployments. Have Built-in logs and the dapp should be able to support multiple wallets.
Built With
- ethers
- filecoin
- ipfs
- next.js
- tailwindcss
- web3.storage
Log in or sign up for Devpost to join the conversation.