📲Intergrate Nova Wallet
How to integrate Nova Wallet connection into your DApp
Introduction
Nova Wallet is an open-source web3 wallet solution for both iOS and Android, focusing on the Polkadot ecosystem.
Our GitHub repo can be found here: https://github.com/novasamatech
Polkadot JS Integration
Integration Steps
Make sure that your DApp interface is adopted for mobile platforms;
The simplest way to integrate Nova is by using @polkadot/extension-dapp package since Nova Wallet implements the same protocol as the polkadot-js extension
Due to the specifics of mobile browsers,
window.injectedWeb3
might not be injected right at the start of page execution. The best practice is to either retry a few seconds later ifwindow.injectedWeb3
was not found or to allow user to trigger connection flow manually (e.g. by clicking onNova Wallet
icon)Use
window.walletExtension.isNovaWallet
flag to determine that the Nova Wallet connection option is supported and allow the user to initiate it manually by choosing the option in the DApp interface. Feel free to use our brand kit to display the Nova Wallet icon for connection option in the DApp interface.
Check Integration
Deploy your DApp with Nova Wallet integration on your testing environment and copy the url;
Download latest Nova Wallet application from our website;
Launch the app and create a watch only wallet (select the default "Nova" account) or by providing your wallet's Substrate and Ethereum addresses;
Open your DApp by pasting DApp url into the search field on DApps (Android)/Browser (iOS) tab;
Initiate connection in the DApp interface using Nova Wallet option and make sure that the wallet authorization screen appears in the Nova Wallet;
Accept connection in Nova Wallet and make sure that DApp interface switches to the connected state (address from the Nova Wallet displays correctly);
Initiate transaction from DApp interface and make sure that the transaction confirmation screen appears in Nova Wallet;
If you encountered any issues and want to debug website, you can do the following:
Contact us either in telegram or by by email to obtain debuggable build
Open web page you want to debug in debuggable version of Nova
If you are using Android, open Google Chrome on PC, go to
chrome://inspect/#devices
and connect to the debuggerYou will be able to use standard set of devtools, such as console, DOM tree inspector and others
Metamask Integration
Integration Steps
Make sure that your DApp interface is adopted for mobile platforms;
Implement the Metamask protocol on DApp side to communicate with Nova wallet mobile application web bridge. Follow best practice for Metamask on mobile;
Make sure DApp properly switches chain using
wallet_addEthereumChain
andwallet_switchEthereumChain
protocol functions if Nova Wallet returns unsupported chain id;Use
window.ethereum.isNovaWallet
flag to determine that Nova Wallet connection option is supported and allow user to initiate it manually by choosing the option in the DApp interface. Feel free to use our brand kit to display the Nova Wallet icon for connection option in the DApp interface.
Check Integration
Deploy your DApp with Nova Wallet integration on your testing environment and copy the url;
Download latest Nova Wallet application from our website;
Launch the app and create watch only wallet (select the default "Nova" account) or by providing your wallet's Substrate and Ethereum addresses;
Open DApp by pasting DApp url into search field on DApps (Android)/Browser (iOS) tab;
Initiate connection in the DApp interface using Nova Wallet option and make sure that wallet authorisation screen appears in the Nova Wallet;
Accept connection in the Nova Wallet and make sure that DApp interface switches to the connected state (address from the Nova Wallet displays correctly);
Initiate transaction from DApp interface and make sure that transaction confirmation screen appears in the Nova Wallet;
If you encountered any problems contact us either in telegram or by by email to obtain debuggable build
Last updated