Proposal “dash-masternode-tool-update-and-infrastr“ (Completed)Back

Title:Dash Masternode Tool - update and infrastructure
Owner:Bertrand256
One-time payment: 99 DASH (3824 USD)
Completed payments: 1 totaling in 99 DASH (0 month remaining)
Payment start/end: 2020-10-13 / 2020-11-12 (added on 2020-10-07)
Votes: 794 Yes / 4 No / 19 Abstain
External information: app.dashnexus.org/proposals/dash-masternode-tool---update-and-infrastructure/overview

Proposal description

Dash Masternode Tool (DMT) is a desktop application, whose purpose is to help in managing the Dash masternode if its collateral is controlled by Trezor/Keepkey/Ledger Nano hardware wallet. The program was established in 2017, initially as a voluntary, open source project, but after obtaining financing from the Dash Tresury in 2017-2019, its development significantly accelerated until it gained its current functionality.

Home page of the project: https://github.com/Bertrand256/dash-masternode-tool

This proposal consists of two parts:
  1. Updating the program source code to reflect changes in the firmware of hardware wallets and other libraries on which the application is based, as well as updating the project documentation to be consistent with the latest version of the application.
  2. Coverage of the rental costs of servers working as "public" RPC nodes for a period of 12 months.

Part 1: Dash Masternode Tool update
Over the last year, mainly due to the budget situation, no major development changes were made in the application, but on the other hand, it was not necessary either, because the existing functionalities seemed to be sufficient and worked properly.After these several months, however, it seems that the program should be adapted to the current environment in which it operates in order to ensure its correct functioning for the next year or more. Failure to do so may have some negative implications like causing hardware wallet devices to stop working properly with the application due to future changes in their firmwares that modify the communication protocol. The further we are from the latest official API version the more likely it is.

Technical details:
  • Satoshi Labs introduced a number of changes to the firmware of their Trezor devices and the associated client libraries. Differences between the version included in DTM (0.9.13) and the newest one (v0.12.2) are significant - the latter introduced several breaking changes, so adapting the application source code to use it will require some effort.
  • The version of the Keepkey client library used in DMT is 6.1.0, while the latest one available is 6.3.1. Although, the number of breaking changes is smaller than those related to Trezor, but the directions of development of the Trezor and Keepkey APIs started to diverge some time ago, so the amount of code that can be shared in DMT to support them both is decreasing.
  • The version of the Ledger Nano client library used is 0.1.28, while the latest one available is 0.1.31. The number of changes is smaller than for the other two devices, but catching up with the latest version is highly recommended.
  • Qt library. The application user interface is based on the Qt library, or more specifically PyQy - its Python representation. The current DMT version uses a fairly old version of it (5.9.2) and the problem is that it is no longer supported by the latest release of the Python 3 interpreter, on which the DMT source code is based. Being compatible with the latest version of Python is quite important but even more important is to move away from that old version of Qt. As the latest version bring a lot of breaking changes in relation to v5.9, this task will be the most challenging.

Tasks to be done:
  • Trezor client library: moving from v0.11.3 to v0.12.x.
  • Keepkey client library: moving from 6.1.0 to 6.3.x.
  • Ledger Nano client library: moving from 0.1.28 to 0.1.31.
  • Qt library: moving from 5.9.3 to 5.15.x.
  • Implementing GUI for new Trezor features such as the management of the "passphrase always on device" option and setting the "wipe code". These features are quite useful, but they don't have representation in the Trezor official web client, so most users don't even know they exist.
  • Updating the program documentation on the project page on GitHub, which currently is a bit outdated.

I plan to spend 4 weeks on this work exclusively. If time allows, I will work on an Ansible script setting up a node with all the components needed to act as an RPC node used by DMT. This would allow the community to quickly put such a node into operation if needed, thereby reducing dependency on nodes maintained by a single entity.

Budget
Compensation: 4900$

Part 2: RPC serwer infrastructure costs.
The nodes in question are Linux servers running several software components (dashd is one of them), designed to provide communication gateway with the Dash network for DMT clients and to allow some additional functionalities such as starting new masternodes or reconfiguring existing ones. These particular nodes are not absolutely necessary for DMT to work (you can also use your own), but because they free the user from some technical activities, they are a good solution for people looking for simplicity and a ready-made solution.

This part is basically a follow-up to a recent proposal on the same subject (https://app.dashnexus.org/proposals/dash-masternode-tool-infrastructure/overview), covering the infrastructure costs for the period August 2019 to October 2020 (a few months longer than the initial calculations assumed). The only difference is that the current proposal concerns renting two (not three) servers, because from today's perspective it seems sufficient. A single server supports both mainnet and testnet, so its physical resources must be sufficient to run two dashd instances plus a few other software components

Budget
Monthly cost of one VPS: 20$
USD: 20$ * 2 * 12 * 1.52 = 729$

Total USD: 4900$ + 729$ = 5629$
Total Dash: 5629/60 = 94 + 5 (proposal fee): 99 Dash

Notes
  • 1.52 multiplier: VAT that will be added to the purchase and income tax incurred when converting Dash to FIAT
  • Dash/USD price: 60 Dash/USD

Show full description ...

Discussion: Should we fund this proposal?

Submit comment
 
0 points,3 years ago
As voting has just ended, I just wanted to say that I did not expect such a positive reception, so I would like to sincerely thank all the masternode owners for voting for this proposal.
Reply
2 points,3 years ago
Absolutely yes. DMT has been an essential tool, and Bertrand has always delivered value.
Reply
0 points,3 years ago
Yes! Love the specifics and clarity of the proposal description as well.
Reply
0 points,3 years ago
Thank you agnewpickens, Criticalinput, TroyDASH, qwizzie, kbu66, DeepBlue, jophus and all others for your support.
Reply
1 point,3 years ago
Yes
Reply
2 points,3 years ago
DMT-Lover here. Voting YES.
Reply
2 points,3 years ago
A definitive yes from me.
Reply
2 points,3 years ago
voting yes, obviously. This tool continues to be extremely useful. Thanks for continuing to maintain this software
Reply
2 points,3 years ago
YES
Reply
2 points,3 years ago
Yes. Definitely.
Reply
4 points,3 years ago
Absolutely - I love DMT
Reply
1 point,3 years ago
Thanks!
Reply
4 points,3 years ago
Yes definitely, absolutely worth keeping DMT up to date with the latest hardware device firmware.
Reply
1 point,3 years ago
Thanks, I'll do my best to catch up on the most important areas the app depends on.
Reply