Skip to content

ArgentX browser extension for StarkNet - made with ❤️ by Argent

License

Notifications You must be signed in to change notification settings

Kankan-0/argent-x

 
 

Repository files navigation


⬇️ Get ArgentX for StarkNet today:


🌈 Table of contents

🧒 Example dapp

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.

🌐 Usage with your dapp

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.

🚀 Install from sources

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:

  1. Open the Extension Management page by navigating to chrome:https://extensions.
  2. Enable Developer Mode by clicking the toggle switch next to Developer mode.
  3. Click the Load unpacked button and select the extension directory.

Chrome screenshot of setup<