Description

EtherForms is a developer tool that aims to bridge the gap between Web2 and Web3 by providing a simple integration solution to make any Web2 website Web3 compatible. It is an IPaaS (Integration platform as a service) which allows Web2 Business to achieve integration without investing on skills. It is a unified Web3 plugin that is used to build or connect a Web3 website onto an existing platform made using any web builder or CMS framework such as Shopify, Wordpress, etc. Currently, building a web3-compatible website is cumbersome, and requires not only coding skills, but also a certain level of smart contract knowledge. To make things understandable, Imagine, a user who has an existing website on Shopify showcasing their artwork and wants to get on to the world of NFTs and subsequently mints their artwork on an existing NFT Marketplace such as OpenSea. But, their Shopify website has a huge community following and a very strong customer base, the user does not want to lose this support and instead wants to integrate their NFTs to the current Web2 website. In order to do this they will need the help of a Web3 Developer. Here’s where EtherForms comes into play, we help these artists showcase their NFTs on their Shopify, Wordpress, WooCommerce etc. websites with just a click of a button. All they have to do is connect to their wallet through Web3Auth that they used to mint the NFT and then paste the code that they can use to find the NFT calling the OpenSea API and then are able to add the NFT on their personal website, which can then be bought directly, instead of being redirected to OpenSea. Thus integrating as Web3 function onto a Web2 site. Some use cases of the plugin can be: -Artists can integrate their NFTs onto their existing site -Ticketing platform for events -Launch a token gateway for any existing project Long term use cases could be creating any Web3 site using existing smart contracts that will be integrated on the plugin already, this will open up the platform to non developers as well. At the moment the plugin is only EVM compatible, but in the future it could be chain agnostic.

EtherForms showcase

How it's made

Our project consists of a JavaScript library that handles the DOM manipulation using vanilla JavaScript, while taking care of all smart contract interactions using Web3.js and Web3Auth, with no need for manual SC integration. Web3Auth provides the users of EtherForms with an easy-to-use and mass-adoption-ready way of interacting with chosen smart contracts. The library listens to form submissions that includes the web3 data-attributes (data-web3-contract, data-web3-method, data-web3-inputs, and (optionally) the form data). When the form is submitted, the library is preventing a default form submission, and instead looking at the contract address and function it has to call, to prepare the transaction for signing by the user through the (through Web3Auth) selected wallet provider. If the function called expects parameters (which is determined by an array in the data-web3-inputs attribute), the parameters are collected from the form data. If the function does not expect any parameter, the function is simply called without parameters. When the smart contract function is called, the user will be asked to sign and broadcast the transaction. For our MVP, we’re simply hosting the JS library on our own server (a subdomain of etherforms.com), but all users need to host it in their own environment is an API key from Web3Auth. We’ve also built a React.js + TypeScript front-end to make integration easy. The application is simply a 4-step installation process that makes it easy to generate a form to integrate interaction with a smart contract. The hacky part regarding our product is that it’s solely integrated with the ERC-721 standard, as that’s what we aimed for, for the hackathon. But extending it to any other SC standard, or even allowing users to paste their own ABI will be done in the near future.