Getting Started
Installation
To get started with integrating the web wallet SDK in your dApp, you will need to install the @argent/starknetkit package and its peer dependencies:
npm install @argent/starknetkit starknet
Imports
After installation, we get access to different methods, such as connect
, disconnect
, etc which we should import for use in our application:
import { connect, disconnect } from '@argent/starknetkit'
Establishing a connection
To establish a wallet connection, we need to call the connect method which was imported earlier like this:
const connection = await connect();
Below is an example function that establishes a connection, then sets the connection
, provider
, and address
states:
const connectWallet = async() => {
const connection = await connect({webWalletUrl: "https://web.argent.xyz"});
if(connection && connection.isConnected) {
setConnection(connection)
setProvider(connection.account)
setAddress(connection.selectedAddress)
}
}
And to reconnect to a previously connected wallet on load:
const connection = await connect({modalMode: "neverAsk", webWalletUrl: "https://web.argent.xyz"})
Example:
useEffect(() => {
const connectToStarknet = async () => {
const connection = await connect({modalMode: "neverAsk", webWalletUrl: "https://web.argent.xyz"})
if (connection && connection.isConnected) {
setConnection(connection);
setProvider(connection.account);
setAddress(connection.selectedAddress);
}
};
connectToStarknet();
}, [])
Disconnecting wallet
To disconnect an existing connection, simply call the disconnect method from our imports:
await disconnect();
Example:
const disconnectWallet = async () => {
await disconnect();
setConnection(undefined);
setProvider(undefined);
setAddress('');
}
Available methods
isConnected
- This method available after an attempt to establish a connection, can be used to confirm if an account was truly connected.selectedAddress
- This method can be called to get the wallet address of a connected account.account
- This method gives us access to the account object. It uses starknet.js (opens in a new tab) AccountInterface and extends the starknet.js Provider.
It's important to note that web wallet is only available for users on mainnet. If as a dApp for integration and testing purposes, you need access to an internal testnet environment, please contact Argent privately.