Getting Started Mesh React Components
Frontend components for wallet connections, and useful React hooks to getting wallet states - Mesh provides everything you need to bring your Web3 user interface to life.
Mesh provide a collection of useful UI components, so you can easily include web3 functionality and convenient utilities for your application.
Install
To start, install:
Next, add the Mesh CSS to your application, doing so will apply the default styles to the components:
Mesh Provider
React Context allows apps to share data across the app, and MeshProvider
allows your app to subscribe to context changes. If you use the CLI to initialize your project, MeshProvider
has been added in the root component. Otherwise, you can wrap MeshProvider
at the root of your application, for example in Next.js:
Now your application is ready, explore the available UI components and wallet hooks and start using them in your application.
Connect Wallet
In order for dApps to communicate with the user's wallet, we need a way to connect to their wallet.
Add this CardanoWallet to allow the user to select a wallet to connect to your dApp. After the wallet is connected, see Browser Wallet for a list of CIP-30 APIs.
The signature for the CardanoWallet component is as follows:
For dark mode style, add isDark.
For a custom label, add the label prop.
If you want to run a function after the wallet is connected, you can add the onConnected prop.
The above code will log "Hello, World!" to the console when the wallet is connected.
Connect to user's wallet to interact with dApp
useWallet Hook
Provide information on the current wallet's state, and functions for connecting and disconnecting user wallet.
wallet
is a Browser Wallet instance, which expose all CIP wallets functions from getting assets to signing tranasction.
connected
, a boolean, true
if user's wallet is connected.
name
, a string, the name of the connect wallet.
connecting
, a boolean, true
if the wallet is connecting and initializing.
connect(walletName: string)
, a function, provide the wallet name to connect wallet. Retrive a list of available wallets with useWalletList()
.
disconnect()
, a function, to disconnect the connected wallet.
Interact with user's wallet
Connected?: Not connected
Connecting wallet?: No
Name of connected wallet: