The Starknet snap allows developers to deploy Starknet accounts, make transactions on Starknet, and interact with Starknet smart contracts. It can be connected with any dapp to access Starknet and developers can experiment integrating their dapp with this snap today.
- MetaMask Flask
⚠️ You cannot have other versions of MetaMask installed
- Nodejs
16
. We strongly recommend you install via NVM to avoid incompatibility issues between different node projects.- Once installed, you should also install Yarn with
npm i -g yarn
to make working with this repository easiest.
- Once installed, you should also install Yarn with
nvm use
yarn setup
# Running Snap via watch mode
yarn workspace @consensys/starknet-snap watch
Alternatively you can build and serve the snap manually. This can sometimes be more stable than watch mode but requires a manual rebuild and serve anytime there is a change on the snap.
# Building and serving snap manually
yarn workspace @consensys/starknet-snap build
yarn workspace @consensys/starknet-snap serve
# Running Wallet UI
yarn workspace wallet-ui start
# Running Storybook
yarn workspace wallet-ui storybook
- Snap server and debug page: http://localhost:8081/
- Wallet UI dapp: http://localhost:3000/
- Storybook: http://localhost:6006/
From the dApp, issue the following RPC request to install the Snap, make sure it is using the latest version
provider.request({
method: 'wallet_requestSnaps',
params: {
["npm:@consensys/starknet-snap"]: { version: "2.2.0"}, //Snap's version
},
})
From the dApp, issue the following RPC request to interact with the Snap
e.g
provider.request({
method: 'wallet_invokeSnap',
params: {
snapId: "npm:@consensys/starknet-snap",
request: {
method: 'starkNet_getStoredUserAccounts', //Snap method
params: {
chainId : "1", //Snap method's parameter
},
},
},
}))
The corresponding request payload and response for latest Starknet Snap's Api are documented in the openrpc spec
This project is dual-licensed under Apache 2.0 and MIT terms:
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
Copyright (c) 2023 ConsenSys Software Inc.