LinuxCommandLibrary

hsd-cli

Interact with the Handshake blockchain

TLDR

Retrieve information about the current server

$ hsd-cli info
copy

Broadcast a local transaction
$ hsd-cli broadcast [transaction_hex]
copy

Retrieve a mempool snapshot
$ hsd-cli mempool
copy

View a transaction by address or hash
$ hsd-cli tx [address_or_hash]
copy

View a coin by its hash index or address
$ hsd-cli coin [hash_index_or_address]
copy

View a block by height or hash
$ hsd-cli block [height_or_hash]
copy

Reset the chain to the specified block
$ hsd-cli reset [height_or_hash]
copy

Execute an RPC command
$ hsd-cli rpc [command] [args]
copy

SYNOPSIS

hsd-cli [options] <method> [<params> ...]

PARAMETERS

-h, --help
    Display help and exit

-V, --version
    Display version information

--network=<network>
    Network type: main, testnet, simnet, regtest (default: main)

--host=<host>
    RPC server host (default: 127.0.0.1)

--port=<port>
    RPC server port (default: 18556)

--pass=<pass>
    RPC password for basic auth

--cookie=<path>
    Path to cookie auth file

--no-wallet
    Disable wallet connection

--wallet=<wallet>
    Connect to specific wallet ID

--id=<id>
    JSON-RPC id (default: 1)

--array
    Treat params as JSON array

--watch
    Watch for events (streaming)

DESCRIPTION

The hsd-cli command provides a command-line interface to interact with the Handshake Daemon (hsd), a full-node implementation of the Handshake protocol for decentralized public key infrastructure (PKI). Handshake aims to replace centralized certificate authorities with a decentralized naming system using blockchain technology.

Use hsd-cli to send JSON-RPC requests to a running hsd instance, querying blockchain info, managing names, wallets, and transactions. It supports networks like mainnet, testnet, simnet, and regtest. Authentication uses HTTP basic auth or cookie files for secure wallet access.

Common operations include retrieving node status (getinfo), name records (getname), auction data (getauctioninfo), and wallet functions like sending bids or transfers. It's essential for developers, node operators, and users managing Handshake names without a full GUI.

CAVEATS

Requires a running hsd daemon with RPC enabled. Default auth may expose wallets—use cookie files in production. Methods vary by network and wallet state; not all bitcoin-cli equivalents exist.

EXAMPLES

hsd-cli getinfo
hsd-cli getname example
hsd-cli rpc auctioninfo namehash --array

AUTH SETUP

Enable in ~/.hsd/hsd.conf: rpcport=18556, rpchost=127.0.0.1, walletcookie=true. Cookie at ~/.hsd/wallet-cookie.

HISTORY

Developed as part of the Handshake project (handshakers/hsd) launched in 2018 by early Bitcoin contributors. HSD v3+ introduced improved CLI with cookie auth and wallet support. Actively maintained for Handshake mainnet genesis in 2019.

SEE ALSO

hsd(1), bitcoin-cli(1), hs-client(1)

Copied to clipboard