Documentation
¶
Overview ¶
cjdcoind is a full-node bitcoin implementation written in Go.
The default options are sane for most users. This means cjdcoind will work 'out of the box' for most users. However, there are also a wide variety of flags that can be used to control it.
The following section provides a usage overview which enumerates the flags. An interesting point to note is that the long form of all of these options (except -C) can be specified in a configuration file that is automatically parsed when cjdcoind starts up. By default, the configuration file is located at ~/.cjdcoind/cjdcoind.conf on POSIX-style operating systems and %LOCALAPPDATA%\cjdcoind\cjdcoind.conf on Windows. The -C (--configfile) flag, as shown below, can be used to override this location.
Usage:
cjdcoind [OPTIONS]
Application Options:
-V, --version Display version information and exit
-C, --configfile= Path to configuration file
-b, --datadir= Directory to store data
--logdir= Directory to log output.
-a, --addpeer= Add a peer to connect with at startup
--connect= Connect only to the specified peers at startup
--nolisten Disable listening for incoming connections -- NOTE:
Listening is automatically disabled if the --connect
option is used without also specifying listening
interfaces via --listen
--listen= Add an interface/port to listen for connections
(default all interfaces port: 8333, testnet: 18333)
--maxpeers= Max number of inbound and outbound peers (125)
--nobanning Disable banning of misbehaving peers
--banduration= How long to ban misbehaving peers. Valid time units
are {s, m, h}. Minimum 1 second (24h0m0s)
--banthreshold= Maximum allowed ban score before disconnecting and
banning misbehaving peers.
--whitelist= Add an IP network or IP that will not be banned.
(eg. 192.168.1.0/24 or ::1)
-u, --rpcuser= Username for RPC connections
-P, --rpcpass= Password for RPC connections
--rpclimituser= Username for limited RPC connections
--rpclimitpass= Password for limited RPC connections
--rpclisten= Add an interface/port to listen for RPC connections
(default port: 8334, testnet: 18334)
--rpccert= File containing the certificate file
--rpckey= File containing the certificate key
--rpcmaxclients= Max number of RPC clients for standard connections
(10)
--rpcmaxwebsockets= Max number of RPC websocket connections (25)
--rpcquirks Mirror some JSON-RPC quirks of Bitcoin Core -- NOTE:
Discouraged unless interoperability issues need to
be worked around
--norpc Disable built-in RPC server -- NOTE: The RPC server
is disabled by default if no rpcuser/rpcpass or
rpclimituser/rpclimitpass is specified
--notls Disable TLS for the RPC server -- NOTE: This is only
allowed if the RPC server is bound to localhost
--nodnsseed Disable DNS seeding for peers
--externalip= Add an ip to the list of local addresses we claim to
listen on to peers
--homedir= Creates this directory at startup
--testnet Use the test network
--regtest Use the regression test network
--simnet Use the simulation test network
--addcheckpoint= Add a custom checkpoint. Format: '<height>:<hash>'
--nocheckpoints Disable built-in checkpoints. Don't do this unless
you know what you're doing.
--uacomment= Comment to add to the user agent --
See BIP 14 for more information.
--dbtype= Database backend to use for the Block Chain (ffldb)
--profile= Enable HTTP profiling on given port -- NOTE port
must be between 1024 and 65536
--cpuprofile= Write CPU profile to the specified file
-d, --debuglevel= Logging level for all subsystems {trace, debug,
info, warn, error, critical} -- You may also specify
<subsystem>=<level>,<subsystem2>=<level>,... to set
the log level for individual subsystems -- Use show
to list available subsystems (info)
--upnp Use UPnP to map our listening port outside of NAT
--minrelaytxfee= The minimum transaction fee in BTC/kB to be
considered a non-zero fee.
--limitfreerelay= Limit relay of transactions with no transaction fee
to the given amount in thousands of bytes per
minute (15)
--norelaypriority Do not require free or low-fee transactions to have
high priority for relaying
--maxorphantx= Max number of orphan transactions to keep in memory
(100)
--generate Generate (mine) bitcoins using the CPU
--miningaddr= Add the specified payment address to the list of
addresses to use for generated blocks -- At least
one address is required if the generate option is
set
--blockminsize= Mininum block size in bytes to be used when creating
a block
--blockmaxsize= Maximum block size in bytes to be used when creating
a block (750000)
--blockprioritysize= Size in bytes for high-priority/low-fee transactions
when creating a block (50000)
--nopeerbloomfilters Disable bloom filtering support.
--nocfilters Disable committed filtering (CF) support.
--sigcachemaxsize= The maximum number of entries in the signature
verification cache.
--blocksonly Do not accept transactions from remote peers.
--relaynonstd Relay non-standard transactions regardless of the
default settings for the active network.
--rejectnonstd Reject non-standard transactions regardless of the
default settings for the active network.
Help Options:
-h, --help Show this help message
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package addrmgr implements a concurrently-safe Bitcoin address manager.
|
Package addrmgr implements a concurrently-safe Bitcoin address manager. |
|
Package blockchain implements bitcoin block handling and chain selection rules.
|
Package blockchain implements bitcoin block handling and chain selection rules. |
|
fullblocktests
Package fullblocktests provides a set of block consensus validation tests.
|
Package fullblocktests provides a set of block consensus validation tests. |
|
indexers
Package indexers implements optional block chain indexes.
|
Package indexers implements optional block chain indexes. |
|
Package btcec implements support for the elliptic curves needed for bitcoin.
|
Package btcec implements support for the elliptic curves needed for bitcoin. |
|
Package btcjson provides primitives for working with the bitcoin JSON-RPC API.
|
Package btcjson provides primitives for working with the bitcoin JSON-RPC API. |
|
Package btcutil provides bitcoin-specific convenience functions and types.
|
Package btcutil provides bitcoin-specific convenience functions and types. |
|
base58
Package base58 provides an API for working with modified base58 and Base58Check encodings.
|
Package base58 provides an API for working with modified base58 and Base58Check encodings. |
|
bech32
Package bech32 provides a Go implementation of the bech32 format specified in BIP 173.
|
Package bech32 provides a Go implementation of the bech32 format specified in BIP 173. |
|
gcs
Package gcs provides an API for building and using a Golomb-coded set filter.
|
Package gcs provides an API for building and using a Golomb-coded set filter. |
|
hdkeychain
Package hdkeychain provides an API for bitcoin hierarchical deterministic extended keys (BIP0032).
|
Package hdkeychain provides an API for bitcoin hierarchical deterministic extended keys (BIP0032). |
|
psbt
Package psbt is an implementation of Partially Signed Bitcoin Transactions (PSBT).
|
Package psbt is an implementation of Partially Signed Bitcoin Transactions (PSBT). |
|
txsort
Package txsort provides the transaction sorting according to BIP 69.
|
Package txsort provides the transaction sorting according to BIP 69. |
|
Package chaincfg defines chain configuration parameters.
|
Package chaincfg defines chain configuration parameters. |
|
chainhash
Package chainhash provides abstracted hash functionality.
|
Package chainhash provides abstracted hash functionality. |
|
globalcfg
Package globalcfg contains configuration which must be available anywhere in the project, do not import anything which is part of cjdcoind.
|
Package globalcfg contains configuration which must be available anywhere in the project, do not import anything which is part of cjdcoind. |
|
cjdcoinlog
|
|
|
cmd/dropwtxmgr
command
|
|
|
cmd/wallettool
command
|
|
|
internal/helpers
Package helpers provides convenience functions to simplify wallet code.
|
Package helpers provides convenience functions to simplify wallet code. |
|
internal/zero
Package zero contains functions to clear data from byte slices and multi-precision integers.
|
Package zero contains functions to clear data from byte slices and multi-precision integers. |
|
waddrmgr
Package waddrmgr provides a secure hierarchical deterministic wallet address manager.
|
Package waddrmgr provides a secure hierarchical deterministic wallet address manager. |
|
wallet
Package wallet provides ...
|
Package wallet provides ... |
|
wallet/txauthor
Package txauthor provides transaction creation code for wallets.
|
Package txauthor provides transaction creation code for wallets. |
|
wallet/txrules
Package txrules provides transaction rules that should be followed by transaction authors for wide mempool acceptance and quick mining.
|
Package txrules provides transaction rules that should be followed by transaction authors for wide mempool acceptance and quick mining. |
|
walletdb
Package walletdb provides a namespaced database interface for cjdcoinwallet.
|
Package walletdb provides a namespaced database interface for cjdcoinwallet. |
|
walletdb/bdb
Package bdb implements an instance of walletdb that uses boltdb for the backing datastore.
|
Package bdb implements an instance of walletdb that uses boltdb for the backing datastore. |
|
walletdb/walletdbtest
Package walletdbtest provides exported tests that can be imported and consumed by walletdb driver tests to help ensure that drivers confirm to the database driver interface correctly.
|
Package walletdbtest provides exported tests that can be imported and consumed by walletdb driver tests to help ensure that drivers confirm to the database driver interface correctly. |
|
wtxmgr
Package wtxmgr provides an implementation of a transaction database handling spend tracking for a bitcoin wallet.
|
Package wtxmgr provides an implementation of a transaction database handling spend tracking for a bitcoin wallet. |
|
cmd
|
|
|
checksig
command
|
|
|
cjdcoinctl
command
|
|
|
compact2big
command
|
|
|
gencerts
command
|
|
|
tar2work
command
|
|
|
Package connmgr implements a generic Bitcoin network connection manager.
|
Package connmgr implements a generic Bitcoin network connection manager. |
|
contrib
|
|
|
build
command
|
|
|
Package database provides a block and metadata storage database.
|
Package database provides a block and metadata storage database. |
|
ffldb
Package ffldb implements a driver for the database package that uses leveldb for the backing metadata and flat files for block storage.
|
Package ffldb implements a driver for the database package that uses leveldb for the backing metadata and flat files for block storage. |
|
internal/treap
Package treap implements a treap data structure that is used to hold ordered key/value pairs using a combination of binary search tree and heap semantics.
|
Package treap implements a treap data structure that is used to hold ordered key/value pairs using a combination of binary search tree and heap semantics. |
|
goleveldb
|
|
|
leveldb
Package leveldb provides implementation of LevelDB key/value database.
|
Package leveldb provides implementation of LevelDB key/value database. |
|
leveldb/cache
Package cache provides interface and implementation of a cache algorithms.
|
Package cache provides interface and implementation of a cache algorithms. |
|
leveldb/comparer
Package comparer provides interface and implementation for ordering sets of data.
|
Package comparer provides interface and implementation for ordering sets of data. |
|
leveldb/errors
Package errors provides common error types used throughout leveldb.
|
Package errors provides common error types used throughout leveldb. |
|
leveldb/filter
Package filter provides interface and implementation of probabilistic data structure.
|
Package filter provides interface and implementation of probabilistic data structure. |
|
leveldb/iterator
Package iterator provides interface and implementation to traverse over contents of a database.
|
Package iterator provides interface and implementation to traverse over contents of a database. |
|
leveldb/journal
Package journal reads and writes sequences of journals.
|
Package journal reads and writes sequences of journals. |
|
leveldb/memdb
Package memdb provides in-memory key/value database implementation.
|
Package memdb provides in-memory key/value database implementation. |
|
leveldb/opt
Package opt provides sets of options used by LevelDB.
|
Package opt provides sets of options used by LevelDB. |
|
leveldb/storage
Package storage provides storage abstraction for LevelDB.
|
Package storage provides storage abstraction for LevelDB. |
|
leveldb/table
Package table allows read and write sorted key/value.
|
Package table allows read and write sorted key/value. |
|
leveldb/util
Package util provides utilities used throughout leveldb.
|
Package util provides utilities used throughout leveldb. |
|
manualtest/dbstress
command
|
|
|
manualtest/filelock
command
|
|
|
rpctest
Package rpctest provides a cjdcoind-specific RPC testing harness crafting and executing integration tests by driving a `cjdcoind` instance via the `RPC` interface.
|
Package rpctest provides a cjdcoind-specific RPC testing harness crafting and executing integration tests by driving a `cjdcoind` instance via the `RPC` interface. |
|
cmd
command
|
|
|
chanfitness
Package chanfitness monitors the behaviour of channels to provide insight into the health and performance of a channel.
|
Package chanfitness monitors the behaviour of channels to provide insight into the health and performance of a channel. |
|
cmd/lncli
command
|
|
|
cmd/lnd
command
|
|
|
healthcheck
Package healthcheck contains a monitor which takes a set of liveliness checks which it periodically checks.
|
Package healthcheck contains a monitor which takes a set of liveliness checks which it periodically checks. |
|
labels
Package labels contains labels used to label transactions broadcast by lnd.
|
Package labels contains labels used to label transactions broadcast by lnd. |
|
lnrpc
Package lnrpc is a reverse proxy.
|
Package lnrpc is a reverse proxy. |
|
lnrpc/autopilotrpc
Package autopilotrpc is a reverse proxy.
|
Package autopilotrpc is a reverse proxy. |
|
lnrpc/chainrpc
Package chainrpc is a reverse proxy.
|
Package chainrpc is a reverse proxy. |
|
lnrpc/invoicesrpc
Package invoicesrpc is a reverse proxy.
|
Package invoicesrpc is a reverse proxy. |
|
lnrpc/routerrpc
Package routerrpc is a reverse proxy.
|
Package routerrpc is a reverse proxy. |
|
lnrpc/signrpc
Package signrpc is a reverse proxy.
|
Package signrpc is a reverse proxy. |
|
lnrpc/verrpc
Package verrpc is a reverse proxy.
|
Package verrpc is a reverse proxy. |
|
lnrpc/walletrpc
Package walletrpc is a reverse proxy.
|
Package walletrpc is a reverse proxy. |
|
lnrpc/watchtowerrpc
Package watchtowerrpc is a reverse proxy.
|
Package watchtowerrpc is a reverse proxy. |
|
lnrpc/wtclientrpc
Package wtclientrpc is a reverse proxy.
|
Package wtclientrpc is a reverse proxy. |
|
lntest
Package lntest provides testing utilities for the lnd repository.
|
Package lntest provides testing utilities for the lnd repository. |
|
Package mempool provides a policy-enforced pool of unmined bitcoin transactions.
|
Package mempool provides a policy-enforced pool of unmined bitcoin transactions. |
|
Package netsync implements a concurrency safe block syncing protocol.
|
Package netsync implements a concurrency safe block syncing protocol. |
|
Package peer provides a common base for creating and managing Bitcoin network peers.
|
Package peer provides a common base for creating and managing Bitcoin network peers. |
|
Package rpcclient implements a websocket-enabled Bitcoin JSON-RPC client.
|
Package rpcclient implements a websocket-enabled Bitcoin JSON-RPC client. |
|
Package txscript implements the bitcoin transaction script language.
|
Package txscript implements the bitcoin transaction script language. |
|
Package wire implements the bitcoin wire protocol.
|
Package wire implements the bitcoin wire protocol. |