You are browsing as a guest. Sign up (or log in) to start making projects!

professional_toad

@professional_toad

Joined June 2nd, 2026

  • 16Devlogs
  • 1Projects
  • 1Ships
  • 20Votes
Open comments for this post

2h 53m 3s logged

Devlog 16

sorry guys, i’m kind of late on this one tbh: I said that I would have the settings improvements, ripple support and all that ready by like monday but clearly nothing has happened since like the weekend.

i have decided to delay the timleine by about a week as after some careful consideration I found it was wayyy too aggressive and my fingers can’t keep up with the typing speed i would need for that :)

i seriously have no idae whatsoever why I thought it was possible to add that many features in such a short space of time. I know it kind of is but I have school now which means i have much less time for this with homework and studying and stuff.

however, today I decided to lock in and actually do this and so I can assure you that i am hard at work doing the settings stuff rn and ripple support is absolutely coming right after that this next release really is going to be a big one…

p.s. i attached a screenshot of some of the new commits i worked on (more are coming soon)

0
0
78
Open comments for this post

1h 37m 25s logged

Devlog #15

Since the last devlog, I’ve worked on some more boring stuff: Tauri cleanup and desktop-specific improvements.

I moved the application setup and command registration from src-tauri/src/main.rs into a new src-tauri/src/lib.rs. This keeps the entry point organized and follows Tauri’s recommended structure, while main.rs now only launches the library.

I also replaced the browser clipboard API with Tauri’s native clipboard manager plugin. Copy buttons now use the desktop clipboard integration.

Finally, VaultForge now enforces a single-instance window. If the app is launched while another instance is already open, the new launch focuses the existing main window instead of opening a second copy, which is far more desirable of a behaviour imo as it lets a user find a window without inadvertently opening even more.

Plus some more random stuff:

  • I now sign off all my commits
  • As of today (4th of September), I also sign all my commits with a PGP key to verify all commits are made on my laptop and not by someone who hacked my GitHub account or smth - this is definitely overkill but why not

Next, I’m continuing the settings improvements before moving on to Ripple support.

P.S. I also randomly moved to Neovim as it looks much better than VS Code.

0
0
11
Open comments for this post
Reposted by @professional_toad

8h 37m 38s logged

Devlog #11

What a MASSIVE PR and it’s finally merged! Hooray! That was the biggest PR I’ve ever created by a big margin.

Now I can finally start work on actual features like more support for different blockchains, address types, random extra features that certain chains have… the list goes on. I already have a personal list of 25 different blockchains that I want to add support for, most of which aren’t in the project roadmap simply for the reason that it would make the file overly long and hard to read. *sigh* that will take a long time

Not to underestimate what I added with the PR, though - I didn’t spend like 15 hours and do 48 commits for nothing: inside the PR I added

  • Onboarding! 🎊 Lots of (at least in the future) common settings will be selected here to set up your wallet. You can already import an existing wallet or generate a new one (both accept 12, 15, 18, 21, and 24-word recovery phrases) and set an auto-lock timeout and select networks you want or don’t want. Finally, there is also the option to select a theme if you want.
  • New and more prominent splash screen when loading the application. The application itself is super fast so it takes barely any time but to make it look cooler I’ve set a minimum time to display it for to 650 ms.
  • Icons throughout the application to make it look better.
  • Let you copy addresses in the sidebar with one click and list all enabled addresses, not just Ethereum.
  • Squashed some more small UI bugs, especially relating to scrolling in different parts of the application.
  • Although slightly unrelated to the theme of the PR, MUCH better refresh logic and handling. It now respects network selection choices (like the ones you want or don’t want that you selected during onboarding) and tells you exactly which network’s RPC request encountered errors. Perhaps ironically, this was literally the reason I fixed an issue with the Solana RPC. Before this update, it never actually refreshed the balance correctly so it wasn’t working. However, after this change, I was able to identify that the issue was not on my end (yay!) but was actually PublicNode’s (the RPC I’m using for the majority of chains in this project for consistency, apart from Monad and now Solana) as I assumed it could fetch the user’s token accounts but it couldn’t so I had to switch to using the official Solana RPC which fixed the issue.

For anyone who got lost somewhere in the previous paragraph, an RPC is a service that allows you to query data about the state of the blockchain (where crypto transactions are stored) so you can use it to see how much crypto you are holding.

Token accounts are basically a weird quirk of Solana where your main account is used to hold Solana which links to associated token accounts (ATAs), which each hold one token other than Solana.

This is by far not a complete list but rather a list of the highlights of this PR; if you want to look at all the changes, please feel free to visit the page linked at the top of this devlog.

That said, after this big change, I did say last devlog that I would be getting ready to release version v0.4.0 of this application which is exactly what I will do after adding Tron token support!

Quick reminder, after v0.4.0 I am planning to add Ripple (XRP) support, preliminary (meaning like non-shielded probably) support for Zcash and revamp the settings page like I did to the onboarding in this PR.

Further out, I will probably focus some more on the in-application swaps to aggregate data from major DEXs (decentralized exchanges) to get the best rates, matching other major wallets w/ more chain support, which would make my wallet actually competitive. 🤞

0
1
58
Open comments for this post

1h 45m 12s logged

Devlog #14

Not very much since last time; just some refactors and small improvements throughout. You can kind of tell by all the fix/chore/docs changes…

btw improved settings is in the works - I think I’ll do some more progress over the next two days, then some actual chain support for Ripple. I’ve decided that I will release v0.4.0 before adding basic Zcash support as it’s been basically a month since last release and I don’t want to keep you guys waiting for those of you who want to download the binaries directly w/o building.

Quick summary

Now –> ~5 September: settings improvements
5 September –> 7 September: Ripple support
7/8 September: release of VaultForge v0.4.0

0
0
13
Open comments for this post

3h 34m 5s logged

Devlog #13

I finally added different currencies! Before, all prices were displayed in USD and now they can display in any of the below currencies:

  • USD ($)
  • EUR (€)
  • GBP (£)
  • JPY (¥)

Shoutout to the fantastic API I used for this! Previously, I fetched CoinGecko pricing data which came in USD but I needed to convert this data into whatever currency the user chose so I had to find an API. However, there really weren’t any good forex APIs that were free with no rate limits when I searched for one so I turned to ChatGPT to find one and find one it did. This API gives daily central bank rates and even has data going back to 1948 on 201 currencies which is more than enough for this project.

I also added the second performance improvement: caching the HTTP request client object to avoid having to recreate it on every API request.

As of rn the project roadmap for the near future is this:

  • Finish perf improvements
  • Add basic Ripple (XRP) transaction support
  • Maybe add transparent <=> transparent pool transaction support for Zcash (ZEC)
  • Release VaultForge v0.5.0
0
0
14
Open comments for this post
Reposted by @professional_toad

1h 18m logged

Devlog 11:
-Added some space for the head of the screw to sit in (so it doesn’t stick out).
-Drew some doodles on the PCB. :ditto:
Extra:
The filament I have is apparently not “see-through” enough, so I have to purchase a new roll. If you have any recommendations on good transparent filament id appreciate it. I didn’t notice until now that Transparent and Translucent are not the same.
Oh btw, what should I draw in the red circle on the 2nd image. Preferably something that has to do something with electricity since it’s right in front of the type-C port. Maybe a pokemon or smt.

3
4
363
Open comments for this post

5h 16m 20s logged

Devlog #12

Quite a bit more to report this time! Since last devlog, I’ve mostly been working on improving actual wallet functionality, fixing some smaller UI issues, and looking into performance.

Recent changes

Below is a quick summary of what I’ve been working on since the last devlog:

For the first time in this series of devlogs, I’m linking the changes to relevant commits on GitHub wherever possible so you can have a look.

Performance improvements

I also found a few ways to reduce VaultForge’s roughly 10s full refresh time:

  • Cached unlock (mentioned above): perceived unlock time is now closer to ~1–3s, although balances/prices can still take around the same amount of time to fully refresh in the background.
  • Reuse HTTP clients: should save roughly ~0.2-1.5s by reusing connections.
  • Concurrent provider calls: likely the biggest improvement, potentially bringing a ~10s refresh down to ~3–5s.
  • Refresh prices separately: could make fresh balances appear another ~0.5–2s sooner.
  • Derive Argon2 once: should save roughly a few hundred ms to ~1s on cold unlocks.

The above estimated perf improvements are obviously quite variable and depend on a multitude of factors (+ I got ChatGPT to analyze my current code to make an estimate because how else would I do it), but there is definitely still a lot of low-hanging fruit here.

Upcoming features

  • Actual settings are still the elephant in the room 😭, so I definitely need to get around to those but since I think this may need a big PR a bit like the previous style improvements, I think I will do this after v0.4.0 (so therefore for v0.5.0).
  • Ripple (XRP) support (at least for native token transfers), planned for v0.4.0.
  • Zcash (ZEC) support: I’ve got a feeling this one will take quite some time so at most I will implement transparent <=> transparent transactions before next release but will have to see.
  • The remaining performance improvements mentioned above.
0
0
58
Open comments for this post

8h 37m 38s logged

Devlog #11

What a MASSIVE PR and it’s finally merged! Hooray! That was the biggest PR I’ve ever created by a big margin.

Now I can finally start work on actual features like more support for different blockchains, address types, random extra features that certain chains have… the list goes on. I already have a personal list of 25 different blockchains that I want to add support for, most of which aren’t in the project roadmap simply for the reason that it would make the file overly long and hard to read. *sigh* that will take a long time

Not to underestimate what I added with the PR, though - I didn’t spend like 15 hours and do 48 commits for nothing: inside the PR I added

  • Onboarding! 🎊 Lots of (at least in the future) common settings will be selected here to set up your wallet. You can already import an existing wallet or generate a new one (both accept 12, 15, 18, 21, and 24-word recovery phrases) and set an auto-lock timeout and select networks you want or don’t want. Finally, there is also the option to select a theme if you want.
  • New and more prominent splash screen when loading the application. The application itself is super fast so it takes barely any time but to make it look cooler I’ve set a minimum time to display it for to 650 ms.
  • Icons throughout the application to make it look better.
  • Let you copy addresses in the sidebar with one click and list all enabled addresses, not just Ethereum.
  • Squashed some more small UI bugs, especially relating to scrolling in different parts of the application.
  • Although slightly unrelated to the theme of the PR, MUCH better refresh logic and handling. It now respects network selection choices (like the ones you want or don’t want that you selected during onboarding) and tells you exactly which network’s RPC request encountered errors. Perhaps ironically, this was literally the reason I fixed an issue with the Solana RPC. Before this update, it never actually refreshed the balance correctly so it wasn’t working. However, after this change, I was able to identify that the issue was not on my end (yay!) but was actually PublicNode’s (the RPC I’m using for the majority of chains in this project for consistency, apart from Monad and now Solana) as I assumed it could fetch the user’s token accounts but it couldn’t so I had to switch to using the official Solana RPC which fixed the issue.

For anyone who got lost somewhere in the previous paragraph, an RPC is a service that allows you to query data about the state of the blockchain (where crypto transactions are stored) so you can use it to see how much crypto you are holding.

Token accounts are basically a weird quirk of Solana where your main account is used to hold Solana which links to associated token accounts (ATAs), which each hold one token other than Solana.

This is by far not a complete list but rather a list of the highlights of this PR; if you want to look at all the changes, please feel free to visit the page linked at the top of this devlog.

That said, after this big change, I did say last devlog that I would be getting ready to release version v0.4.0 of this application which is exactly what I will do after adding Tron token support!

Quick reminder, after v0.4.0 I am planning to add Ripple (XRP) support, preliminary (meaning like non-shielded probably) support for Zcash and revamp the settings page like I did to the onboarding in this PR.

Further out, I will probably focus some more on the in-application swaps to aggregate data from major DEXs (decentralized exchanges) to get the best rates, matching other major wallets w/ more chain support, which would make my wallet actually competitive. 🤞

0
1
58
Open comments for this post
Reposted by @professional_toad

12h 19m 47s logged

Finally merging the performance branch

It’s finally time to merge the performance branch. I basically redesigned the whole renderer and rasterizer around high resolution workloads, where it would still choose the old high-poly paths where they were faster.

Even snuck in some SSE2 SIMD code (picture), although I will probably be switching to a dispatch SIMD library like Google’s Highway. Not entirely sure it will be Highway or even if I will do that yet, that depends on the code complexity and before/after benchmarks.

0
1
25
Open comments for this post

6h 12m 7s logged

Devlog #10

I’m close to finishing the theme improvements (I would say I’m about 90% there) and am doing some general bug fixes and QoL improvements.

As such, there isn’t much to log rn except for a few small new features & improvements:

  • Show/hide password button on recovery phrase and password
  • Loads of bug fixes, e.g., inconsistent password strength progress bar on onboarding, preventing the user from typing the Enter key when entering a seed phrase to import, text overflow, etc.
  • Some dependency version bumps

If you want to see my progress on this PR (there are already like 30 commits in it - it’s a pretty big PR!), you can do so here.

What’s coming next

  • Some final finishing touches on the PR and then I will merge it to main so that it will be in the next release
  • Support for Tron token transfers
  • Support for Ripple
  • The release of VaultForge v0.4.0 either before or after adding support for Ripple transactions
  • A revamp of the settings tab (currently it doesn’t do anything)
  • Support for Zcash
0
1
219
Open comments for this post

6h 46m 19s logged

Devlog #9

Not much to report but I’m still working on improving the theme and the wider interface. You can see my progress here.

Recent changes

Below is a quick summary of what I’ve been working on since last devlog:

  • Improved fonts (Tektur for headings, Manrope for body text, and Ubuntu Mono for monospace text)
  • Updated some text across different views for consistency
  • Improved the look and feel of onboarding
  • Added wallet setup flow to onboarding so you can now quickly import or generate a wallet with different seed length options (12, 15, 18, 21, and 24-word seed phrases are all supported now)
  • Theme selection (in onboarding) between four different themes - I know these look a bit AI-generated rn (they are; it would have been frustrating to write out three new themes) but I will make them look a bit better in the future
  • Auto-lock! 🎊 Now, you can easily set an auto-lock option in the onboarding or have none at all

Upcoming features

I think the elephant in the elephant in the room rn is actual settings which I will be working on over the next few days as currently there are no settings in the literal settings page!

0
0
12
Open comments for this post

10h 24m 31s logged

Devlog #8

That took a lot of time!

Over the past two weeks, I have done quite a bit of bug fixing and stopping undesired behaviour, including

  • fixing weird sideways scrolling behaviour on the dashboard portfolio and creating custom scrollbars for less janky behaviour
  • fixing the left sidebar’s contents overflowing vertically when the window height was decreased too much (it now lets you scroll if there is not enough space to fully display its contents)
  • stopping zooming with Ctrl + ... or with trackpad gestures completely
  • fix portfolio allocation percentage bars stuck at zero in the dashboard

Along with this, I have done quite some improvement on the CI (especially the release.yaml workflow and pre-commit checks) and some refactoring, including

  • using Lefthook
    • npm install, bun install, Oxlint, Oxfmt validation, TypeScript typechecking, cargo check, and
      • package.json
      • package-lock.json
      • bun.lock
      • src-tauri/Cargo.lock
        are automatically staged on every commit. The npm install, bun install, and automatic lockfile staging is to ensure consistency between npm and Bun so that both can be used in development and testing. The other checks are for checking (or at least trying to; there could always be edge cases that aren’t covered) that no invalid code gets committed. There is also a maximum commit message subject length (72 characters) and the same for each line of the commit message body to ensure that commit messages stay readable.
    • cargo test, and rust-analyzer analysis on every push to GitHub, since every commit runs the other checks anyway and uncommitted code can’t be pushed
  • refactoring the previously monolithic TypeScript file that contained multiple pages so that each page now gets its own file inside of src/views/
  • significantly improving release.yaml (the app release workflow for GitHub) so that it now
    • adds a commit count since the last release
    • adds a line count statistic and the change in lines since the previous release
    • allows for release comments and highlights written by me
    • adds a link that links to a GitHub page of all the commits made between the release and the previous one (it already/before this change had all the new commits listed in the release notes with a link to each one)
  • unifying networks.json (the file that contains all the relevant chain information for the TypeScript frontend) with all the scattered equivalent information in the Rust backend; now, the backend references the networks.json file instead

Also, you are now able to test out all of these changes as I have just released v0.3.0 of VaultForge!


Unfortunately, I haven’t yet worked on any of the theme changes but these are top priority for the next release…

As a recap, here are the things that I will be working on for the next release, in order of priority:

  • Updated theme
  • Full Tron support (not just native token sends)
  • Ripple (XRP) support
  • Miscellaneous bug fixes and new features
0
0
33
Open comments for this post

7h 52m 21s logged

Devlog #7

Unfortunately, since I am on holiday, I was not able to complete everything that I wanted to do by the end of last week. However, I was definitely able to make some progress:

Progress

  • Tron (TRX) support is here! 🎊 (albeit only native Tron sends are currently supported)
  • some refactoring happened

What’s next

  • As I promised last week (but did not manage to complete), I was going to completely redesign the UI to make it more user-friendly and usable and have less of an AI-generated feel. This is because when I initially started this project, I used AI to create a demo app (without any of the signing logic), just to get a sort of structure to build on and add functionality to. However, I have changed pretty much every part of it so far apart from the theme which is why I am going to work on it now/this week.
  • Icons for different currencies and across the application for easily recognisable features
  • Support for Ripple (XRP)
0
0
5
Open comments for this post

8h 0m 7s logged

Devlog #6

Progress

Not much to announce rn but so far (since last week/log), I have

  • refactored the code a bit
  • bumped some dependencies
  • made a cool new banner for the project (you can see it on this project’s banner)
  • started work on improving the theme/look of the app
  • fixed some minor issues and bugs, such as
    • EVM nonce processing used the latest nonce from a confirmed block, ignoring the fact that the user may have been fast enough to send two transactions with the same nonce, which would guarantee that at least one transaction will fail
    • BTC preview balance displayed to the user before approving a transaction did not take into account the unspent UTXOs in the calculation

Not too exciting but this lays the groundwork for what is to come. 👇🏼


What’s next

I will try to add this before the end of this week:

  • a full redesign of the theme
  • full Tron (TRX) support
0
0
8
Open comments for this post

9h 54m 31s logged

Devlog #4

Support for Solana coming soon, stay tuned! 👀
Since last devlog, I refactored the code a bit and split up all the TypeScript frontend and Rust backend logic into self-contained files, each for a clear purpose. Now, it’s much easier to read and understand the codebase.

0
0
11
Open comments for this post

9h 30m 2s logged

Devlog #2

I added loads of stuff!

As promised:

  • CoinGecko pricing data integrated
  • Integrated RPC
  • Progress on the actual transactions (implemented for EVM only so far and I am still working on it)
  • Hardened security:
    • Added a CSP (content security policy) to stop XSS (cross-site scripting)
    • Hardened address validation, including EVM EIP-55 checksum validation
    • Added a “remove wallet data” button
    • Added zeroization for mnemonic/key/salt on lock and clear

Coming soon/roadmap:

  • Full support for BTC, EVM, SOL, and TRX chain transfers
  • Actual cross-chain swaps via NEAR Intents
  • Public GitHub repository (the repo hasn’t been made public yet as it’s still not fully working)
  • Full support for more chains, including (but not limited to):
    • Ripple (XRP)
    • Hyperliquid (HYPE) - support for trading perps (perpetuals)
    • Injective (INJ)
    • Algorand (ALGO)
    • Zcash (ZEC) - support transparent AND shielded addresses
    • Monero (XMR) - alternative to Zcash
  • Support for the Open Wallet Standard
  • Native DeFi support:
  • (hopefully) Filecoin storage integration so you can easily store, download, and access files stored on Filecoin
  • (hopefully) Integration with Tor for anonymity
0
0
4
Open comments for this post

4h 10m 56s logged

Devlog #1

Just finished the basic UI; more coming soon…

Current features already include:

  • Argon2 password hashing to secure wallet
  • Import a wallet seed phrase
  • RPC connection to see how much crypto you’re holding
  • QR code to get people to send stuff to you with a fault tolerance selector, e.g., smaller QR code for 7% data recovery, 25%, 30%, etc.
  • Coming soon: GitHub repository for the project
  • Coming soon: CoinGecko pricing data so you can see how much your crypto is worth
  • Coming soon: actual transactions
  • Coming soon: compatibility with Open Wallet Standard
0
0
7

Followers

Loading…