ARK Desktop Wallet v2.4— Introducing Plugins, One Of The First Plugin Enabled Crypto Wallets

in arkecosystem •  4 months ago 

It’s time to release the newest version of the ARK Desktop Wallet and this one
is a BIG one! With the release of v2.4, we are officially debuting one of our
most anticipated new developments — the desktop wallet plugin system. The plugin
system makes our wallets even more versatile, providing developers and hobbyists
with a means to easily develop and deploy additional functionality for the
wallet. We can’t wait to see what great ideas you come up with!

The initial implementation of the ARK Desktop Wallet plugin system is complete.
The new plugin system gives developers additional ways to expand the usability
of the Desktop Wallet and develop innovative ways to interact within the ARK
Ecosystem. Plugins are always optional for the user to install. Each plugin is
installed on a per profile basis, allowing the ARK Desktop Wallet to remain free
of any bloat. This means you get the experience you want, without any of the
hassles you don’t.

With the impending release of the ARK Deployer on
May 28th, we have expanded and improved bridgechain support inside the Desktop
Wallet as well. We have also made all of the necessary changes for the wallet to
be compatible with the upcoming Core v2.4 upgrade, ensuring that all of our
product releases are in alignment and we are able maintain a smooth transition
when the network is updated.

**The new wallet is available for download at:
**https://github.com/ArkEcosystem/desktop-wallet/releases

**Note for developers: **With the upcoming release of ARK Core v2.5 in June
(which will mainly be focused on cleaning up some legacy code alongside API v1),
we will be dropping API v1 support in the Desktop Wallet. Please prepare any
tools or services that are still utilizing API v1 and update to API v2 prior to
that time.

Plugin System

While the plugin system is already fully working, we have marked this plugin
system release as a beta, as we want to receive feedback from developers to
gauge where they see room for improvement. This will give us a chance to develop
any necessary tools and implement features that could aid them with developing
plugins and help improve the process and interface.

The *beta *version of the plugin system comes with the following features:

  • Sidebar menu items for custom pages.
  • Tabs on the Wallet page.
  • The ability to specify permissions on a per-plugin basis, so users can see what
    the plugin is capable of and what services it may access.
  • Access to wallet events so they can react at key times, such as playing a sound
    when a new transaction is found.
  • Access to machine audio so it has the capability to play additional sounds.
  • Alert popups to provide the user with information within the wallet (the same
    system used to notify users of new transactions).
  • Additional profile avatars which can be included with a plugin.
  • The ability to install and apply custom themes to the wallet.

We have already developed a few simple official plugins to show the power and
ease of use of the new plugin system. Users can enable or disable the plugin
system at any time in the plugin menu. Plugins are separate for each profile so
you can have different profiles with different plugin settings.

**Repository with official Desktop Wallet plugins is available at:
**https://github.com/ark-ecosystem-desktop-plugins

When you initially install Desktop Wallet v2.4 it will create a plugins folder
where you can place Desktop Wallet compatible plugins and the wallet will
auto-discover them when you start it. Once we move out of beta, we’ll have an
auto-discovery option inside the wallet itself, without the need to manually
copy files to the plugins folder or searching for them on our repositories.

Developers can also expect a guide on how to build their first plugin based on
an example (and yes, it is really simple), which will be released tomorrow!

How To Install ARK Plugins?

The Desktop Wallet will create a plugins folder in your default local users
folder:

  • Windows users: c:\users\<username>\.ark-desktop\plugins
  • Mac / Linux users: ~/.ark-desktop/plugins

You can open this folder within the wallet itself, by going to **Plugin Manager
**and pressing on the Open Plugins button.

In order for plugins to show in the Plugin Manager section, you’ll need to
download and copy plugins that you wish to use into that folder. You can start
by pressing on the **Discover Plugins **button, which will open an official
Github plugin organization from where you can download plugins. Let’s do this on
an example, by installing the Contrast Dark Theme plugin.

That is it! Installing a new plugin is as simple as downloading the desired
plugin, extracting it to the plugin folder and enabling it in the wallet. You
can do this for any other plugin in our repository. Here are direct ZIP links
for the current plugins we developed for the initial release:

**WARNING: Be careful when installing non-official plugins as they can pose

security risks! We cannot vouch for the safety of any non-official plugins at
this time. All responsibility for security testing and any vulnerabilities
discovered are the responsibility of the plugin author and the user.**

Upcoming Plugin Improvements

In the upcoming months, we’ll be refining and polishing the plugin system to
make it more robust and even easier to use. Here are some of the things you can
expect to see:

  • Discovery of new official plugins inside the wallet by reading data from
    official repository or NPM packages without the need to go to Github.
  • Option to install new plugins by simply clicking the install button and adding
    plugins via URL (eg. for community plugins).
  • Option to remove installed plugins within the wallet (disabling them is already
    implemented).
  • Predefined templates for easier implementation of wallet data related
    information (transactions, addresses, …).
  • Including external JS dependencies in the plugins.
  • Store wrapper to allow access to certain data.

The long-term vision is to provide a fully featured “Plugin Marketplace”,
where users can discover and install community developed plugins as well as pay
for certain premium plugins within the wallet itself.

Over the next several months, we will take user feedback on the plugin system
and continue to fix bugs, improve features, and make the process as seamless and
as easy as possible for both users and developers. Once we are happy with the
state of the plugin system, we will begin posting brand new Tier 0 bounties in
our new Tier 0 management system, specifically focused on getting open source
developers involved in creating exciting new plugins. You will also be able to
submit your own ideas to start brainstorming now!

Other Changes

OK, so that is the plugin system! Now that we got that out of the way, let us
quickly go over the other improvements and changes in this release.

  • Support for upcoming Core v2.4 —in order to prepare for Core v2.4 changes of
    the Core numerous fixes have been done to already provide support for Core v2.4
    (which is currently on Devnet).
  • Better support for bridgechains — numerous changes to make Desktop Wallet
    work out of the box for custom launched ARK bridgechains.
  • **Obtain the maximum length of the SmartBridge (Vendor Field) from the network
    **— updates the maximum length for the vendor field when the network provides a
    new value.
  • Display more information on the modals for sending transactions — the sender
    address is now also visible on the confirmation page along with the contacts
    name if they are added or verified.
  • New icon for disconnecting from a custom peer was added — instead of just
    text it now shows an icon if you are connected to a custom peer in the network
    management menu.
  • Show the market chart when enabling it on the profile — the market chart
    wasn’t properly enabled or disabled when the related setting was changed on the
    profile edit page.
  • **Disable market chart setting if market not enabled **— the profile edit page
    allows changing of the value for the market chart display even if no market is
    available, for instance on devnet.
  • **Improve validation for epoch format **—this relates directly for when adding a
    new network to the wallet with better epoch time validation.
  • Other network fees when higher than ARK static fees —resolved an issue with
    non-ARK chains, where the fee greater than ARK’s static fees resulted in not
    being able to send transactions.
  • Fixed Ledger transaction signing — in some cases Ledger signing didn’t work
    (on upcoming Core v2.4 changes), resulting in users unable to sign the
    transaction.
  • Proper navigation to other pages while loading transactions — clicking, from
    a wallet page, on the profile icon on the sidebar, navigated to wallets instead
    of profiles.
  • **Fixed filtering peers based on higher height **— if a bad peer has a height 50
    blocks above the rest it is not returning any peer, this was happening on
    devnet, which made it impossible to select another peer.
  • **Fixed days on the X axis of the market chart **— in some cases it was
    displaying values such as “7:undefined PM”.
  • **Removed productivity and missed blocks from delegates **— with recent Core
    changes, some data became obsolete and as such we have removed it from views in
    the Desktop Wallet.
  • Do not break letter avatars when switching languages — on profile creation
    or edit page, letter avatars were broken when switching from one language to
    another.
  • Fixed sending from Ledger cold wallets — fixed an issue where synchronizer
    updates the public key for Ledger wallets when fetching from the API. This
    removed the public key for cold ledger wallets, meaning it caused an error when
    trying to send from the wallet.

Changes In Numbers

Since the previous release:

  • **8 different developers **contributing to the ARK Desktop Wallet.
  • 63 new commits to the ARK Desktop Wallet.
  • 97 files changed in the ARK Desktop Wallet.
  • 3,326 lines of code added to the ARK Desktop Wallet.
  • 439 lines of code deleted from the ARK Desktop Wallet.

Hashes for 2.4.0 of Desktop Wallets (SHA256)

  • Linux
    (ark-desktop-wallet-linux-x64–2.4.0.tar.gz)
    43219cfda7c97c99bdbcffa95227961f6c98838d8ff5a7d4c733e1bae3aa5c7b
  • MacOS
    (ark-desktop-wallet-mac-2.4.0.dmg)
    c2dbec2d15749355647ec8de8f988b566528a9dc0cdbdd173dce49a5bc62daae
  • Ubuntu
    (ark-desktop-wallet-linux-amd64–2.4.0.deb)
    b83b63706606188545aeaedd19881882eecdda243a6645ea552b038540d682c7
  • Windows X86
    (ark-desktop-wallet-win-x86–2.4.0.exe)
    91d3e676ff1eb2b80a369f97d9ed754960f8ee9e3c8bff30f151865153293808
  • Windows X64
    (ark-desktop-wallet-win-x64–2.4.0.exe)
    35af8ced3e9a2853ec73fbba39a47d746bfa9cea1eabd4189b3d36e0dddd0115
  • Linux-AppImage
    (ark-desktop-wallet-linux-x86_64–2.4.0.AppImage)97b28d0f9575587bdc0599969f6ce9cf3b25ea4d16949ecf3005d648f0ff0c03

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

Please open an issue with all of the details at
https://github.com/ArkEcosystem/desktop-wallet/issues

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.

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


Follow us on social media ( Twitter | Facebook | Reddit | YouTube), join our community ( Slack | Discord ) and stay tuned to our blog on Medium.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!