TON dApp example using TON Wallet Plugin.
TON Wallet Plugin API is very similar to new Metamask API, based on eip-1193, eip-1102.
For simple migration we put two examples of dapps to this repository: TON dApp for TON Wallet Plugin (try), Ethereum dApp for Metamask (try).
TON Wallet Plugin injects in page window.ton
object.
Plugin doesn't inject TonWeb library, but you can include it by yourself; In the future you will be able to use ton
as provider: new TonWeb(window.ton)
ton.isTonWallet
ton.send(method: string, params?: Array<any>): Promise<any>;
- The way to send requests to the plugin.
Currently there are 3 methods:
ton.send('ton_requestAccounts'): Promise<string[]>
- get user wallet address.
ton.send('ton_sendTransaction', {value: string, to: string, data: string})
- send TON coins.
Where value
- nanotons to send,
to
- destination address,
data
- additional data (comment)
ton.send('ton_getBalance'): Promise<string>
- get user current wallet balance in nanotons.
See more in examples.
ton.on(eventName: string, listener: (result: any) => void)
- The way to add event listener to the plugin.
Currently there is 1 event:
ton.on('accountsChanged', listener: (accounts: Array<string>) => void)
- emitted when user changed account.