14th Mar 2019
11 min read

ARK Desktop Wallet Update: v2.3 Released

This newest ARK Desktop Wallet update v2.3 brings new features, enhancements and bug fixes. A lot has also been done on the back-end to improve performance and loading times.

It has been a bit over a month since our last Desktop Wallet update and we have a lot of great progress to report! The ARK Team, along with our ever dedicated community developers, have done an amazing job squashing bugs, patching holes, and implementing new features. We are really excited to share a wide range of improvements to the wallet in v2.3.

The new wallet is available for download at:

This is going to be the last major update before a big turning point in the ARK Desktop Wallet v2 lifecycle (minor updates may accompany this release eg: version 2.3.x). The next bigger iteration (v2.4) will bring plugin support.

We feel this is going to be something unique and will open many new use cases for developers, delegates, Bridgechains and others who would like to develop custom solutions without the need to modify the core files of the wallet.

We are going to be developing some initial plugins to showcase the power of the new system and give developers a starting point on how to implement their plugins.

The initial release containing the debut of the plugin system is currently anticipated to be done in the first half of the May.

Hashes for 2.3.0 of Desktop Wallets (SHA256)

  • Linux (ark-desktop-wallet-linux-x64–2.3.0.tar.gz) 128b771842fef98dbecbb56cd9e2c756287b1cfa9b417e6d5766dd61c5320b0d
  • MacOS (ark-desktop-wallet-mac-2.3.0.dmg) 37f88055fc428e7c3adc98b4e66b9fe08fdab068b82fd4f13bf9e161dd7883d0
  • Ubuntu (ark-desktop-wallet-linux-amd64–2.3.0.deb) b7a0d3e1d0b7b479f392e354325ee888a61271aa74afef3e6aeb7f2c4556a079
  • Windows X86 (ark-desktop-wallet-win-x86–2.3.0.exe) b47215e357b825e82912d9a61cbb70fc20cb3c3ceefc796140f86d97706cb907
  • Windows X64 (ark-desktop-wallet-win-x64–2.3.0.exe) 9493cb7321f46123f176ddfb57139600d4c4080afcc219659cb791fdf5c26585
  • Linux-AppImage***(ark-desktop-wallet-linux-x86_64–2.3.0.AppImage)*** ebde7b7916f1ef2f3bc161cd6aa590514ec99b5af4e7a8fa6cc0aec077916700

Changes In Numbers

Since the previous release:

  • 9 different developers contributing to the ARK Desktop Wallet.
  • 93 new commits to the ARK Desktop Wallet.
  • 266 files changed in the ARK Desktop Wallet.
  • 13,337 lines of code added to the ARK Desktop Wallet.
  • 3,597 lines of code deleted from the ARK Desktop Wallet.

Now lets go over the changes in current newest release.

What’s New?

  • Make voting easier with redesigned voting process — numerous changes on user experience when voting for a delegate, you can now input a delegate you wish to vote for or search for them in the lower bar. It also shows when processing transactions at the end for better experience.

  • Include a menu to filter and sort the wallets of the sidebar — we have added a filter menu in the sidebar so you can now sort wallets by name, balance and also have an option to hide empty wallets. Addition of search functionality makes it easy to find wallet with ease.

New filter option in the sidebar menu give you option to search for wallets by name or you can sort them by name and balance.- Load “x” Ledger wallets —this feature allows Ledger users to load X amount of Ledger wallets. The reason for this is, for example, some people may want to see a larger or smaller amount of addresses/wallets depending on how many addresses/wallets have been created. The other reason is to give users on Bridgechains additional options to access tokens where they have some tokens on their 1st Ledger address and some on the 5th for instance (eg. airdrop), and as Ledger stops loading at the +1 address of the last that had any transactions you wouldn’t be able to access them otherwise. This also improves the loading of ledger wallets and has the ability to stop any currently ongoing process. Do note that the bigger the number of Ledger wallets/addresses you want to load, the bigger the load times as it needs to parse data for all of them.

When you connect Ledger you now have new option to load additional (or less) number of Ledger wallets/addresses!

You can input number for Ledgers you want to load- Show voted delegates in list view — when you click on wallets page and switch to list view you can now easily see who you are voting for with each separate wallet, thus reducing the need to click on each separate wallet (if you have many) to see who you vote for.

When switching to list view you can now easily see for which delegate you vote for each separate wallet, without the need to go into the wallet and clicking on delegates.- Improved view of ‘My wallets’ page — we have improved user experience when viewing ‘*My wallets’* page, design has been changed to be more fluid, added on wallet hover animation, added additional option so you can rename your wallet by pressing … icon.

Before (left) / after (right)- Addition of input language component and language flags to profile — includes a new language component to over time make ARK Desktop Wallet multilingual with your help, improves and fixes several things of dropdowns, includes the component in the profile creation, modifies the profile edition to display flags on the language dropdown, includes the attribution to the creators of the flag icons (on the about section).

Profile creation now has an option to set language for application, includes flags and is ready for contributors to help us translate an app in their local langauge- Allow navigating to delegate addresses on the vote delegate popup modal — when you click on delegates tab and on a specific delegate you can now click on their name in vote modal that will take you to their address.

You can now click on delegate name in vote modal and see their wallet data directly in wallet by a simple click- Remind user to ignore or save changes in edit profile page when leaving page—desktop wallet users, when leaving the profile edit page, without clicking save button are now asked if they want to save changes or ignore them. It also fixes the order on the profiles page if altered after updating a profile.

If you forgot to save changes and are leaving edit page you are not asked to save changes or discard them.- Implement remote sorting to delegate table — sorting in the delegates tab is now done via API and on the whole dataset instead of 51 delegates. You can now click Rank, Username, Productivity or Voting % to sort by all registered delegates.

Clicking on table title now sorts on all data instead of just 51.- Add the time format setting to the profile creation — you can now select data format (12h/24h) when creating new profile.

Profile creation page now has an option to set time format of data inside wallet- Verify when sending transactions that the 2nd passphrase is correct — when inputting 2nd passphrase it now shows if its valid or not valid so user gets input on the go.

Verify 2nd passphrase on the go.- Display the ticker price on the dashboard, even when the chart is disabled — since some users may disable the chart for performance reasons, showing the price might be helpful for them. The price is requested periodically unless you disable it in network configurations, so displaying the price won’t involve additional requests.

Show price of ticker in the dashboard if you disable market chart.- Improved UI/UX for QR scanner — new, enhanced overall look and feel of the QR code scanner.

QR scanner improvements.- Copy button in wallet table, redirect & success message — redirect to contacts overview instead of wallet after creating a contact. Also: — copy address button in action column, — displays a success message once a contact has been created successfully, — adds tooltips to the buttons.

Tooltips added to the buttons, added copy of the address icon and message when contact is added to the list.- Added “Chart on dashboard” setting to profile creation and edit page — you can now set chart to be displayed or hidden on the profile creation page or disable it in the profile page.

Option to disable or display chart is now under ‘Edit profile’ page by clicking on ‘Wallet design’ tab.- Add avatar and change style on confirmation of new wallet page — display the identicon and improve style in the confirmation step when creating a new wallet.

Confirmation step when creating new wallet now shows its address and identicon.- Replaced lots of action dispatching to load the session with a single mutation — this change reduces the time to load initially. Load sessions and switching profiles are reduced about 1 second on average depending on the system.

  • Overall latest transactions per profile — in previous version the latest transactions display the ten latest transaction of each wallet. This had several problems and downsides, for instance: — with a high number of wallets, this list grows very large, — this didn’t actually reflect the latest transactions of your profile New behavior now displays the 50 latest transactions of all wallets combined on the dashboard.
  • Implement database migration system — allows executing migrations when the version of the app changes.
  • Made contacts page scrollable — contacts page is now scrollable if you have a larger number of contacts.
  • Infer the market ticker of custom networks by checking CryptoCompare — users may not realize that they need to manually set the ticker of the network to enable the prices in other currencies and the chart. We can try the token from the network automatically and, in the case that it exists, use it directly. We moved the market ticker to the “Basic” tab.
  • Revamp how transactions are loaded on the dashboard —we revamped the entire application to allow caching transactions, improving its performance and enhancing the code. Some of the initial changes are: — Allow trigger actions of the synchronizer directly. —Changed the dashboard to not sync the contacts, now that they are not displayed. — The dashboard doesn’t fetch transactions now. This made the initial load of transactions slower because the synchronizer fetches the wallet first, so there was a small delay which was also fixed.
  • Request wallets data and transactions in parallel during synchronization — In this case, requesting the wallet data and transactions in parallel should save those 1 or 2 seconds, at minimum, of getting first the wallet data.
  • Request multiple wallets or transactions at once when the API allows it — Using the new endpoints that allow searching multiple wallets or transactions at the same time wasn’t correctly triggered on the first load and when changing peers. Apart from that, we’ve refactored the client service to make it easier using the new features that are being added to the API, and also slightly refactored the tests to make them more readable.
  • Highlight the wallet sidebar filters button when they are active — this measure helps avoid users from forgeting that they have activated some filters and start wondering where their wallets went.
  • Improved address list style when creating a new wallet — improved the design when hovering the new address, changed checkmark flag, update refresh address button.
  • Sync dynamic fees only when InputFee is active — these changes avoid making requests at the beginning to fetch the fee statistics of every network, and then, periodically to have them updated. Now, only the current network is checked, but just in the case that InputFee component is active, because they are only used there. This also improves the Synchronizer service, so, from now on, we could disable completely some actions until needed.
  • Delayed and changed the interval of synchronization — delays some synchronizer actions to not process all of the requested data at the same time and changes the intervals to reduce the frequency of requests.
  • Keep the expand button at the top — keeping the button to expand/collapse at the top would allow seeing (expanding) the balance of the last wallets without having to go to the top to expand the sidebar.

Other Bugs and Minor Fixes

  • Do not treat addresses that are possibly NEO addresses as invalid.
  • Change to new voting instructions URL.
  • Correctly sort wallets and contacts in overview and sidebar.
  • Dashboard transaction loading and wallet sidebar placeholder.
  • Add subject to clipboard button upon resetting tooltip.
  • Upgrade to node 11 and fix all failing unit tests.
  • Add COSS exchange to known wallets.
  • Compile portal-vue to not display developer note in production.
  • Use the cursor pointer on the pagination rows per page.
  • Stage linted files before commit.
  • Use the configured time format on the market chart.
  • Fix how cryptocurrencies are formatted when localized and displaying with symbols.
  • Ignore case of filter queries.
  • Several BIP 38 issues and refactor the implementation.

New Translations

  • Italian language.

Special thanks to all community developers who have contributed to this Wallet release (Github users: dated, vulet, kalgoop, danielstc).

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

Please open an issue with all of the details at:

I want to help with development what do I do?

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

I want to translate Desktop Wallet into my own language how can I help?

Please read instructions at this link (click on the arrow to open full guide): https://github.com/ArkEcosystem/desktop-wallet/tree/master#translations

Share:

Get in Touch!

Whether you want to learn more about ARK Ecosystem, want to apply for developer bounty, become our partner or just want to say Hello, get in touch and we will get back to you.



An Ecosystem of Developers

Join us on our journey to create the future of Web3.