ARK Desktop Wallet v2.9.0 — Major Speed and Performance Improvements

Rok Černec
ARK.io | Blog
Published in
5 min readMar 9, 2020

The New Desktop Wallet release is here and we are excited for you to try out our speed & performance improvements. This update is quicker, snappier and more responsive throughout your journey from start to finish, but this is not all so let’s dive into all of the changes.

You can download the ARK Desktop Wallet at https://ark.io/wallet or use the new download feature from within your current wallet (available in v2.7.0+).

With more frequent releases of Desktop Wallet, we want to bring a constant flow of improvements to you, the users. This release focused on performance improvements and a major overhaul of the underlying system that takes care of reading, requesting and saving data (from the inside and outside of the wallet). One of the initial things you will notice is much quicker loading times when opening the wallet. On one of our slowest testing machines that had a lot of profiles, networks, wallets, and installed plugins it went from 40 seconds to 12 seconds for the initial load, all due to how we reengineered and optimized underlying processes. Once opened you will see that switching between wallets, tabs, charts and while retrieving data, the experience is much smoother than with the previous release.

Let us know what you think about these improvements on Twitter.

What’s New?

  • Plugin images & slider — we have now implemented a way for plugin developers to also include screenshots of the actual plugin. Images can also be clicked so they expand. (to see how it looks open Plugin Manager and open ARK Explorer plugin).
  • Transaction close confirmation modal — until now, when you were trying to send, cast a vote or initiate any kind of transaction, if you clicked outside of the modal it automatically closed. This created a pain point for users where they would be required to create a new transaction and enter the transaction details again if closing the modal by accident. We have now improved this behavior with a confirmation window.
  • Plugin manager menu open status — plugin menu state, if you click on the menu it hides/opens, is now saved per profile basis and is also visible by default.
  • Show alternative balances in the wallet grid — when in grid view you can now see the value of your alternative preferred currency as well.
  • Add links to multipayment list on transaction show — the recipients of multipayment transactions are now linked to from the transaction show modal.
  • Improved Ledger Hardware Wallet UX — major UX improvements to the Ledger HW interactions going from caching, updating in the background and fixing some reported bugs (eg. disconnect Ledger when rejecting transaction).
  • Custom peer host validation — better labeling and improved peer host validation when adding custom peer.
  • Class-based languages for localization — Moves all localization logic into classes and only ships with English by default. Paving the way for localization plugins.
  • Replaced various lodash methods with native alternatives —we have replaced many of the lodash functions inside Desktop Wallet with its pure/native JavaScript alternative for increased performance and to bring down the dependency footprint.
  • Replace moment with DayJS — Replaces all occurrences of moment with dayjs.
  • Extracted crypto behaviors out of the client service — extracted crypto behaviors out of the ClientServiced, each transaction into its own builder class, duplicated crypto utils into a CryptoUtils class from which they can be used and transaction signing methods into TransactionSigner class-
  • Adjust bridgechain transaction form validation — major rehaul of the validation on the bridgechain registration transcation modal with better validation on the input fields and other fixes.
  • Updated Electron from v6 to v8 — a major dependency update that fixes bugs and improves framework used inside the Wallet.
  • Add support for TypeScript — now TypeScript files can be mixed with our current code.

While this is just a few of many changes be sure to read the v2.9.0 Changelog to learn more.

Changes In Numbers

Since the previous release:

  • 8 different developers contributing to the ARK Desktop Wallet.
  • 71 new commits to the ARK Desktop Wallet.
  • 260 files changed in the ARK Desktop Wallet.
  • 9,173 lines of code added to the ARK Desktop Wallet.
  • 8,678 lines of code deleted from the ARK Desktop Wallet.

Hashes for v2.9.0 of the Desktop Wallet (SHA256)

  • Linux (ark-desktop-wallet-linux-x64–2.9.0.tar.gz)
    172f9b3a94558afb79ef03e39fe57931393ef05f1b7b64fe706b6990036d82da
  • MacOS (ark-desktop-wallet-mac-2.9.0.dmg)
    8fbba3483f1a1e5a04de78d7c3ec48197d7ab05468ee45f4dca985c7fcb2fafe
  • Ubuntu (ark-desktop-wallet-linux-amd64–2.9.0.deb)
    b49603a310a7803696ebd27f77fe01c3dbc25837fe8fde4a272bf2a5d2c30b75
  • Windows X86 & X64 (ark-desktop-wallet-win-2.9.0.exe)
    b3d3acd60432c7460937fb12dfe0db3e27f9b768423123f4906920bd9bea19e7
  • Linux-AppImage (ark-desktop-wallet-linux-x86_64–2.9.0.AppImage)
    959e075c87dd71ee270e4e6a82fddb48e5cdb006a6cdf11ace9f363ef9a1fcb0

I found a bug / an issue — what do I do?

Please open an issue with all of the details on ARK Desktop Wallet Issues page.

I want to help with development — what do I do?

Please open a pull request, and don’t forget, we are also running Github development bounty, so you can earn some extra ARK.

Read our new whitepaper, follow us on social media ( Twitter|Facebook | Reddit ), join our community ( Slack | Discord ), and stay tuned to our blog on Medium and on Steemit.

--

--