Try it out at uApp.link!
View example agreement scripts to see how to write your own.
Watch the video here!
The goal of this project was to enable developers with zero blockchain experience to deploy trustless agreements that depend on Web 2 data.
What it does
How we built it
The agreement registry contract allows for creation of individual NFT agreement contracts which are minted to the redeemer's address. Upon redemption, the redeemer provides all required input variables. Then, the agreement contract sends a request to the Universal Adapter with the input variables and the IPFS content ID of the script that was used to make the agreement. Finally, the response is sent back to the agreement contract via a callback, distributing the funds.
The smart contracts were created by two developers, one using Foundry and the other using Hardhat. The frontend was made with Next.js and uses Ethers and Wagmi hooks for interacting with the blockchain; it is hosted on Vercel. The Chainlink nodes, databases and function-as-a-service containers are hosted on Google Cloud Platform.
Challenges we ran into
In addition to writing multiple smart contracts, deploying a sophisticated frontend and creating example use cases, it also required setting up infrastructure and paying to host three separate Chainlink nodes, databases and Function-as-a-Service containers.
Accomplishments that we're proud of
Despite the time zone differences between the UK and United States, the team was able to coordinate and develop a fully functional prototype that can be used by anyone on the Mumbai network. Our smart contracts offer both security and gas-efficiency, while our frontend delivers a seamless user experience across desktop and mobile devices.
What we learned
Prior to this project, the team had almost no experience with React. However, in just three weeks, we all learned how to create performant Web 3 frontends using Next.js and Wagmi hooks.
What's next for Universal Adapter Protocol
We've got plans, but you will have to wait and see! 🤐
Agreement Registry Contract Address: 0xC1753660cC46dfabf9ea4328D10a79dAa2D661EB Universal Adapter Smart Contract Github Repository:
Log in or sign up for Devpost to join the conversation.