- 🧒 Example dapp
- 🌐 Usage with your dapp
- 🚀 Install from sources
- 👩🏾💻 Development
- ✏️ Contributing
- ❤️ Family and friends
- 👨🏼🎨 Authors and license
You can try the extension using our example dapp hosted at:
https://argentlabs.github.io/argent-x/
The example dapp is also contained in this repository.
If you want to use this StarkNet Wallet extension with your dapp, the easiest way is to checkout the @argent/get-starknet
package developed in this repo by running:
# starknet.js is a peer dependency
yarn add @argent/get-starknet starknet
The package is a light wrapper around starknet.js to interact with the wallet extension. You can then use it like the following:
import { getStarknet } from "@argent/get-starknet"
// check if wallet extension is installed and initialized. Shows a modal prompting the user to download ArgentX otherwise.
const starknet = getStarknet({ showModal: true })
const [userWalletContractAddress] = await starknet.enable() // may throws when no extension is detected
// check if connection was successful
if(starknet.isConnected) {
// If the extension was installed and successfully connected, you have access to a starknet.js Signer object to do all kind of requests through the users wallet contract.
starknet.signer.invokeFunction({ ... })
} else {
// In case the extension wasn't successfully connected you still have access to a starknet.js Provider to read starknet states and sent anonymous transactions
starknet.provider.callContract( ... )
}
Checkout starknet.js to learn more about how to use Provider
and Signer
.
First clone this repository on your machine then run:
yarn # setup dependencies
yarn build # run build process for all packages
Now you need to load the locally build chrome extension into your browser, by loading an unpacked extension from path packages/extension/dist
:
- Open the Extension Management page by navigating to
chrome:https://extensions
. - Enable Developer Mode by clicking the toggle switch next to Developer mode.
- Click the Load unpacked button and select the extension directory.