Interacting with the network

Use the X-Cash Daemon (xcashd) to create a node, sync the blockchain and relay transactions.

Overview

Syncing the blockchain

The X-Cash daemon xcashd keeps your computer synced up with the X-Cash network.

It downloads and validates the blockchain from the other nodes.

About privacy and best practices

xcashd is entirely decoupled from your wallet.

xcashd does not access your private keys and therefore doesn't know your transactions and balance.

This means that you can run xcashdon a separate computer or in the cloud and access it remotely to retrieve/provide the data needed for wallet operations.

In practice, you can connect to a remotexcashdinstance provided by a semi-trusted 3rd party. Such 3rd party will not be able to steal your funds as all transactions are signed locally.

However, there are privacy and reliability implications when using a remote, untrusted node. For any real business we recommend running your own full node.

To provide a better reliability and trust, the team has setup a several public remote nodes across different locations:

Syntax

./xcashd [options] [command]

Options define how the daemon should be working and are optional. Their names follow the --option-name convention.

Commands give access to specific services provided by the daemon. Commands are executed against the running daemon. Their names follow the command_name convention.

Running

Go to directory where you unpacked X-Cash.

For learning and experimentation, you should stick to the testnet to avoid any wrong manipulation.

./xcashd --stagenet --detach                # run as a daemon in background
./xcashd --stagenet exit                    # ask daemon to exit gracefully

By default, the daemon connects to the mainnet. If you want to use real XCASH there is no need to add a specific argument.

./xcashd --detach                           # run as a daemon in background
./xcashd exit                               # ask daemon to exit gracefully

Options

Options define how the daemon should be working. Their names follow the --option-nameconvention.

The following groups are only to make reference easier to follow. The daemon itself does not group options in any way.

Help and version

Pick network

Logging

Server

xcashd defaults are adjusted for running it occasionally on the same computer as your X-Cash wallet.

The following options will be helpful if you intend to have an always running node — most likely on a remote server or your own separate PC.

The following options define how your node participates in X-Cash peer-to-peer network. This is for node-to-node communication. The following options do not affect wallet-to-node interface.

The node and peer words are used interchangeably.

Node RPC API

xcashd node offers a powerful API. It serves 3 purposes:

  • provides network data (stats, blocks, transactions, ...)

  • provides local node information (peer list, hash rate if mining, ...)

  • provides interface for wallets (send transactions, ...)

This API is typically referred to as "RPC" because it is mostly based on JSON/RPC standard.

The following options define how the API behaves.

Accepting X-Cash

These are network notifications offered by xcashd. There are also wallet notifications like --tx-notify offered by xcashd-wallet-rpc here.

Performance

These are advanced options that allow you to optimize performance of your xcashd node, sometimes at the expense of reliability.

Mining

Mining functions will not work anymore under X-Cash 2.0

The following options configure solo mining using CPU with the standard software stack xcashd. This is mostly useful for:

  • generating your stagenet or testnet coins

  • experimentation and learning

  • if you have super cheap access to vast CPU resources

Be advised though that real mining happens in pools and with high-end GPU-s instead of CPU-s. Note: On block 281000, X-Cash switched to Cryptonight HeavyX algorithm which is ASIC and NiceHash resistant.

Testing X-Cash

These options are useful for X-Cash project developers and testers. Normal users shouldn't be concerned with these.

Legacy

These options should no longer be necessary but are still present in xcashd for backwards compatibility.

Commands

Commands give access to specific services provided by the daemon. Commands are executed against the running daemon. Their names follow the command_name convention.

The following groups are only to make reference easier to follow. The daemon itself does not group commands in any way.

See running for example usage. You can also type commands directly in the console of the running xcashd (if not detached).

Help, version, status

P2P network

Transaction pool

Transactions

Blockchain

Manage daemon

Mining

Mining functions will not work anymore under X-Cash 2.0

Testing

Legacy

Last updated