Coder Social home page Coder Social logo

bertrand256 / dash-masternode-tool Goto Github PK

View Code? Open in Web Editor NEW
68.0 21.0 82.0 23.63 MB

Tool for managing Dash masternodes with a hardware wallet (Trezor, Keepkey, Ledger Nano S)

License: MIT License

Python 99.81% Dockerfile 0.13% Shell 0.03% Jinja 0.04%
keepkey ledger trezor

dash-masternode-tool's Introduction

Dash Masternode Tool (DMT)

Masternodes

Dash masternodes are full nodes which are incentivized by receiving a share of the block reward as payment in return for the tasks they perform for the network, of which the most important include participation in InstantSend and PrivateSend/CoinJoin transactions. In order to run a masternode, apart from setting up a server which runs the software, you must dedicate 1000 Dash as collateral, which is "tied up" in your node as long as you want it to be considered a masternode by the network. It is worth mentioning that the private key controlling the funds can (and for security reasons, should) be kept separately from the masternode server itself.

A server with the Dash daemon software installed will operate as a Dash full node, but before the rest of the network accepts it as a legitimate masternode, one more thing must happen: the person controlling the node must prove that they also have control of the private key associated with the 1000 Dash collateral assigned to that node. This is achieved by sending a special transaction (i.e. ProRegTx) to the network, signed by the collateral private key.

Here you can see that certain key actions - like starting the masternode or changing some of its parameters - require access to the private key associated with the collateral. Although it can be stored within Dash Core wallet and thus allow to conveniently perform those activities, but for security reasons this is highly discouraged. A much better solution for most users will be to use a so-called hardware wallet that secures private keys from outside access, while giving the ability to perform certain operations related to those keys in a secure manner, i.e., controlled by the physical buttons of the device.

Having such a device, the operations related to masternode management can be performed in two main ways:

  • using the Dash Core app - in this case, you have to take into account the necessity to execute several text commands from the Debug console;
  • using additional apps, such as Dash Masternode Tool, where most operations can be performed graphically by simply clicking.

Dash Masternode Tool application

The main purpose of the application is to help you perform the most important operations related to registering and managing a masternode if the collateral is controlled by hardware wallets such as Trezor, Keepkey, Ledger. In addition to these features, the application also allows you to perform some additional operations mainly related to Dash governance and hardware wallet setup&management.

DMT main window

Configuration

In order to work properly, the application needs to communicate with the Dash network, which is done via so-called Dash RPC nodes. Technically, an RPC node is simply a running Dash Core or dashd program with the RPC API enabled. It does not matter whether it runs locally on the same computer as DMT or on some remote server on the Internet. All that matters is to ensure the network is properly configured, so that the RPC service is accessible from the computer you are running your DMT instance from.

Network configuration

To make it as easy as possible for new users to use the application, it comes with a predefined network configuration for so-called "public" RPC nodes (nodes that are maintained by the DMT app developer). This is the default scenario after the first start of the application and in this case no additional actions are required. If you need to restore the default configuration (e.g. after user changes), take a look at this document: Connection to "public" Dash RPC nodes.

For those who choose to use their own RPC nodes, here are two scenarios to achieve this:

Command line parameters

The application currently supports the following command-line parameters:

  • --data-dir: a path to a directory in which the application will create all the needed files, such as: configuration file, cache and log files; it can be useful for users who want to avoid leaving any of the application files on the computer - which by default are created in the user's home directory - and instead to keep them on an external drive
  • --config: a non-standard path to a configuration file. Example: DashMasternodeTool.exe --config=C:\dmt-configs\config1.ini

Features

Setting up a masternode

This is the main functionality of the Dash Masternode Tool application.

The steps of the entire process are:

The basis of a masternode is a Dash daemon running on a server 24/7, having its own IP address reachable from the Internet. To ensure the required availability, the most optimal solution is to use a so-called Virtual Private Server (VPS) rented from a reliable service provider. While you can run the masternode daemon on your own server (even Rapberry Pi) and use your home internet connection to make it public, it's not very reliable in most cases, so in this documentation we will refer to that server simply as a VPS. If in your case, it will actually be a physical server, then all the steps described for installing software on it will still be valid.

Step 2. Installing and configuring a Dash node

After obtaining the appropriate VPS service, it is necessary to install (and properly configure) the software that will make up the Dash node being the basis of the masternode.

In this documentation, we will focus on two scenarios of such installation:

For masternode registration it is necessary to prepare a so-called collateral transaction in advance by sending 1000 Dash to one of the addresses from your own hardware wallet.

Masternode registration is the act of broadcasting to the Dash network that we have a node configured to act as a Dash masternode.

Updating the masternode payout address

This topic is covered here.

Updating the masternode operator key

This topic is covered here.

Updating the masternode voting key

This topic is covered here.

Updating the masternode IP, port and operator payout address

This topic is covered here.

Revoking masternode

This topic is covered here.

Wallet

In general, this functionality is a graphical interface to hardware wallets, the main task of which is to send funds to specified addresses. It therefore implements functions similar to those provided by official device manufacturers' applications, but has a few additional features that can be quite important for masternode owners:

  • hiding by default collateral transactions to protect them from accidental spending and thus dostroying the associated masternode;
  • the ability to send UTXOs (aka coins) of a new transaction type (DIP-3) which is not supported by all official vendor applications.

This topic is covered here.

Voting on proposals

Voting on proposals is a very important part of Dash governance, as it provides funding for both the core of the project (the work of the Dash Core Group) and community-led side projects to support the entire ecosystem.

This topic is covered here.

Signing messages with masternode private keys

This topic is covered here.

Signing messages with hardware wallets

This topic is covered here.

Changing the hardware wallets settings

This topic is covered here.

Restoring hardware wallets from recovery seed

The topic is covered here.

Hardware wallet initialization with newly generated seed

The topic is covered here.

Wiping hardware wallet

The topic is covered here.

Hardware wallets

Supported hardware wallets

  • Trezor (model One and T)
  • KeepKey
  • Ledger Nano (mode S and X)

Linux udev rules for hardware wallets

In order for USB devices to be properly recognized under Linux, their so-called udev rules have to be added. As hardware wallets are USB devices, this also applies to them. Below is a list of commands that add udev rules for hardware wallets supported by this application, i.e. Trezor, Keepkey and Ledger. If, after installing them, you have a problem with the correct detection of the device, look for the appropriate rules on the manufacturer's website.

Trezor:

echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="534c", ATTR{idProduct}=="0001", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="trezor%n"' | sudo tee /etc/udev/rules.d/51-trezor-udev.rules
echo 'KERNEL=="hidraw*", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"' | sudo tee -a /etc/udev/rules.d/51-trezor-udev.rules
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="53c0", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="trezor%n"' | sudo tee -a /etc/udev/rules.d/51-trezor-udev.rules
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="53c1", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="trezor%n"' | sudo tee -a /etc/udev/rules.d/51-trezor-udev.rules
echo 'KERNEL=="hidraw*", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="53c1", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"' | sudo tee -a /etc/udev/rules.d/51-trezor-udev.rules
sudo udevadm trigger
sudo udevadm control --reload-rules

KeepKey:

echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="2b24", ATTR{idProduct}=="0001", MODE="0666", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="keepkey%n"' | sudo tee /etc/udev/rules.d/51-usb-keepkey.rules
echo 'KERNEL=="hidraw*", ATTRS{idVendor}=="2b24", ATTRS{idProduct}=="0001",  MODE="0666", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"' | sudo tee -a /etc/udev/rules.d/51-usb-keepkey.rules
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="2b24", ATTR{idProduct}=="0002", MODE="0666", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="keepkey%n"' | sudo tee -a /etc/udev/rules.d/51-usb-keepkey.rules
echo 'KERNEL=="hidraw*", ATTRS{idVendor}=="2b24", ATTRS{idProduct}=="0002",  MODE="0666", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"' | sudo tee -a /etc/udev/rules.d/51-usb-keepkey.rules
sudo udevadm trigger
sudo udevadm control --reload-rules

Ledger Nano:

echo 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="1b7c|2b7c|3b7c|4b7c", TAG+="uaccess", TAG+="udev-acl"' | sudo tee /etc/udev/rules.d/20-hw1.rules
echo 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0000|0000|0001|0002|0003|0004|0005|0006|0007|0008|0009|000a|000b|000c|000d|000e|000f|0010|0011|0012|0013|0014|0015|0016|0017|0018|0019|001a|001b|001c|001d|001e|001f", TAG+="uaccess", TAG+="udev-acl"' | sudo tee -a /etc/udev/rules.d/20-hw1.rules
echo 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0001|1000|1001|1002|1003|1004|1005|1006|1007|1008|1009|100a|100b|100c|100d|100e|100f|1010|1011|1012|1013|1014|1015|1016|1017|1018|1019|101a|101b|101c|101d|101e|101f", TAG+="uaccess", TAG+="udev-acl"' | sudo tee -a /etc/udev/rules.d/20-hw1.rules
echo 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0002|2000|2001|2002|2003|2004|2005|2006|2007|2008|2009|200a|200b|200c|200d|200e|200f|2010|2011|2012|2013|2014|2015|2016|2017|2018|2019|201a|201b|201c|201d|201e|201f", TAG+="uaccess", TAG+="udev-acl"' | sudo tee -a /etc/udev/rules.d/20-hw1.rules
echo 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0003|3000|3001|3002|3003|3004|3005|3006|3007|3008|3009|300a|300b|300c|300d|300e|300f|3010|3011|3012|3013|3014|3015|3016|3017|3018|3019|301a|301b|301c|301d|301e|301f", TAG+="uaccess", TAG+="udev-acl"' | sudo tee -a /etc/udev/rules.d/20-hw1.rules
echo 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0004|4000|4001|4002|4003|4004|4005|4006|4007|4008|4009|400a|400b|400c|400d|400e|400f|4010|4011|4012|4013|4014|4015|4016|4017|4018|4019|401a|401b|401c|401d|401e|401f", TAG+="uaccess", TAG+="udev-acl"' | sudo tee -a /etc/udev/rules.d/20-hw1.rules
sudo udevadm trigger
sudo udevadm control --reload-rules 

Running the application from ready-made binary versions

This application is written in Python 3, but requires several additional libraries to properly function. These libraries in turn require the installation of a C++ compiler. All in all, compiling DMT from source is not trivial for non-technical users.

For this reason, in addition to providing the source code on GitHub, binary versions for all three major operating systems (macOS, Windows 32/64-bit and Linux) are available for download directly. The binaries are compiled and tested under the following OS distributions:

  • Windows 10 64-bit
  • macOS 10.13
  • Ubuntu Linux 18.04

Binary versions of the latest release can be downloaded from: https://github.com/Bertrand256/dash-masternode-tool/releases/latest.

Verification of the application binary files

Each binary file being part of a release has a corresponding signature file that you can use to verify the authenticity of the downloaded binary file (to make sure it has not been corrupted or replaced with a counterfeit) and confirm that it has been signed by the application author (Keybase user: bertrand256).

The verification method described below is based on use of the Keybase application, so if you have not already done so, download the installer from https://keybase.io/download and install the app.

Verification steps

  1. Open your OS command line terminal

  2. Change the current directory to the folder where the DMT release files were downloaded:

    cd DOWNLOAD_DIR

    After invoking the list directory command (ls for Mac/Linux, dir for Windows ) you should see both the archived executable (.tar.gz, .zip) and the corresponding signature file (.asc):

    ls
    DashMasternodeTool_0.9.30.mac.dmg    DashMasternodeTool_0.9.30.mac.dmg.asc
    
  3. Verify the signature by executing the following command:

    keybase pgp verify -d DashMasternodeTool_0.9.30.mac.dmg.asc -i DashMasternodeTool_0.9.30.mac.dmg -S bertrand256
    

    You should see something similar to the following if verification was successful:

    ▶ INFO Identifying bertrand256
    ✔ public key fingerprint: 8044 DCB5 D241 349F 815F 9522 0D8F 46CA A62F 7EFD
    ฿  bitcoin 1BkMySjL6K72LWX82SVVmgCuZCuZ3DfuxS
    ฿  zcash t1byMTzteuJ8n1XUwxBzYXXV8qVv5kh3bFn
    ✔ "bertrand256" on reddit: https://www.reddit.com/r/KeybaseProofs/comments/688799/my_keybase_proof_redditbertrand256/ [cached 2018-01-19 10:27:37 CET]
    ✔ "bertrand256" on github: https://gist.github.com/781be961e33042c68d617782b0060844 [cached 2018-01-19 10:27:37 CET]
    Signature verified. Signed by bertrand256 1 hour ago (2018-01-19 11:46:05 +0100 CET).
    PGP Fingerprint: 8044dcb5d241349f815f95220d8f46caa62f7efd.
    

Running the application from self-built binaries

The goal is to build a binary version yourself using the source code available on GitHub. Although the procedure is not very complicated, some technical knowledge is required, because the operating systems for which this documentation was created are constantly changing, so it is quite possible that you will encounter some problems that you will have to solve on your own.

The procedure differs depending on the operating system and, in the case of Linux, also on its distribution:

Running DMT on an offline Linux system

This topic is covered here.

Changelog

Changelog is available here.

dash-masternode-tool's People

Contributors

bertrand256 avatar jazy510 avatar rynote avatar strophy avatar thephez avatar udjinm6 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dash-masternode-tool's Issues

Budget info

It's look like budget info is incorrect.
In app only 46% are allocated, but dashninja shows 105%

Next superblock date: 8/2/2018 1:58 AM
Budget approved: 2848 Dash (46%)
Budget available: 6177 Dash
Voting deadline: 7/30/2018 4:43 AM (19 days)
Budget requested: 9308 Dash (151%)

https://www.dashninja.pl/governance.html#budgetinfo

Next super-block height: 913880
Expected on: 8/3/2018, 12:47:12 AM
Time left: 3 weeks 2 days 17 hours 17 minutes 49 seconds
Providing: 6,176.72 DASH
Unallocated: -288.25 DASH
Allocated (105%)

Error when dashcentral is down

2017-11-23 06:09:14 INFO |MainThread |app_config.py |init |App started
2017-11-23 06:33:22 ERROR |Dummy-7 |dashd_intf.py |catch_timeout_wrapper |Error while calling of "<function DashdInterface.getgovernanceinfo at 0x000000000411F378> (1)". Details: [WinError 10053] An established connection was aborted by the software in your host machine
2017-11-23 06:33:37 ERROR |Dummy-7 |proposals_dlg.py |read_external_attibutes |HTTP Error 502: Bad Gateway
2017-11-23 06:33:45 ERROR |Dummy-7 |proposals_dlg.py |read_external_attibutes |HTTP Error 502: Bad Gateway

errors when sending unlocked funds from collateralized wallet

Note1: The transaction went through. And a prior transaction on another MN went through with no error.
Note2: my setup -- Fedora Linux 29, x86_64. My builds of the code.

A deadlock was reported. See image 1.
error-when-sending1

And underneath that error dialog was another. See image 2.
error-when-sending2

build failure on Fedora 39 (works fine for 38, 37, etc)

UPDATE: this failure is seen with 0.9.37 source code.

Collecting btchip-python (from -r requirements.txt (line 19))
  Downloading btchip-python-0.1.32.tar.gz (20 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [1 lines of output]
      error in btchip-python setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.
      [end of output]

"mandatory-script-verify-flag-failed" when sending from ledger wallet

I signed a send transaction on a ledger (blue) wallet to transfer excess funds from a masternode address. At the moment where I acknowledge to "Send Transaction" an error message

An error occurred while sending transation: -26: 16: mandatory-script-verify-flag-failed (Signature must be zero for failed CHECK(MULTI)SIG operation)

comes up. I don't get what that means. The same operation had worked before the last Dash software update. Might be a newly introduced incompatibility?

RPC SSH reconnect

If RPC SSH connection was broken it is not possible to reconnect. If I click "Check RPC connection" I'm getting "Connection error".

Send error with Keepkey

When sending transactions containing any MN rewards received after ~March 1st, pushing the "Prepare Transaction" button results in the error "(9, 'Encountered invalid prevhash')". HW wallet = Keepkey on latest firmware v5.5. Latest DMT. macOS v10.14.3. Issue was encountered with both remote connections and local hosted Dash wallet 0.13.2.

MN rewards prior to March 1st were unaffected.

bug when registering MN

During registration wizzard it seems the address for funding doos not get copied to the message. See image:

image

Saving MN information takes minutes....

For some reason when trying to save to a file takes some minute and locks all windows. Why is that? this is a simple operation and should not at the very least lock all windows (even outside of DMT!)

locked window

Paste dont work ....

Very strange issue i found in the final version of 0.9.35!
First i could not paste anything in the "payout address"! I restarted DMT and it worked....then i tried to go to the next page and got
error "" due to hw wallet was locked! Then i noticed i could not past in funding address....
Restarted again with hw wallet connected and not no paste works at all.....
Funny thing is DMT takes out the whole windows paste. Even in notepad paste don't work as long as DMT is running.
Went back to RC1 and everything works fine there.
Something is fishy with final version.
no paste available

v 0.9.27 produces Segmentation fault while v 0.9.26-hotfix4 runs just fine in the latest Manjaro KDE(21.0.5).

INFO:root:===========================================================================
INFO:root:Application started (v 0.9.27)
INFO:root:Environment:
INFO:root:environ({'SHELL': '/bin/bash', 'SESSION_MANAGER': 'local/manjaro-amd:@/tmp/.ICE-unix/10413,unix/manjaro-amd:/tmp/.ICE-unix/10413', 'WINDOWID': '4194311', 'COLORTERM': 'truecolor', 'XDG_SESSION_PATH': '/org/freedesktop/DisplayManager/Session1', 'LANGUAGE': '', 'LC_ADDRESS': 'el_GR.UTF-8', 'LC_NAME': 'el_GR.UTF-8', 'SHELL_SESSION_ID': 'c78e6fe5b8f040879edc818f253acc92', 'DESKTOP_SESSION': 'plasma', 'LC_MONETARY': 'el_GR.UTF-8', 'GTK_RC_FILES': '/etc/gtk/gtkrc:/home/ubuntu/.gtkrc:/home/ubuntu/.config/gtkrc', 'XCURSOR_SIZE': '24', 'EDITOR': '/usr/bin/nano', 'GTK_MODULES': 'canberra-gtk-module', 'XDG_SEAT': 'seat0', 'PWD': '/home/ubuntu/CryptoClients', 'XDG_SESSION_DESKTOP': 'KDE', 'LOGNAME': 'ubuntu', 'XDG_SESSION_TYPE': 'x11', 'XAUTHORITY': '/home/ubuntu/.Xauthority', 'MOTD_SHOWN': 'pam', 'GTK2_RC_FILES': '/etc/gtk-2.0/gtkrc:/home/ubuntu/.gtkrc-2.0:/home/ubuntu/.config/gtkrc-2.0', 'HOME': '/home/ubuntu', 'LC_PAPER': 'el_GR.UTF-8', 'LANG': 'en_US.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.Z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.jpg=01;35:.jpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.axv=01;35:.anx=01;35:.ogv=01;35:.ogx=01;35:.pdf=00;32:.ps=00;32:.txt=00;32:.patch=00;32:.diff=00;32:.log=00;32:.tex=00;32:.doc=00;32:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.axa=00;36:.oga=00;36:.spx=00;36:.xspf=00;36:', 'XDG_CURRENT_DESKTOP': 'KDE', 'KONSOLE_DBUS_SERVICE': ':1.142', 'KONSOLE_DBUS_SESSION': '/Sessions/1', 'PROFILEHOME': '', 'XDG_SEAT_PATH': '/org/freedesktop/DisplayManager/Seat0', 'KONSOLE_VERSION': '210400', 'KDE_SESSION_UID': '1000', 'XDG_SESSION_CLASS': 'user', 'TERM': 'xterm-256color', 'LC_IDENTIFICATION': 'el_GR.UTF-8', 'USER': 'ubuntu', 'COLORFGBG': '15;0', 'KDE_SESSION_VERSION': '5', 'PAM_KWALLET5_LOGIN': '/run/user/1000/kwallet5.socket', 'DISPLAY': ':0', 'SHLVL': '1', 'LC_TELEPHONE': 'el_GR.UTF-8', 'LC_MEASUREMENT': 'el_GR.UTF-8', 'XDG_VTNR': '1', 'XDG_SESSION_ID': '2', 'QT_LINUX_ACCESSIBILITY_ALWAYS_ON': '1', 'XDG_RUNTIME_DIR': '/run/user/1000', 'LC_TIME': 'el_GR.UTF-8', 'QT_AUTO_SCREEN_SCALE_FACTOR': '0', 'XCURSOR_THEME': 'breeze_cursors', 'GTK3_MODULES': 'xapp-gtk3-module', 'XDG_DATA_DIRS': '/home/ubuntu/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'KDE_FULL_SESSION': 'true', 'BROWSER': '/usr/bin/firefox', 'PATH': '/tmp/MEI9UVrik:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', 'KDE_APPLICATIONS_AS_SCOPE': '1', 'MAIL': '/var/spool/mail/ubuntu', 'LC_NUMERIC': 'el_GR.UTF-8', 'KONSOLE_DBUS_WINDOW': '/Windows/1', '': './DashMasternodeTool', 'OLDPWD': '/home/ubuntu/Desktop', 'LD_LIBRARY_PATH': '/tmp/_MEI9UVrik', 'QT_PLUGIN_PATH': '/tmp/_MEI9UVrik/PyQt5/Qt/plugins', 'QML2_IMPORT_PATH': '/tmp/_MEI9UVrik/PyQt5/Qt/qml', 'SSL_CERT_FILE': '/tmp/_MEI9UVrik/certifi/cacert.pem'})
Fontconfig warning: "/etc/fonts/fonts.conf", line 5: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/20-unhint-small-vera.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/40-nonlatin.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/45-generic.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/49-sansserif.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/51-local.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/60-generic.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/60-latin.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/65-nonlatin.conf", line 4: unknown element "description"
Fontconfig warning: FcPattern object weight does not accept value [40 210)
Segmentation fault (core dumped)

Error when trying to transfer founds from Trezor MN wallet

I am using DMT 0.9.20 under Windows 10 Pro 1803.
Trezor One is at 1.6.2 firmware.
I check server connection and HW connection (both green) :
image
I then go to Transfer founds from MN, select the transactions and select destination address, when I click Prepare Transaction I get this error message :
image
And I cannot go further, nothing is prompted on the Trezor key.
This was working with the same setup but firmware 1.6.1.

Ledger 1.4.1 update

e346b221-42b9-443d-ba72-015d8787edf4

2018-03-17 16:56:52 INFO |MainThread |main_dlg.py |setupUi |Finished setup of the main dialog.
2018-03-17 16:57:01 INFO |MainThread |main_dlg.py |connectHardwareWallet |Connecting to a hardware wallet device
2018-03-17 16:57:01 ERROR |MainThread |hw_intf_ledgernano.py |process_ledger_exceptions_int |Error while communicating with Ledger hardware wallet.
Traceback (most recent call last):
File "hw_intf_ledgernano.py", line 19, in process_ledger_exceptions_int
File "hw_intf_ledgernano.py", line 35, in connect_ledgernano
File "src\btchip-python\btchip\btchip.py", line 561, in getFirmwareVersion
File "src\btchip-python\btchip\btchipComm.py", line 113, in exchange
File "src\btchip-python\btchip\ledgerWrapper.py", line 61, in unwrapResponseAPDU
btchip.btchipException.BTChipException: Exception : Invalid sequence
2018-03-17 16:57:01 INFO |MainThread |main_dlg.py |connectHardwareWallet |Could not connect to a hardware wallet

Error startup after compile

I install win7 did every step.

When I startup the DMT I get the following error:
Failed to execute script DMT
Error:
Traceback:

Wrong MN Type

Screenshot 2023-09-03 at 08 40 00

Here is part from masternode list

`

 dash-cli masternode list | grep -A 3  65.109.95.133

"address": "65.109.95.133:9999",

"payee": "XnB91jHVC45PZT6zBMeawcPB8Zaiiu4PDz",

"status": "ENABLED",

"type": "Regular",

`

looks like the issue was appear because where I did create MN did check type between Performance and Regular and I'm seeing in the config for 65.109.95.133
platform_p2p_port = 26656
platform_http_port = 443

masternode tool can't recognise my trezor

Hi Bertrand256,

I'm a masternode owner. A few days ago I tried to move my reward out from trezor ONE by masternode tool, but masternode tool didn't recognise my trezor. I used masternode tool two or three months ago, there was no problem at that time.

I tried another trezor one and trezor T, the masternode tool also can't recognise them. My system is Windows 10. But when I tried masternode tool on my imac the trezors can be recognised.

Both masternode tool and trezor have been updated.

Could you help on that? thanks

DMT cannot connect to Trezor device

I am trying to setup a masternode using the DMT Version 9.26 hotfix 2 and updated firmware Trezor Model T, with NODE40. I keep getting “hw status; cannot connect to Trezor device.” error. NODE40 told me According to the logs, the Trezor is not being found at the USB port it’s connected to. Here are the things I tried:

  • Up to date windows 10 and with webroot v9.0

  • Closed out of trezor.io when trying to connect to DMT

  • Deleted DMT and redownloaded.

  • Restarted the computer.

  • Downloaded DMT on a different computer (Windows 10 Home)

  • Unable to connect with both USB 2 and 3.

  • No problems connecting to trezor.io

  • The last time I successfully connected was about a year ago.

Any suggestions for troubleshooting or advice is greatly appreciated. Thank you.

AttributeError: 'int' object has no attribute 'replace'

Problems encountered while processing some of the proposals data. Look into the log file for details.

2017-11-07 12:43:42 INFO |MainThread |app_config.py |init |App started
2017-11-07 12:44:25 ERROR |Dummy-1 |proposals_dlg.py |read_proposals_from_network |Error while processing proposal data. Proposal hash: fab77bf2fbbc1cf8a0eeda7769fc5324011817fe503013a7b131969ec23a2716
Traceback (most recent call last):
File "proposals_dlg.py", line 809, in read_proposals_from_network
AttributeError: 'int' object has no attribute 'replace'

"Masternode broadcast signature verification failed"

Using Trezor to host the collateral. I click "Start Masternode using Hardware Wallet" and, having confirmed 2 dialogues, got this:

Failed to start masternode.
Response from Dash daemon: Masternode broadcast signature verification failed.

However, running

$ dash-cli masternode list full 

shows my node is on the list and status being ENABLED.

One possibility is that there was already a signature - this is the 2nd time I hit 'start master node' button because the first time it didn't work (WATCHDOG EXPIRED). I fixed sentinel and tried to start again. So maybe that error comes from the fact that I was hitting "confirm" button on Trezor for signing a message the 2nd time.

Ledger Blue : Balance issue with one of my addresses

One of my Ledger Blue account addresses (a normal wallet account, where my Masternode Payments were sent to) is showing an incorrect balance (10 dash), when i connect my Ledger hardware wallet and press 'wallet'. I can't get it to show the correct balance (0 dash). I ended up hiding that specific account / address within DMT and registered a different Ledger payout address and that is working fine.

  • Below is the dmt log file that at the very end does seem to show a failure to purge a timed-out unconfirmed transaction (td_id: 1885). I copied this DMT log today after DMT was finished fetching transactions. It shows both an ERROR and a WARNING.

Most problematic in my view from below DMT log :

2024-01-09 18:16:23 INFO|dmt.bip44_wallet|Dummy-5|bip44_wallet.py|purge_transaction|Purging timed-out unconfirmed transaction (td_id: 1885).
2024-01-09 18:16:32 WARNING|dmt.bip44_wallet|Dummy-5|bip44_wallet.py|_process_addresses_txs|Balance of address 109 inconsistency. Trying to refetch transactions.

  • At the very end the DMT log mentions ' Trying to refetch transactions.' but at that time it has already finished fetching the transactions and it never refetch anything, so far i can tell. It is the last line in the log, no more lines after that.

  • Also whenever i connect my Ledger Blue and press 'wallet' it shows a 'ledgerwallet.client.CommException: Exception : Invalid status 6d00 (Unknown reason)' in the DMT log. Could be due to me using Ledger Blue or it could be unrelated, luckily this does not seem to affect DMT usage in any way.

  • I do recall having done a transaction to myself awhile back, to bundle the input amounts of my MN rewards into one input amount (less taxing on the hardware wallet, easier to sent out). Maybe DMT has been tripping over that ?

DMT log :

2024-01-09 18:15:41 INFO|root|MainThread|app_config.py|init|===========================================================================
2024-01-09 18:15:41 INFO|root|MainThread|app_config.py|init|Application started (v 0.9.38)
2024-01-09 18:15:41 INFO|root|MainThread|main_dlg.py|setupUi|Finished setup of the main dialog.
2024-01-09 18:15:44 INFO|dmt.dashd_intf|MainThread|dashd_intf.py|read_masternode_data_from_db|DB read time of 3944 MASTERNODES: 0.29827141761779785 s
2024-01-09 18:15:44 INFO|root|MainThread|app_main_view_wdg.py|refresh_net_masternodes_view|Starting thread "refresh_net_masternodes_view_thread"
2024-01-09 18:15:44 INFO|root|MainThread|app_main_view_wdg.py|refresh_network_data|Starting thread "refresh_status_thread"
2024-01-09 18:15:44 INFO|dmt.dashd_intf|Dummy-2|dashd_intf.py|open_internal|Connecting to: https://suzy.dash-masternode-tool.org:443
2024-01-09 18:15:45 INFO|dmt.dashd_intf|Dummy-1|dashd_intf.py|read_masternode_data_from_db|DB read time of 3944 MASTERNODES: 0.3793458938598633 s
2024-01-09 18:15:45 INFO|dmt.dashd_intf|Dummy-2|dashd_intf.py|get_masternodelist|Fetching protx data from the network
2024-01-09 18:15:45 INFO|root|Dummy-3|main_dlg.py|get_project_config_params_thread|Loaded the project configuration params: {'appCurrentVersion': '0.9.38', 'exeDownloads': {'mac': 'https://github.com/Bertrand256/dash-masternode-tool/releases/download/v0.9.38/DashMasternodeTool_0.9.38.mac.dmg', 'win64': 'https://github.com/Bertrand256/dash-masternode-tool/releases/download/v0.9.38/DashMasternodeTool_0.9.38.win64.zip', 'linux': 'https://github.com/Bertrand256/dash-masternode-tool/releases/download/v0.9.38/DashMasternodeTool_0.9.38.linux.tar.gz'}, 'defaultDashdProtocol': {'mainnet': 70227, 'testnet': 70227}, 'sporks': [{'name': 'SPORK_6_NEW_SIGS', 'active': {'mainnet': False, 'testnet': False}}, {'name': 'SPORK_15_DETERMINISTIC_MNS_ENABLED', 'active': {'mainnet': True, 'testnet': True}}], 'features': {'NON_DETERMINISTIC_MNS': {'mainnet': {'status': 'disabled', 'priority': 4}, 'testnet': {'status': 'disabled', 'priority': 4}}, 'DETERMINISTIC_MNS': {'mainnet': {'status': 'enabled', 'priority': 4}, 'testnet': {'status': 'enabled', 'priority': 4}}, 'REGISTER_DMN_AUTOMATIC': {'mainnet': {'status': 'enabled', 'priority': 4, 'message': ''}, 'testnet': {'status': 'enabled', 'priority': 4, 'message': ''}}, 'UPDATE_REGISTRAR_AUTOMATIC': {'mainnet': {'status': 'enabled', 'priority': 4, 'message': ''}, 'testnet': {'status': 'enabled', 'priority': 4, 'message': ''}}, 'UPDATE_SERVICE_AUTOMATIC': {'mainnet': {'status': 'enabled', 'priority': 4, 'message': ''}, 'testnet': {'status': 'enabled', 'priority': 4, 'message': ''}}, 'REVOKE_OPERATOR_AUTOMATIC': {'mainnet': {'status': 'enabled', 'priority': 4, 'message': ''}, 'testnet': {'status': 'enabled', 'priority': 4, 'message': ''}}, 'NEW_BLS_SCHEME': {'mainnet': {'status': 'enabled', 'priority': 4, 'message': ''}, 'testnet': {'status': 'enabled', 'priority': 4, 'message': ''}}}, 'params': {'voteTimeRandomOffsetMin': -720, 'voteTimeRandomOffsetMax': 60}, 'appDeveloperContact': [{'name': '674141414141426b644c38446f4a7a77494a7a6632393751396d576d687531375575344a69515f373056335a494d34784f34564d3770614b55592d4e557a6c4d38616f524f496254564b785a496f62514256496159436b55797359524d5375456b773d3d', 'userId': '674141414141426b644c7a57306f4e693154494e336e4b45666979426c4a724c556e6f69395547416d45346c4971305853782d324d75624b46644662545042665275317a4a72645a73655939577648746f43616f394c79306f576a337a6235756b673d3d', 'url': '674141414141426b644c386f593872655172747876726238485663567679776b434547625a576e4e426f686c56684a4d756a6e35476377364b61387858696b56576e66465148666b5a5338764176387673665f50394f56564c39764a346c7335626372596b346244324f5a497175476d4b62484f656a35584a4d4a6469717438646249646f654c304b7436786d5a736d384941556470644b5252314e5479673673773d3d'}, {'name': '674141414141426b644c37537476463742304a51304b772d655544586e64373671704e633274324977597465756c334c35302d57623857645a696849317a566d4f4b5f53786871487577465541733157354f365334793438634d49585f624f3544773d3d', 'userId': '674141414141426b644c7a6a716556594858304f696657614536566d712d4f32424a4b58646c347745766562646951725246534f7172556a452d784e4465516a62374d322d78766e5f73703347705a526472637377772d764b6d6931765a487850413d3d', 'url': '674141414141426b644c376d4856432d6e41534967457472667561596b6957492d6951744633366a2d456437735074326862434a777156677a6c64736d7251744757546a385a694c6a63557378523255594e494632466b667651742d584258516271377a5161594264414f734d5366574678716a7845644e2d63544368486d4e72676e5159365756672d736535444154756c34426839534e505a726d5f4c583972513d3d'}, {'name': '674141414141426b644c38363252767a3657444e674e474448636b435a7a32494b307478614c4e434c6a50704f795a5f532d747a6d6e76496a3377554a48756d44577a5745584d6f5934414262515462735835465a7074505f6a704f4441753139773d3d', 'userId': '674141414141426b644c7a423258326c597833614359594b6851553179774251386a4b56796e654365643930595f4149396f615932546c6f475a31744a4779786d7168456a782d432d36706c6474616737507177527367706c5057537a746135466d656331534a4541682d7739476f5f4147537147766b3d', 'url': '674141414141426b644c397777576846764e5048624f39574b4a55733049542d697069733973775a7a386c506654596759422d4c515269586f544876686f36434e4a765130376d38585453615932424e74706d66366c49554b55486b6e5041715349374d386c55644e33786f4c4d345f5f70744166782d5833764e787058716d7037436c76755f416d45335437774232456a48784a3242646e382d784d4c5548645f5466334e49776b64794350754264543952654a34303d'}, {'name': '674141414141426b644c3643516b334d5a453777303169734b743171325274425a4c48425572663234674157744e547850445a6252354b716c533764642d656451524e35416f50364f436f31717341646e4566484f487a5953686d493357426a62773d3d', 'userId': '674141414141426b644c614a716e77782d4d48327461474b6b724536466e616832527155526669653134756b30686745626e41564f724d4b3451567170575a56565333585f73774b435876666b576a644d537368635f625549334e49675944492d597a3955664e33596b61316a7832796b56554e5970553d', 'url': '674141414141426b644c36577a4a743041394c4f7959434a516e6b626e74665f4463756c444e364e445938766d5a6e364a6671537358414d627146545657445f47756d324f6139596f425f516275694f5442624e76616d6c4774574a5943506d3530595557674a31374e4148394356356e65415744644d3d'}, {'name': '674141414141426b644c366e5f39426855663473425a6b75706a6a59455942774444796e73505a595f7455494e616e5a4c6e4e754f46532d76362d5041414466566f516b356f50497665445269334e57596d42483136486773645a78374a5a6962673d3d', 'userId': '674141414141426b644c68465975664d5471666b5f354c627a4d774d4a5338326175756b6d354f4c74633351354a387761696e6844337947492d6371672d376a5a44456c472d5f7a7335656d386e2d723841436f6e655356354559694f56644371665473706748562d2d767a47316b525f74596d35505168376d48574147743972536a6a4854517367442d4f7a4e6a55714b37703632544753624c49495f4c694267375a52766754797338477847564e494b34385a7a413d', 'url': '674141414141426b644c362d5a34537347523635776a79517339346f524e3957434d53744a56334d6553496c35396d5538686a534355517262644b5f613336524734547a3652676e4863446e6651743079397a6a365671436556735a78396154724b6945555072524f2d59454c785234627a65316158493d'}]}
2024-01-09 18:15:45 INFO|root|Dummy-1|app_main_view_wdg.py|refresh_net_masternodes_view_thread|Masternodes read time from db: 0.38s
2024-01-09 18:15:45 INFO|root|MainThread|app_main_view_wdg.py|update_on_thread_finish|Finished thread "refresh_net_masternodes_view_thread"
2024-01-09 18:15:45 INFO|root|MainThread|app_main_view_wdg.py|apply_net_masternodes_filter|Network masternode filer time: 0.01s
2024-01-09 18:15:45 INFO|root|MainThread|app_main_view_wdg.py|update_on_thread_finish|Masternodes UI refresh time: 0.17s
2024-01-09 18:15:46 INFO|dmt.dashd_intf|Dummy-2|dashd_intf.py|get_masternodelist|Finished fetching protx data from the network
2024-01-09 18:15:46 INFO|dmt.dashd_intf|Dummy-2|dashd_intf.py|get_masternodelist|Fetching masternode data from the network
2024-01-09 18:15:46 INFO|dmt.dashd_intf|Dummy-2|dashd_intf.py|get_masternodelist|Finished fetching masternode data from the network
2024-01-09 18:15:46 INFO|dmt.dashd_intf|Dummy-2|dashd_intf.py|get_masternodelist|Finished processing masternode data
2024-01-09 18:15:47 INFO|dmt.main|Dummy-2|app_main_view_wdg.py|refresh_status_thread|fetch_mempool_txes start
2024-01-09 18:15:53 INFO|dmt.main|Dummy-2|app_main_view_wdg.py|refresh_status_thread|fetch_mempool_txes finish
2024-01-09 18:15:53 INFO|dmt.main|Dummy-2|app_main_view_wdg.py|refresh_status_thread|get address balances start
2024-01-09 18:15:53 INFO|dmt.main|Dummy-2|app_main_view_wdg.py|refresh_status_thread|get address balances finish
2024-01-09 18:15:53 INFO|root|MainThread|app_main_view_wdg.py|refresh_net_masternodes_view|Starting thread "refresh_net_masternodes_view_thread"
2024-01-09 18:15:53 INFO|dmt.dashd_intf|Dummy-4|dashd_intf.py|read_masternode_data_from_db|DB read time of 3944 MASTERNODES: 0.21219277381896973 s
2024-01-09 18:15:53 INFO|root|Dummy-4|app_main_view_wdg.py|refresh_net_masternodes_view_thread|Masternodes read time from db: 0.22s
2024-01-09 18:15:53 INFO|root|MainThread|app_main_view_wdg.py|update_on_thread_finish|Finished thread "refresh_net_masternodes_view_thread"
2024-01-09 18:15:53 INFO|root|MainThread|app_main_view_wdg.py|apply_net_masternodes_filter|Network masternode filer time: 0.01s
2024-01-09 18:15:53 INFO|root|MainThread|app_main_view_wdg.py|update_on_thread_finish|Masternodes UI refresh time: 0.02s
2024-01-09 18:16:08 ERROR|root|MainThread|hw_intf_ledgernano.py|get_device_list|Exception : Invalid status 6d00 (Unknown reason)
Traceback (most recent call last):
File "hw_intf_ledgernano.py", line 199, in get_device_list
File "ledgerwallet\client.py", line 420, in get_version_info
File "ledgerwallet\client.py", line 216, in apdu_exchange
ledgerwallet.client.CommException: Exception : Invalid status 6d00 (Unknown reason)
2024-01-09 18:16:08 INFO|root|MainThread|hw_intf_ledgernano.py|open_session|Ledger Nano connected. Firmware version: 1.4.7, specialVersion: 48, compressedKeys: False
2024-01-09 18:16:23 INFO|dmt.bip44_wallet|Dummy-5|bip44_wallet.py|purge_transaction|Purging timed-out unconfirmed transaction (td_id: 1885).
2024-01-09 18:16:32 WARNING|dmt.bip44_wallet|Dummy-5|bip44_wallet.py|_process_addresses_txs|Balance of address 109 inconsistency. Trying to refetch transactions.

No masternodes to vote with

"No masternodes to vote with" when I try to vote. The main screen has found the masternode, status ENABLED, and it has the voting address/key. I can use that voting key to vote on dashcentral.org, so it's valid. v0.9.25-hotfix2. No hardware wallet.

error giving error message for mistyped password

Note on my setup: Fedora Linux 29, x86_64, my builds of your code.

See attached screenshot. I think this happened because I mistyped the password for my Trezor twice. --probably identically-- when trying to transfer some funds. You can't see what you are typing so it is hard to tell.

"UnexpectedMessage: Unknown message"
incorrect-password-error-message-not

can't send funds

last step, "Send Transaction" gives error as follows:

An error occurred while sending transation: -8: Second argument must be numeric (maxfeerate) and no longer supports a boolean. To allow a transaction with high fees, set maxfeerate to 0.

xk nft notes that there were some RPC changes in v18, could that be the cause?

'str' object has no attribute 'decode'

I had to downgrade to version 0.9.14 because versions 15 and 16 showed me this error when trying to send my last payment:

'str' object has no attribute 'decode'

I'm using a Keepkey with firmware version 4.0

Payload missmatch

Hi,
Last night trying to start a MN was almost impossible. Had to restart multiple times and connect/disconnect ledger before it suddenly started working ....kept getting this error:
image

I try to register using allnode + DMT+ my own wallet to sign. Also it asked med multiple time to accept several addresses. Seen this happen a few times when something goes wrong.

In general DMT is pretty unstable when it comes to interacting with ledger!

DMT crash - should have prompted user for re-attempt instead

The crash happened 1 minute after user clicked "Get Status":

$ DashMasternodeTool
=========================
  File "main_dlg.py", line 1469, in on_btnRefreshMnStatus_clicked
  File "main_dlg.py", line 1406, in get_masternode_status_description
  File "dashd_intf.py", line 370, in catch_timeout_wrapper
  File "dashd_intf.py", line 942, in get_masternodelist
  File "site-packages/bitcoinrpc/authproxy.py", line 139, in __call__
  File "site-packages/bitcoinrpc/authproxy.py", line 189, in _get_response
  File "http/client.py", line 456, in read
  File "http/client.py", line 570, in _readall_chunked

The debug log really look like some communication broke down between DMT and the master node.

2018-03-09 09:59:28 DEBUG |MainThread |authproxy.py |__call__ |-2-> masternodelist ["full"]
2018-03-09 10:01:58 DEBUG |MainThread |dashd_intf.py |catch_timeout_wrapper |Released http_lock
Traceback (most recent call last):
  File "http/client.py", line 546, in _get_chunk_left
  File "http/client.py", line 513, in _read_next_chunk_size
ValueError: invalid literal for int() with base 16: b''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "http/client.py", line 563, in _readall_chunked
  File "http/client.py", line 548, in _get_chunk_left
http.client.IncompleteRead: IncompleteRead(0 bytes read)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main_dlg.py", line 1469, in on_btnRefreshMnStatus_clicked
  File "main_dlg.py", line 1406, in get_masternode_status_description
  File "dashd_intf.py", line 370, in catch_timeout_wrapper
  File "dashd_intf.py", line 942, in get_masternodelist
  File "site-packages/bitcoinrpc/authproxy.py", line 139, in __call__
  File "site-packages/bitcoinrpc/authproxy.py", line 189, in _get_response
  File "http/client.py", line 456, in read
  File "http/client.py", line 570, in _readall_chunked
http.client.IncompleteRead: IncompleteRead(228353 bytes read)
2018-03-09 10:02:09 DEBUG |MainThread |dashd_intf.py |disconnect |Disconnecting

DMT should, instead of crashing, prompt user to reconnect again.

Unknown USB interface number: -1

I'm getting "Unknown USB interface number: -1" error when trying to communicate with the KeepKey. It doesn't happen with Version 0.9.22 beta 1.
Can I register the ProRegTx masternode using the Beta version?
Thanks

Frame the message returned by master node as from the master node

Thanks for the detailed answer of #17 which helped me to address the issue on my node finally.

You said that DashMasterTool has no educational role - that is not to say it should lose clarity.

A Stop sign on the street has no educational role - it does not say that you should stop the car to a complete stop, wait for 3 seconds, see the opposite street clear, then move on. That was left to the driver training courses. A stop sign nevertheless is in big red with the word STOP on it, so an uneducated driver need to STOP to figure out what it means. It didn't, for example, give a big red circle with nothing written on it by reasoning it has no educational intention.

That being said, this issue requests the following:

that the message box of messages returned by a dash node to be framed with a hint that it is returned from the master node, so that people educate themselves by searching the node information or read node source code and not be confused with DashMasterTool own message. This can be done in one a few a few ways. The simplest (not the best) is to explain it with a caption: "node reports".

A more elaborate way is to display a local computer and a few dots connecting it to a node. The dot represents if the connection is successfully installed, therefore if there is an update message with the connection visually broken it clearly means the update needs to be done on the local side. Then, the message is displayed under the graphical representation of a node, killing the confusing that it might be a local message.

I hope I'm a graphical designer so that I can give a design help, but I would happy to close the issue if you can kindly just add the caption.

Bertrand256

Thank you for your help.

This ticket seems to be related to where I am having trouble: #35

Could you help me get the DMT to read the Trezor?

I am working with 2 accounts. 1 on my computer MacOS and a different Trezor on Windows 10. We are both having the same problem. You recommend installing the Trezor Bridge or running the DMT as administrator. Do you have any other recommendations for us?

  1. How do you run the DMT as administrator?
  2. On the Mac, I downloaded the bridge, updated Trezor firmware, and downloaded the latest version of the DMT v 9.32. I am still not seeing my Dash wallet. I hope you can see my screen-shot attached.

Screen Shot 2022-09-20 at 2 42 40 PM

KeepKey not found

Hi! After updating KeepKey to version 6.1.0, I get the message "Cannot find any Keepkey device".
Thanks
P.s. Chrome client works

UPDATE_REQUIRED but there is no update button

DashMasterTool displays "UPDATE_REQUIRED" in red colour for Status. This is what I did.

  1. I updated DashMasterTool to the latest edition (0.9.20) but the red status remains.

  2. I thought maybe it means the node's software needs to be updated. Then I updated dashd to the latest edition 0.12.3 and restarted dash node. The red status remains.

  3. Maybe the node need to update the latest blockchain? No clue this end.

  4. Maybe there is an update button? Didn't find one.

  5. Maybe I need to click the button "start masternode using hardware wallet?" But it didn't complain "RESTART_REQUIRED"

  6. Maybe it means that the information displayed in Dash Masternode Tool is outdated and I need to update it? So I clicked "Get Status" and the message remains.

Anyway, the user interface of DashMasterTool is extremely confusing. It's like meeting God. God says "it ended" then send me back to live. So what does the God mean? My life has ended? My punishment is over? The session to meet God has ended? My redemption has ended so I just need to live my life till death without damaging krama any more?

Software developers often feel like God and hope one word is all they need to communicate with users. "Update". That's it, you got what I said, update. If you don't know what UPDATE means, you probably shouldn't be running a masternode. Is that so?

Encountered invalid prevhash

Sorry Bertrand, but I encountered an error trying to transfer funds. After putting the KeepKey pin to Prepare transaction, the error appearing says "(9, 'Encountered invalid prevhash')".
I tried older versions and had the same result (0.9.20.win64 and the new 0.9.22-hotfix3.win64). Also updated my KeepKey firmware just to be sure.

I made the proRegTx some days ago so perhaps it's related to that.

Here is the log with those tries:
dmt.log

Thanks for your help.

v0.9.21 Transfer Funds/Wallet Issue with "Show next fresh address"

With a hardware wallet session established, I'm readily able to select Set label when right mousing an account on a hardware wallet. However, unable to obtain a fresh address to move funds from one account to another. Hoping to also see the same address displayed on hardware device for the Show next fresh address option. Guessing this is not so much an error as possibly the functionality may not be fully fleshed out.

Error connecting to Keepkey wallet

Running under Arch Linux, version v0.9.21 trying to connect to the Keepkey hardware wallet (e.g. by clicking the "Test Hardware Wallet Connection" button) I get an error popup:

On linux OS switching between Trezor/Keepkey wallets requires restarting the application.

Please restart the application to continue.

Console output:

ERROR:root:Exception while connecting hardware wallet
Traceback (most recent call last):
  File "main_dlg.py", line 727, in connect_hardware_wallet
  File "hw_intf.py", line 155, in connect_hw
  File "hw_intf.py", line 38, in control_trezor_keepkey_libs

I have not recently switched hw wallet types and using the same configuration, the previous version 0.9.20 connects to the hw wallet without issue.

DMT breaks windows copy/paste

Not really sure at what point this happens but i was just done registering my MN and had DMT open in main window.
Then i opened the conf file that i had saved from the last registration step. SO i open the txt file in notepad and noticed copy/paste did not work.
Tried to open the file in Notepad++ and same.
I closed DMT and copy/paste started working! So DMT does something fishy....
I had this exact issue on previous beta i believe.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.