Vulture Wallet - Extension
Aleph ZeroEasy-To-Use, multi-chain wallet made for
Vulture is an easy-to-use multi-chain wallet made specifically for Aleph Zero. Vulture is completely open-source & non-custodial, made with love <3 By Ira and the xavax.io project.
MIT License.Vulture is licensed under the permissive
Things to note:
- Vulture is early, you can see the roadmap at the vulture website.
- Vulture aims to be multi-chain, with a focus on Aleph Zero. Multi-chain currently only works with other substrate-based networks.
- Vulture aims to support the Ledger hardware wallet in the near future, you will be able to use both non-hardware mnemonic accounts & Ledger accounts simultaneously.
~ For The Devs ~
You will need:
Nodejs, NPM, and Yarn,
In order to build vulture, you'll need to have Nodejs
recommended: 16.13 or above.
You will also need the
NPM package manager, if it doesn't come with Nodejs (which it should), install it.
You will need the
yarn package manager. To install yarn, simply use NPM:
npm i -g yarn.
You will also need:
Vue/Vue cli, Must be version 5.0.0 or above (currently in release candidate).
The front-end for Vulture is made using the Vue3 framework, since it requires Webpack5, you will need to install Vue3 with a version that is 5.0.0 or higher. To install, run
npm i -g @vue/[email protected] (When 5.0.0 is released, installing
@vue/cli will be enough).
After you've cloned the repository
To build Vulture you run:
This will build the wallet into the
dist folder, but there's a slight catch every time you build:
You need to manually open & edit the
vulture_worker-bundle.js file, search for the
document.baseURI || line, and delete it.
This error is due to a bug with how Webpack 5 loads WASM, this will likely be fixed soon by either a workaround or by the Webpack developers.
Building everytime you make a change is slow, so if you want to develop I recommend that you instead run:
This will launch a locally-hosted webserver where you can test the wallet in a web-page and make changes accordingally. You can enter inspect-mode and limit the resolution to imitate the extension-popup resolution.
You will need to edit the
vulture_worker-bundle.js file as well, but in the
public folder instead. You will only have to edit the file once every time you run
Vulture has a Web-Worker which handles important things in the background, and also has all the WASM functionality of the wallet since WASM isn't allowed in the extension environment. Everytime you edit the script or If you want to build the scripts manually, you can run:
This will pack, build, and place the scripts in the
public folder. Everytime you customize the script, you'll need to run
yarn build-scripts again, even if you ran
Make sure to edit the built
vulture_worker-bundle.js file and manually remove the
document.baseURI || line.
It's really sucky, I know; But WASM + Webpack + Web-Workers + Extension environment isn't a thing that can easily be glued together. For more technical details, read the initial blog-post about the wallet.
You can find more info at vulturewallet.net and xavax.io.
Follow me on twitter if you wanna!
Feel free to help-out by: tipping, forking the code and creating pull requests, giving feedback, and also creating issues on Github if any issues arrise!
AZERO Tipping address:
some azero address in the future maybe