-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Ethereum Provider API
Brian R. Bondy edited this page Sep 27, 2021
·
30 revisions
Brave injects a windows.ethereum
provider object on all pages.
This object is defined by EIP-1193.
This object gives websites the ability to:
- Make requests to an Ethereum node (or a compatible network) to read data from the blockchain
- Request permission to 1 or more Ethereum accounts
- Ask the user (if given permission previously) to sign / submit a transaction
- Ask the user (if given permission previously) to sign a message
interface RequestArguments {
readonly method: string;
readonly params?: readonly unknown[] | object;
}
Provider.request(args: RequestArguments): Promise<unknown>;
Provider.isConnected(): boolean;
The Provider emits connect when it:
- first connects to a chain after being initialized.
- first connects to a chain, after the disconnect event was emitted.
interface ProviderConnectInfo {
readonly chainId: string;
}
Provider.on('connect', listener: (connectInfo: ProviderConnectInfo) => void): Provider;
The Provider emits disconnect when it becomes disconnected from all chains.
Provider.on('disconnect', listener: (error: ProviderRpcError) => void): Provider;
The Provider emits chainChanged when connecting to a new chain.
Provider.on('chainChanged', listener: (chainId: string) => void): Provider;
The Provider emits accountsChanged if the accounts returned from the Provider (eth_accounts) change.
Provider.on('accountsChanged', listener: (accounts: string[]) => void): Provider;
Chain ID | Network name |
---|---|
0x1 | Ethereum mainnet |
0x3 | Ropsten Testnet |
0x3 | Ropsten Testnet |
0x5 | Rinkeby Testnet |
0x2a | Kovan Testnet |
The Ethereum provider object can be disabled from brave://settings/wallet
by changing the Default cryptocurrency wallet to None
.