I am happy to announce result of my near half-year contribution - public release of Grim - cross-platform GUI for Grin ツ in pure Rust. It was named by the character Grim - the shape of a large, black, menacing, spectral giant dog.
Initially supported platforms are Android, Linux, Windows, and MacOS (iOS is coming) with help of egui - immediate mode GUI library.
It will be FAQ how to use it, key features are:
SeedQR format support to safely store seed-phrase.
Uniform Resources to transfer data with camera by scanning animated QR codes to share Slatepack Messages and future hardware/offline wallet functionality.
If you run a node from your desktop app, is it recommended to use TOR at the same time? I didn’t yet because I wasn’t sure of the privacy implications of these various options.
There are no Tor peers for node yet, can be added in the future like at Bitcoin.
For wallet there is integrated Tor client with arti lib The Tor Project / Core / Arti · GitLab
No integrated bridge support, need to specify path to obfs4 binary if Tor is blocked at your country.
It is using default grin-walletcrate, which supports BIP32 derivation path, so you can import your accounts from CLI wallet without problems with Grim.
Multiple Tor addresses for single account is also possible to implement in the future for better privacy, for now its simple as possible.
What does this do exactly? It looks like sub-addresses like Monero has. What is m/0/0 and m/1/0? What are these doing and why might someone want to use this functionality?
Derivation paths are used to deterministically create multiple wallet keypairs from one unique seed. You can refer to this BIP for more information on how it works.
What if you were running a store that accepted GRIN, but preferred to separate your business and personal GRIN transaction histories for ease of bookkeeping?