GithubHelp home page GithubHelp logo

nicconico / coinbase-wallet-sdk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from coinbase/coinbase-wallet-sdk

0.0 0.0 0.0 24.78 MB

An open protocol that lets users connect their mobile wallets to your DApp

Home Page: https://coinbase.github.io/coinbase-wallet-sdk/

License: MIT License

Shell 0.44% JavaScript 7.77% TypeScript 88.80% SCSS 2.99%

coinbase-wallet-sdk's Introduction

Coinbase Wallet SDK

npm npm

Coinbase Wallet SDK allows dapps to connect to Coinbase Wallet

  1. Coinbase Smart Wallet
  2. Coinbase Wallet mobile for Android and iOS
    • 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
  3. Coinbase Wallet extension for Chrome and Brave
    • Desktop: Users can connect by clicking the connect with extension option.

Installing Wallet SDK

  1. Check available versions:

      # yarn
      yarn info @coinbase/wallet-sdk versions
    
      # npm
      npm view @coinbase/wallet-sdk versions
  2. Install latest version:

    # yarn
    yarn add @coinbase/wallet-sdk
    
    # npm
    npm install @coinbase/wallet-sdk
  3. Check installed version:

    # yarn
    yarn list @coinbase/wallet-sdk
    
    # npm
    npm list @coinbase/wallet-sdk

Upgrading Wallet SDK

Migrating from v3 to v4? Please see our v4 migration guide for a full list of breaking changes.

  1. Compare installed version with latest:

    # yarn
    yarn outdated @coinbase/wallet-sdk
    
    # npm
    npm outdated @coinbase/wallet-sdk
  2. Update to latest:

    # yarn
    yarn upgrade @coinbase/wallet-sdk --latest
    
    # npm
    npm update @coinbase/wallet-sdk

Basic Usage

  1. Initialize SDK

    const sdk = new CoinbaseWalletSDK({
      appName: 'SDK Playground',
    });
  2. Make web3 Provider

    const provider = sdk.makeWeb3Provider();
  3. Request accounts to initialize connection to wallet

    const addresses = provider.request({
      method: 'eth_requestAccounts',
    });
  4. Make more requests

    provider.request('personal_sign', [
      `0x${Buffer.from('test message', 'utf8').toString('hex')}`,
      addresses[0],
    ]);
  5. Handle provider events

    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
    2. Checkout the playground branch git checkout playground
    3. From the root dir run yarn install
    4. From the root dir run yarn dev

coinbase-wallet-sdk's People

Contributors

petejkim avatar bangtoven avatar fan-zhang-sv avatar natereiners avatar cb-jake avatar github-actions[bot] avatar dependabot[bot] avatar erin-at-work avatar hieronymus777 avatar brendanww avatar vishnumad avatar jeongmincho avatar brianchitester avatar amitgoelny avatar andrewgold avatar jakepanitz avatar arjun-dureja avatar vladimirmikulic avatar gbarr01 avatar cb-kfroemming avatar lukasrosario avatar spencerstock avatar willnewman-cb avatar gareys-cb avatar cb-pedro-rosario avatar ljharb avatar taycaldwell avatar chrislatorres-cb avatar styner32 avatar shreypdev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.