- Consolidated duplicate UndoManagers to single instance - Fixed connection promise to only resolve on 'connected' status - Fixed WebSocketProvider import (WebsocketProvider) - Added proper doc.destroy() cleanup - Renamed isPresenceInitialized property to avoid conflict Co-Authored-By: Paperclip <noreply@paperclip.ing>
Base Account SDK
Base Account SDK allows dapps to connect to Base Account
Installing Base Account SDK
-
Check available versions:
# yarn yarn info @base-org/account versions # npm npm view @base-org/account versions -
Install latest version:
# yarn yarn add @base-org/account # npm npm install @base-org/account -
Check installed version:
# yarn yarn list @base-org/account # npm npm list @base-org/account
Upgrading Base Account SDK
-
Compare the installed version with the latest:
# yarn yarn outdated @base-org/account # npm npm outdated @base-org/account -
Update to latest:
# yarn yarn upgrade @base-org/account --latest # npm npm update @base-org/account
Basic Usage
-
Initialize Base Account SDK
const sdk = createBaseAccountSDK({ appName: 'SDK Playground', }); -
Make Base Account Provider
const provider = sdk.getProvider(); -
Request accounts to initialize a 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); });
Developing locally and running the test dapp
-
The Base Account SDK test dapp can be viewed here https://base.github.io/account-sdk/.
-
To run it locally follow these steps:
- Fork this repo and clone it
- From the root dir run
yarn install - From the root dir run
yarn dev
Script Tag Usage
Base Accunt can be used directly in HTML pages via a script tag, without any build tools:
<!-- Via unpkg -->
<script src="https://unpkg.com/@base-org/account/dist/base-account.min.js"></script>
<!-- Via jsDelivr -->
<script src="https://cdn.jsdelivr.net/npm/@base-org/account/dist/base-account.min.js"></script>
Once loaded, the SDK is available as window.base and window.createBaseAccountSDK:
// Make a payment
const result = await window.base.pay({
amount: "10.50",
to: "0xYourAddress...",
testnet: true
});
// Check payment status
const status = await window.base.getPaymentStatus({
id: result.id,
testnet: true
});
// Create Base Account Provider
const provider = window.createBaseAccountSDK().getProvider()