How to Write an Analysis
Each product on WalletScrutiny is a Markdown file plus an icon under images/wIcons/.
Mobile apps live in _mobile/; hardware, desktop, bearer tokens, and other products each have their own directory.
This guide covers how to add a new entry and write its analysis.
Before you start
From the repository root, install dependencies and make sure your branch is up to date with master:
npm install
git checkout -b add-wallet-example-app
To resize icons you also need ImageMagick (convert, compare) and GNU parallel installed on your system.
Adding a new Android app
-
1. Find the Google Play app ID
Open the app on Google Play and copy the
idparameter from the URL.https://play.google.com/store/apps/details?id=com.greenaddress.greenbits_android_wallet └────────────────────────────────────────┘ app ID -
2. Add the app with
addNewAndroidApps.mjsRun the script from the repository root. It fetches Play Store metadata, creates
_mobile/<appId>.md, and downloads the icon.node addNewAndroidApps.mjs com.greenaddress.greenbits_android_walletAdd several apps in one command by passing multiple IDs:
node addNewAndroidApps.mjs com.foo.wallet com.bar.btcIf the wallet file already exists, the script refreshes its metadata instead of creating a duplicate.
-
3. Generate icon sizes with
updateImages.shThe add script saves a full-size icon under
images/wIcons/android/. Run the image script to create thesmall/andtiny/variants used on the site:./updateImages.sh
Adding a new iPhone app
-
1. Find the App Store ID and country code
From an App Store URL, take the numeric ID after
/idand the two-letter country code in the path.https://apps.apple.com/us/app/blockstream-green/id1402243590 └┘ └─────────┘ country App Store ID -
2. Add the app with
addNewIphoneApps.mjsRun the script from the repository root. It fetches App Store metadata, creates or updates
_mobile/<bundleId>.md, and downloads the icon.Using the numeric App Store ID (recommended with country code):
node addNewIphoneApps.mjs us/1402243590Or pass only the numeric ID:
node addNewIphoneApps.mjs 1402243590If you already know the bundle ID:
node addNewIphoneApps.mjs io.blockstream.greenTo add an iPhone block to an existing Android wallet file instead of creating a new one:
node addNewIphoneApps.mjs 1402243590 --merge-into com.greenaddress.greenbits_android_wallet -
3. Generate icon sizes with
updateImages.shSame as Android: icons land in
images/wIcons/iphone/, then run:./updateImages.sh
Adding hardware, desktop, bearer, and other products
There are no helper scripts for these categories. The usual workflow is to copy an existing review from the matching directory, rename it, and edit the contents:
-
1. Pick a similar product to copy
Choose a wallet in the same category with a comparable front matter. For example:
- Hardware:
_hardware/trezorOne.md - Desktop:
_desktop/bisq2.md - Bearer tokens:
_bearer/bitbills.md - Other:
_others/ext.blockchair.md
- Hardware:
-
2. Create your new file
Copy the template file, give it a short descriptive filename, and update the front matter (
title,appId,website,repository,verdict, and so on).cp _hardware/trezorOne.md _hardware/my-new-wallet.md -
3. Add an icon
Place a square PNG in the matching folder under
images/wIcons/— for exampleimages/wIcons/hardware/my-new-wallet.png— and set theicon:field in the front matter to match../updateImages.sh
Adding an entirely new platform category (not just a new product) requires extra Jekyll configuration. See How to Add a New Platform for that.
Writing the analysis
Once the file exists — whether created by a script or copied manually — open it and complete the review:
- Set
verdict(for examplewipwhile you work, then the final verdict). - Fill in shared fields such as
authors,website, andrepository. - Write the analysis in Markdown below the second
---delimiter. - For mobile wallets, use separate
## Androidand## iPhonesections when the file covers both platforms.
See Blockstream Green for a mobile example, or Trezor One for hardware, then open a merge request on GitLab.
Need field-by-field definitions or advanced procedures? See the WalletScrutiny GitLab wiki or ask in the project issue tracker.