This project is a Chrome web browser extension that acts as a wallet, allowing users to sign calls to Jstz smart functions. The extension is built using React, TypeScript, and Vite.
This extension is not yet available on the Chrome Web Store, so you must build and install it locally.
Warning
This extension is a development tool and is not yet ready for production deployments. To avoid exposing your private keys, do not import keys for accounts that you are using on Tezos Mainnet into this extension. This extension does not support integration with hardware wallets such as Ledger.
- Get the newest release
- Unzip the downloaded file to a directory of your choice.
- Open Google Chrome and navigate to
chrome://extensions/. - Enable "Developer mode" by toggling the switch in the top right corner.
- Click the "Load unpacked" button.
- Select the directory where you unzipped the extension files.
- The extension should now appear in the extensions toolbar in the browser.
apps/signer/: Source code for the extensionapps/signer/public/: Static assets and manifest fileapps/signer/dist/: Build output directoryapps/examples/: Example projects to interact with the extensionpackages: Dependencies
- Node.js (v22 or higher) - exact version specified in
.nvmrc - pnpm (v10 or higher) - exact version + hash specified in
package.json - Google Chrome browser - Chrome is the only supported browser
Follow these steps to build the extension and install it in Google Chrome:
-
Clone the repository:
git clone git@github.com:jstz-dev/dev-wallet.git cd dev-wallet -
Clone the required submodules:
git submodule update --init
-
Go to the folder with the extension:
cd apps/signer -
Install the dependencies:
pnpm i
The
postinstallhook in the rootpackage.jsonwill trigger builds forpackages/passkey-signerandpackages/passkey-signer-reactmodules which are required to be built prior to running app/signerbuildscript.Both of those packages have to be rebuilt after each change in their codebase.
-
Build the extension:
pnpm build
The build output is in the
dist/directory.
- Open Chrome and navigate to
chrome://extensions/. - Enable "Developer mode" by toggling the switch in the top right corner.
- Click the "Load unpacked" button.
- Select the
apps/signer/dist/directory that you have just built.
The extension appears in the extensions toolbar in the browser.
You can click the extension icon to open it and create or import an account.
When you use a web application that sends requests to Jstz, it opens the
extension and prompts you to sign the transaction with your active Jstz account.
You can start with the sample application in the apps/examples/web-call-to-jstz directory.
To create your own implementation, see the attached SNIPPET.md that
shows how to prompt the wallet to sign a Jstz transaction.