Awesome
Blockcore Wallet
Non-Custodial Web5 Wallet for your Browser
The Blockcore Wallet does wallet management, account management, identity management and signing. Built on web-technology, Blockcore Wallet is cross-platform and works in different modes, such as browser extension, Progressive Web App, native mobile and desktop app and more.
Open the Wallet Guide to install the wallet.
Features
The wallet supports having multiple active wallets at the same time, and each wallet can contain one or more accounts, even on different blockchains and networks.
- Multiple wallets with multiple accounts
- Web5 wallet for identity and data
- Payment requests
- Decentralized blockchain API discovery
- Internationalization support with multiple languages and LTR/RTL support.
- Nostr support
Browser Support
Blockcore Wallet supports all Chromium based browsers - Chrome, Edge Opera, Brave etc.
Firefox is not supported. Support for Firefox is not planned.
Normal vs Quick
When adding additional accounts to your wallet, you have the option to choose the modes Normal
and Quick
. The difference can be very important depending on your usage and needs.
Normal
will retrieve all transaction history for your wallet, and calculate the balance locally. When sending transactions, the available unspent transaction outputs (UTXOs) are queried locally in the history of data.
Quick
will retrieve only the current balance information from the indexer APIs, even for very large wallets, this is very quick to do. When sending transactions, the indexer API is queried until the amount being sent has been fulfilled. This means even if you have thousands of UTXOs, the wallet does not need to download all the data to perform transactions.
Instances
This wallet is made available in multiple different instances that has different featuresets:
Blockcore
- Chains: All Blockcore supported blockchains
- All features currently under development
- Download: "blockcore-*.zip
CoinVault
- Chains: Stratis and Cirrus.
- Features: Wallet, NFT and more.
- Download: "coinvault-*.zip
Free City Wallet
- Chains: City Chain
- Features: Focused on decentralized citizenship
- Download: "freecity-*.zip
Supported Browsers
The extension works on Chrome and Edge browsers. Future Firefox support might be added later.
WARNING AND RISK
This software should be considered experimental, use at your own risk.
All the standard practices for cryptocurrency wallets apply: Make sure you take backup of your secret recovery phrase. We are not responsible for any mistakes or problems with the software and services. You hold your own keys, we can never restore or help you if you lose your secret recovery phrase. You can still lose valuables even though you don't lose your recovery phrase, due to bugs and issues in the software provided. Use at your own risk.
Development
First you need to get the source code and you should include the submodules:
git clone --recurse-submodules https://github.com/block-core/blockcore-wallet.git
If you have already cloned and don't have the submodules, you might get an error with importing the lists.
You can do the following to initialize the submodules if you cloned without --recurse-submodules.
git submodule init
git submodule update
Requirements
- Node.js LTS (16.x): https://nodejs.org/en/
- Angular CLI:
npm install -g @angular/cli
- Install the suggested workspace extensions for VS Code
Code Formatting Rules
Please use an editor that respects the .editorconfig when auto-formatting the code.
If formatting is not applied according to the rules, make sure you don't have configuration in user settings for VS Code: %APPDATA%\Code\User\settings.json
Run with Hot-Reload
npm install
npm start
This will run Angular in watch-mode and ensure it auto-reloads.
Install Extension
To install the extension, follow the instructions here: https://docs.microsoft.com/en-us/microsoft-edge/extensions-chromium/getting-started/extension-sideloading
Choose the blockcore-wallet\dist\extension
folder when picking folder for extension to load from.
Update Allow/Deny lists
The lists
is a git submodule and to update to latest:
git submodule update --remote --merge
PSBT Test guide
To test the PSBT signing, there are few pre-built vectors, along with wallet configuration. You can refer to this document for the details: https://docs.google.com/document/d/1we2a26ezo914LcbEMVe4V8Fwl2zK2194si_6yL4Wd8E/edit?usp=sharing