The wallet with maximum privacy and security
You can use Brume Wallet on a website, as a browser extension, and as a mobile application
- Copy the link to the AltStore source
https://raw.githubusercontent.com/brumeproject/wallet/main/altstore.json
- Clone the repository on your GitHub account
- Host it on a cloud provider with
npm run build:vercelas build command andoutas build output
- Download .zip
- Extract
website.zipin a new folder - Serve using
npx serve
- Download .zip
- Extract
chrome.zipin a new folder - Open Chrome, open settings, left panel, bottom, click
Extensions - Top bar, right, enable
Developer mode - Click
Load unpacked, select the folder wherechrome.zipwas extracted
- Download .zip
- Extract
firefox.zipin a new folder - Open Firefox, navigate to
about:debugging - Left panel, click
This Firefox Temporary Extensions, clickLoad Temporary Add-on- Navigate to the Brume Wallet folder
- Open the folder where
firefox.zipwas extracted - Select the
manifest.jsonfile
-
Install node v20.3.1 (npm v9.6.7)
-
Clone the repository
git clone https://github.com/brumeproject/wallet && cd wallet- Build the website and extension
npm install && npm run build && npm run zip- Website and extension files are in the
distfolder
GitHub Actions automatically rebuilds each release and checks that the committed files are the same as the built ones
You can check the comparison yourself by running the following
# Create ./tmp
mkdir ./tmp
# Unzip committed zip files into ./tmp
unzip ./dist/chrome.zip -d ./tmp/chrome
unzip ./dist/firefox.zip -d ./tmp/firefox
unzip ./dist/website.zip -d ./tmp/website
# Rebuild
npm ci && npm run build
# Compare unzipped content
diff -r ./tmp/chrome ./dist/chrome
diff -r ./tmp/firefox ./dist/firefox
diff -r ./tmp/website ./dist/website
# Delete ./tmp
rm -rf ./tmp
# Restore build files
git restore ./dist/
# Recompute IPFS hashes
node ./scripts/verify.ipfs.mjs
# Display IPFS hashes
cat ./dist/.ipfs.md
cat ./dist/.website.ipfs.md
# Compare all files
[[ -z $(git status --porcelain) ]] && echo "OK" || echo "NOT OK"