Dcrctl is a command-line client for interacting with the JSON-RPC servers of dcrd and dcrwallet.
In its default configuration, dcrctl connects to dcrd's mainnet RPC port on
localhost. The --wallet and --testnet flags change these defaults to the
dcrwallet RPC port and/or testnet ports. The --rpcserver/-s flag can be used
to specify other hostnames or IP addresses of the server, and can also be used
to override the port defaults.
Dcrctl will attempt to read dcrd and dcrwallet config files for the user/password authentication. If these fields cannot be read, dcrctl must be manually configured with the correct authentication. Permanent configuration changes may be written to a config file in a platform-specific location:
- macOS:
~/Library/Application Support/Dcrctl/dcrctl.conf - Windows:
%LOCALAPPDATA%\Dcrctl\dcrctl.conf - Linux and other Unix:
~/.dcrctl/dcrctl.conf
-
Install Go 1.23 or higher version
Installation instructions can be found here: https://golang.org/doc/install. Ensure Go was installed properly and is a supported version:
$ go version $ go env GOROOT GOPATH
NOTE: if
GOROOTandGOPATHare initialized they must not be on the same path. It is recommended to add$GOPATH/binto yourPATHaccording to the Golang.org instructions. -
Build or Update dcrctl
The latest release of dcrctl may be built in a single command without cloning this repository:
$ go install decred.org/dcrctl@release-v2.0.4
Using
@masterinstead will perform a release build using the latest code from the master branch. This may be useful to execute RPC methods not yet found in the latest Decred release:$ go install decred.org/dcrctl@master
Alternatively, a development build can be performed by running
go installin a locally checked-out repository.If you want to easily access
dcrctlfrom the command-line without having to type the full path to the binary every time, ensure the bin directory rooted at the path reported bygo env GOPATHis added to your system path:- macOS: how to add binary to your PATH
- Windows: how to add binary to your PATH
- Linux and other Unix: how to add binary to your PATH
When developing either the dcrd or dcrwallet RPC servers and making
modifications to the RPC methods, you may want to build a development version of
dcrctl supporting these changes. Due to dcrctl being built around
package-global method registrations and reflection, supporting these changes
only requires building with the updated packages.
This can be easily achieved by making use of a local Go workspace that uses the
development versions of dcrd and dcrwallet as follows:
$ go work init .
$ go work use ../dcrd/rpc/jsonrpc/types ../dcrwallet
If you have any further questions you can find us at:
The integrated github issue tracker is used for this project.
dcrctl is licensed under the copyfree ISC License.