All Projects → argentlabs → argent-x

argentlabs / argent-x

Licence: GPL-3.0, Unknown licenses found Licenses found GPL-3.0 License.md Unknown license-report-config.json
ArgentX browser extension for StarkNet - made with ❤️ by Argent

Programming Languages

typescript
32286 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
shell
77523 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to argent-x

cairo-by-example
Verbosely Documented, Minimal Starknet Contract Examples.
Stars: ✭ 63 (-84.96%)
Mutual labels:  cairo, starkware, starknet
starknet.js
JavaScript library for StarkNet
Stars: ✭ 159 (-62.05%)
Mutual labels:  starkware, starknet
starkgate-frontend
Bridge interface allows users to transfer ERC20 tokens from Ethereum to StarkNet and vice versa.
Stars: ✭ 75 (-82.1%)
Mutual labels:  starkware, starknet
ape
The smart contract development tool for Pythonistas, Data Scientists, and Security Professionals
Stars: ✭ 339 (-19.09%)
Mutual labels:  cairo, starknet
cairomate
Structured, dependable legos for Starknet development.
Stars: ✭ 78 (-81.38%)
Mutual labels:  cairo, starknet
starknet-hardhat-example
Examples of how Starknet Hardhat plugin can be used.
Stars: ✭ 19 (-95.47%)
Mutual labels:  starkware, starknet
cairomate
Structured, dependable legos for Starknet development.
Stars: ✭ 134 (-68.02%)
Mutual labels:  cairo, starknet
cairo
Package cairo provides full Go bindings for Cairo, a 2D graphics library.
Stars: ✭ 28 (-93.32%)
Mutual labels:  cairo
live-chart
A real-time charting library for Vala and GTK3 based on Cairo
Stars: ✭ 47 (-88.78%)
Mutual labels:  cairo
conky-for-macOS
macOS port of the Light-weight system monitor for X.
Stars: ✭ 139 (-66.83%)
Mutual labels:  cairo
Conky
Light-weight system monitor for X.
Stars: ✭ 5,123 (+1122.67%)
Mutual labels:  cairo
Cairo
Swift library for Cairo
Stars: ✭ 33 (-92.12%)
Mutual labels:  cairo
mplcairo
A (new) cairo backend for Matplotlib.
Stars: ✭ 87 (-79.24%)
Mutual labels:  cairo
NaquadahBrowser
A web browser built in Julia Language from the ground up.
Stars: ✭ 31 (-92.6%)
Mutual labels:  cairo
lambda-layer-canvas-nodejs
AWS Lambda Layer with node-canvas and its dependencies packaged, provides a Cairo backed Mozilla Web Canvas API implementation
Stars: ✭ 36 (-91.41%)
Mutual labels:  cairo
cairo jpg
Reading and writing JPEG files from/to Cairo surfaces.
Stars: ✭ 26 (-93.79%)
Mutual labels:  cairo
QWallet
Blockchain Wallet for Coin & ERC20 Tokens
Stars: ✭ 11 (-97.37%)
Mutual labels:  wallet
slope
C/Gtk+ data visualization library.
Stars: ✭ 91 (-78.28%)
Mutual labels:  cairo
oxbar
configurable X11 status bar for OpenBSD (and xstatbar successor)
Stars: ✭ 36 (-91.41%)
Mutual labels:  cairo
SublimeEthereum
Ethereum Solidity, Vyper, Yul and StarkNet Cairo language syntaxes
Stars: ✭ 102 (-75.66%)
Mutual labels:  cairo


⬇️ Get Argent X 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 { connect } from "@argent/get-starknet"

// Let the user pick a wallet (on button click)
const starknet = connect()

// or try to connect to an approved wallet silently (on mount probably)
const starknet = connect({ showList: false })

if (!starknet) {
  throw Error("User rejected wallet selection or silent connect found nothing")
}

// (optional) connect the wallet
await starknet.enable()

// 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 kinds of requests through the user's wallet contract.
    starknet.account.execute({ ... })
} 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  # setup dependencies
yarn build  # run build process for all packages

Now you need to load the locally built chrome extension into your browser, by loading an unpacked extension from path packages/extension/dist:

Chrome

  1. Open the Extension Management page by navigating to chrome://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

Source

Firefox

  1. Open the Extension Management page by navigating to about:debugging#/runtime/this-firefox
  2. Select the manifest.json from the dist folder

Source

👩🏾‍💻 Development

To contribute to this repository please read the contributing guidelines first.

To setup the repo on your machine just run:

yarn setup # setup dependencies
yarn dev   # run build process for all packages in watch mode

This project contains 3 packages:

package description
extension Argent X extension
get-starknet npm module to get started with starknet.js and Argent X quickly
dapp example dapp for testing purposes and example for dapps how to use get-starknet

To test changes made to the extension package you need to load the local unpacked extension into Chrome as described above. Changes are shown after reopening the extension. Changes to background.js are just shown after a complete restart of the Chrome process.

🧪 Testing

Setup

Some tests require starknet-devnet to be available at http://127.0.0.1:5050/. If tests are run without then you may see errors including connect ECONNREFUSED 127.0.0.1:5050.

Run devnet locally

For convenience this service can be started with Docker desktop running;

  • For ARM computers (e.g. Mac computers with Apple silicon)

    docker run -it -p 5050:5050 shardlabs/starknet-devnet:latest-arm-seed0
  • Otherwise

    docker run -it -p 5050:5050 shardlabs/starknet-devnet:latest-seed0

Run tests

yarn test      # run unit tests for all packages
yarn test:e2e  # run end-to-end tests for all packages

Tools to help with testing

See also /docs/tools-for-local-testing.md

✏️ Contributing

Everyone is welcome to contribute. Please take a moment to review the contributing guidelines.

❤️ Family and friends

Since this project would not have been possible without starknet.js, we would like to say a big thank you to all starknet.js contributors and @0xs34n for starting it.

One more thank you to the StarkWare Team.

👨🏼‍🎨 Authors and license

Argent and contributors.

GNU General Public License V3, see the included License.md file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].