Web3 SDK

Web3 SDK

it's a open-source React UI Kit that allows anyone to build web3 apps without prior web3 knowledge.

Motivation

The premise is that on a top level, developer doesn't need to know about gas, transactions, smart-contract – we can have good defaults that work for any wallet and that provide good UI/UX and feedback.

Developer's job is building UI in React, web3-sdk handles all the rest. Developer only decides which data to take from inputs, which transactions to create on each button click – and every blockchain detail is handled by us; or presented to end user to decide.

Implementation

As input, the SDK receives only the list of smart-contract addresses used in the app ; and a few API keys: Etherscan, Infura, Alchemy (optional), Onboard.js, Buildship (later when we're bigger).

On build step, the ABIs are fetched from etherscan or from our backend (see this endpoint used in widget https://metadata.buildship.dev/api/info/0xFdf7BA4Edcb8F3F666239EBdA387506B3c598BD5?network_id=1 ).

Drafts

https://github.com/caffeinum/web3-uihttps://github.com/buildship-dev/web3-login

Reference

https://github.com/thirdweb-dev/react

Roadmap

  • make it work!

  • gather some developer feedback;

  • move from onboard.js to wagmi;

  • use hooks everywhere;

  • web3-login vs. web3-ui React component lib;

  • implement build step thing so abstract away "smart-contracts" for the developer;

  • transaction handling (popups, see pending txs, retry, re-fetch tx status);

  • allow using thegraph.com or our backend to make blockchain read requests faster (cache and combine multiple into one);

  • non-React integrations: e.g. phaser.js;

  • ENS support, NFT avatar support;

  • all the fun stuff.

Last updated