Important notice:
- Dash Core RPMs:
- EL7 and Fedora Linux 29 and older users: migrate to Fedora Linux 31 or later.
- EL8 is currently functional, but I'm not targeting that build any time soon. Fedora is stable enough, and if you use the systemd configurations I provide, nodes become near bullet proof.
- Keep current with the latest Fedora.
- Dash Masternode Tool: DMT will remain Fedora-only! except for test builds.
This document describes what is available to Fedora and EL8 Linux users seeking natively compiled Dash Core software. This document will also guide those users through the process of configuring their systems to easily install, verify, and update that software. Once configured, updating Dash Core software will be just as trivial as updating the rest of their system.
What is Dash? dash.org, official documentation
What is a Masternode? https://docs.dash.org/en/latest/masternodes/index.html
What is Fedora Linux? https://getfedora.org/
Proper packaging and repositories make installation and future upgrades trivial.
Assuming you are logging in as a normal user who has sudo
priviledges.
At the terminal command line...
# Fedora only at the moment
sudo dnf copr enable taw/dashcore-0.14 # ignore the 0.14 legacy artifact
sudo dnf install -y dashcore-client --refresh
dash-qt
Boom! Done! You should now see a Dash Core Wallet graphical application open up on your screen and a reference to it in your desktop menus.
Note that all configuration/data for the wallet will populate the ~/.dashcore/
directory.
Assumption: The commands below also assume you are logging in as a normal user
who has sudo
priviledges.
At the terminal command line...
# Fedora only at the moment
sudo dnf copr enable taw/dashcore-0.14 # ignore the 0.14 legacy artifact
sudo dnf install -y dash-masternode-tool --refresh
dash-masternode-tool
Boom! You should now see the Dash Masternode Tool graphical application open up on your screen. For more information on how to actually USE the tool, please visit https://github.com/Bertrand256/dash-masternode-tool/blob/master/README.md.
_Note that my version of the Dash Masternode Tool uses
~/.config/dmt/
as its data directory. This diverges from the default used by the raw tool from the Bertrand256 repositories. He uses ~/.dmt/. This version will fall back to~/.dmt/
if you prefer that location (i.e., just move the directory to that location and the tool will use it.. I personally consider is a reasonable choice, but less pedantically "correct".
WARNING: The data directory (see above) contains HIGHLY sensitive information. The Dash Masternode Tool as configured here tightens up the default permissions, but you should really perhaps consider backing up the ~/.config/dmt directory to a USB stick or something and deleting it locally. If you are confident that you can keep your system secure (you are probably being over-confident), then, by all means, leave it as is.
That takes some explanation. Start here: https://github.com/taw00/dashcore-rpm/tree/master/documentation
If you are interested in building your own RPM packages from source, those can be found here: https://github.com/taw00/dashcore-rpm/blob/master/README.source.md
If you are looking for Dash wallets for other platforms, those can be found here: https://www.dash.org/downloads/
Masternode Documentation: https://github.com/taw00/dashcore-rpm/tree/master/documentation
Dash Core Documentation: https://docs.dash.org/
Dash Developer Documentation: https://dash-docs.github.io/
We are going to do this at the command line from an account that has sudo
ers
access. Log into a terminal and do this...
# My system is Fedora...
sudo dnf copr enable taw/dashcore-0.14 # ignore the 0.14 legacy artifact
That's it! You are now configured to install Dash Core through your package manager.
Want to see what packages are available? Do this...
sudo dnf list|grep dashcore
You should get a nice listing of all the packages available to your linux system.
If you have configured things appropriately. Installation is truly this easy...
To install the non-graphical, command-line-only, version of the software:
dashd
: sudo dnf install dashcore-server
The operating system's package manager will automagically pull in any
dependencies, give you a list, and ask you if you are sure. You will see that
for dashcore-server
, dashcore-utils
will also be installed. It's a needed
dependency because it contains the dash-cli
command line utility.
You want the GUI wallet instead? sudo dnf install dashcore-client
Have you set up a masternode and manage your wallet via a hardware wallet
(Trezor, Ledger, or Keepkey)? Say "N"o to that installation request, run the
same command as above, but choose dash-masternode-tool
install. Note that
managing your masternode via a hardware wallet using dash-masternode-tool
is
beyond the scope of this document. Use this repo to install it, and read more
how to use it via
https://github.com/Bertrand256/dash-masternode-tool/blob/master/README.md.
YUM and DNF also automatically check to see if they packages are digitally
signed appropriately and if the files are corrupt. Fancy! If you are familiar
with apt-get
, it's more or less the same thing if someone built similar
packages for Ubuntu.
Future upgrades...
Let's say you see in the Dash Forums that a new version of Dash Core was released. You want your system updated as soon as possible. It's now trivial. Just do this...
sudo dnf upgrade
And then after the refreshed packages were updated, restart the wallet or
dashd
. Please note that for SOME major upgrades, more actions may have to be
taken for example, a masternode going from 0.12 to 0.13 required a masternode
restart (protocol change from 70210 to 70213). 0.13 to 0.14 to 0.15 and then to
0.16 did not need a masternode restart. A server restart, yes; a masternode restart no.
Send comments or feedback to [email protected]
-
dash-masternode-tool -- A graphical desktop application that enables masternode owners to manage their masternode collateral from a hardware wallet like Trezor, Keepkey, or Ledger.
Note that all "dashcore" applications are representative Dash Core reference implementations of their respective areas of functionality.
-
dashcore-client -- dash-qt, a graphical desktop wallet application and full node.
-
dashcore-utils -- dash-cli, a utility to communicate with and control a Dash server via its RPC protocol, and dash-tx, a utility to create custom Dash transactions.
-
dashcore-server -- dashd, a peer-to-peer node and wallet server. It is the command line installation without a GUI. It can be used as a commandline wallet but is typically used to run a Dash Masternode (runs ideally as a serviced daemon). Requires
dashcore-utils
to be installed as well. -
dashcore-libs -- provides libbitcoinconsensus, which is used by third party applications to verify scripts (and other functionality in the future).
-
dashcore-devel -- provides the libraries and header files necessary to compile programs which use libdashconsensus. Requires
dashcore-libs
to be installed as well. -
dashcore-[version info].src.rpm -- The source code -- the source RPM, or SRPM. You want to build binaries for your RPM-based linux distribution? Use this source RPM to do so easily.
-
dashcore-debuginfo -- debug information for package dashcore. Debug information is useful when developing applications that use this package or when debugging this package. (99.999% of you do not need to install this)
Got a dash of feedback? Send it my way: https://keybase.io/toddwarner