Web3API: Improving how dApps Integrate with Uniswap v2

A project sponsored by UNI Grants and Web3API DAO

The Web3API DAO is thrilled to announce that we’ve received a grant from the Uniswap Grants Program to build the Uniswap v2 Web3API.  The Uniswap Web3API aims to be a substantial improvement over Uniswap’s existing JavaScript SDK.  We’re excited to give you a sneak peek at what we’re building for the UNI community and the future of Web3 protocol integration as a whole!

But first, a quick intro of our team.

Web3API was first conceived at HackFS in August 2020 by Jordan Ellis, Cesar Brazon, Roberto Henriquez, and Ori Shimony.  These four engineers shared the dream of making the Web3 development experience as easy as Web2, without sacrificing decentralization.  

Web3API was selected as a finalist at EthGlobals’ HackFS Hackathon, giving the project the momentum it needed to grow into a DAO with 60+ members, attract talented developers and some amazing launch partners, including: WalletConnect, Fleek, Gnosis, 3Box Labs, Pocket Network, Torus, and many more.


So what is Web3API?

Web3API is a developer toolchain that makes it easy to integrate protocol business logic into Web3 applications.  The Uniswap Web3API is different from the Uniswap JS SDK in the following ways:

What are we building for Uniswap?

  1. We’re building the same functions you’ve come to love with the v2 JavaScript SDK (like fetching token data or executing trades) in the form of Web3API queries and mutations, along with its documentation.

  2. A hands-on demo to show you what the Uniswap Web3API is all about.

A sneak peak of the Web3API development experience.

NOTE: Web3API is in pre-alpha, and should not be used for production applications (yet). Please see our GitHub releases for status updates.

Here’s an example showing how easy it will be to integrate the Uniswap Web3API into a JavaScript app.

  1. Install the Web3API client to your dApps package.json

  1. Import and instantiate the client with an Ethereum provider

  1. Query the Uniswap Web3API

And that’s it! You now have all you need to access any of Uniswap’s v2 functionality (in this case, `fetchTokenData`).

If you’re building in React, we have you covered with our React wrapper. Checkout the @web3api/react package on npm.


What are some things on our roadmap?

1. AssemblyScript Web3APIs (Today)

For our alpha release, we’re making AssemblyScript the first language for building Web3APIs. Along the way, we’ve made important contributions to the AssemblyScript ecosystem:

  • BigInt class for AssemblyScript

  • BigFloat (Decimal) class for AssemblyScript, which allows exact calculations for token swaps in solidity smart contracts

2. Web3API Alpha Release

We’re nearing our Alpha release, which will be the first semi-stable version of the toolchain ready for the world to start experimenting with.

3. The Launch Partner Program (Today)

We are working alongside some of the most exciting Web3 projects today to refine our toolchain.  Our launch partners have been invaluable in testing out Web3API development and providing feedback.  Here is a quick shoutout to those who have already joined the program:

  • WalletConnect

  • Fleek

  • Razor

  • 3Labs

  • Abridged

  • MANTRA DAO

  • Rockside

  • Torus

  • Aleph.im

  • Pocket Network

  • Gnosis

  • DXdao

  • Squad Games

  • Gelato

  • Zero

  • Jarvis

… And many more to join the movement!

4. Future languages (Late Q2 2021)

We’re excited to announce that Rust will be the next language that protocols can use to build their Web3APIs, followed potentially by Go (TinyGo) later down the road.

Rust has always provided an incredible development experience, and with its great support for WebAssembly, we feel that it’s the perfect language to build Web3APIs with. 

5. The Web3Hub Pre-alpha (Late Q2 2021)

The Web3Hub is a user interface for all-things Web3API!  It’s a simple-to-use application where users can search, view, and use any Web3APIs. Additionally the application will help developers deploy their own Web3API with a few simple clicks.


Conclusion

Our team is working diligently on the Uniswap v2 Web3API and we can’t wait to show you the results. ⚡️

In the meantime, take action by clicking below:

🛰 ~ Join Discord

📓 ~ Read the Docs

👀🔥 ~ We're hiring Rust Developers

📺 ~ Watch the ETH Denver Presentation

Thanks for being part of this awesome journey ~