Check available versions:
# yarn
yarn info @coinbase/wallet-sdk versions
# npm
npm view @coinbase/wallet-sdk versions
Install latest version:
# yarn
yarn add @coinbase/wallet-sdk
# npm
npm install @coinbase/wallet-sdk
Check installed version:
# yarn
yarn list @coinbase/wallet-sdk
# npm
npm list @coinbase/wallet-sdk
Migrating from v3 to v4? Please see our v4 migration guide for a full list of breaking changes.
Compare installed version with latest:
# yarn
yarn outdated @coinbase/wallet-sdk
# npm
npm outdated @coinbase/wallet-sdk
Update to latest:
# yarn
yarn upgrade @coinbase/wallet-sdk --latest
# npm
npm update @coinbase/wallet-sdk
Initialize SDK
const sdk = new CoinbaseWalletSDK({
appName: 'SDK Playground',
});
Make web3 Provider
const provider = sdk.makeWeb3Provider();
Request accounts to initialize connection to wallet
const addresses = provider.request({
method: 'eth_requestAccounts',
});
Make more requests
provider.request('personal_sign', [
`0x${Buffer.from('test message', 'utf8').toString('hex')}`,
addresses[0],
]);
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);
});
To run it locally follow these steps:
yarn install
yarn dev