Vulture Wallet - Extension
Aleph Zero
Easy-To-Use, multi-chain wallet made forVulture 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 permissiveThings 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 ~
Build Requirements:
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).
Build Vulture:
After you've cloned the repository
To build Vulture you run:
yarn build
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:
yarn serve
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 yarn serve
.
Scripts:
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:
yarn build-scripts
.
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 yarn serve
.
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.
Info
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