UNPKG

@coinbase/wallet-sdk

Version:
137 lines (96 loc) 3.15 kB
# Coinbase Wallet SDK ## Coinbase Wallet SDK lets developers connect their dapps to Coinbase Wallet in the following ways: 1. [Coinbase Smart Wallet](https://keys.coinbase.com/onboarding) - [Docs](https://www.smartwallet.dev/) 1. Coinbase Wallet mobile for [Android](https://play.google.com/store/apps/details?id=org.toshi&referrer=utm_source%3DWallet_LP) and [iOS](https://apps.apple.com/app/apple-store/id1278383455?pt=118788940&ct=Wallet_LP&mt=8) - Desktop: Users can connect to your dapp by scanning a QR code - Mobile: Users can connect to your mobile dapp through a deeplink to the dapp browser 1. Coinbase Wallet extension for [Chrome](https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad?hl=en) and [Brave](https://chromewebstore.google.com/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad?hl=en) - Desktop: Users can connect by clicking the connect with extension option. ### Installing Wallet SDK 1. Check available versions: ```shell # yarn yarn info @coinbase/wallet-sdk versions # npm npm view @coinbase/wallet-sdk versions ``` 2. Install latest version: ```shell # yarn yarn add @coinbase/wallet-sdk # npm npm install @coinbase/wallet-sdk ``` 3. Check installed version: ```shell # yarn yarn list @coinbase/wallet-sdk # npm npm list @coinbase/wallet-sdk ``` ### Upgrading Wallet SDK Upgrade Coinbase Wallet SDK using yarn or npm. #### yarn/npm 1. Compare installed version with latest: ```shell # yarn yarn outdated @coinbase/wallet-sdk # npm npm outdated @coinbase/wallet-sdk ``` 2. Update to latest: ```shell # yarn yarn upgrade @coinbase/wallet-sdk --latest # npm npm update @coinbase/wallet-sdk ``` ### Basic Usage 1. Initialize SDK ```js const sdk = new CoinbaseWalletSDK({ appName: 'SDK Playground', }); ``` 2. Make web3 Provider ```js const provider = sdk.makeWeb3Provider(); ``` 3. Request accounts to initialize connection to wallet ```js const addresses = provider.request({ method: 'eth_requestAccounts', }); ``` 4. Make more requests ```js provider.request('personal_sign', [ `0x${Buffer.from('test message', 'utf8').toString('hex')}`, addresses[0], ]); ``` 5. Handle provider events ```js provider.on('connect', (info) => { setConnect(info); }); provider.on('disconnect', (error) => { setDisconnect({ code: error.code, message: error.message }); }); provider.on('accountsChanged', (accounts) => { setAccountsChanged(accounts); }); provider.on('chainChanged', (chainId) => { setChainChanged(chainId); }); provider.on('message', (message) => { setMessage(message); }); ``` ### Developing locally and running the test dapp - The Coinbase Wallet SDK test dapp can be viewed here https://coinbase.github.io/coinbase-wallet-sdk/. - To run it locally follow these steps: 1. Fork this repo and clone it 1. From the root dir run `yarn install` 1. From the root dir run `yarn dev`