description |
---|
Or how to integrate SubWallet and other Polkadot and Kusama wallets into your DApps |
SubWallet, Polkadot{.js} and Talisman extensions allow DApp to connect with them by publicizing their interaction in object injectedWeb3
of window browser.
- SubWallet (public with properties
subwallet-js
) - Polkadot{.js} (public with properties
polkadot-js
) - Talisman (public with properties
talisman
)
You can open injectedWeb3
object in Chrome devtools.
{% hint style="info" %} Please refer to our examples below:
-
Github Repository: https://github.com/Koniverse/SubConnect
-
Demo App: https://connect.subwallet.app/
-
Demo Video: https://bit.ly/38QhmfI {% endhint %}
-
Check extension's activation:
- When a wallet extension is active in browser it will modify
window.injectedWeb3
by adding its interaction with a specific name. - For example, check SubWallet extension by these code:
window.injectedWeb3 && window.injectedWeb3['subwallet-js']
- When a wallet extension is active in browser it will modify
-
Enable intergation into your DApp by method
enable()
of extension interaction object.const SubWalletExtension = window.injectedWeb3['subwallet-js'] const extension = await SubWalletExtension.enable()
- After running, these code extension will show popup confirmation to confirm integration into your DApp
-
After enabling,
extension
variable can contain these objects:accounts
: Allow getting accounts' data with 2 methods,get
andsubscribe
.signer
: Allow signing data with 2 methods,signPayload
andsignRaw
.metadata
: Allow getting additional metadata list with methodget
and adding/updating with methodprovide
.
{% hint style="info" %}
If your DApp is writen in typescript, you need to add package @polkadot/extension-inject
to your package.json to get extensions interfaces.
{% endhint %}