GoQuorum command line options
This reference describes the syntax of the GoQuorum command line interface (CLI) options.
GoQuorum is based on the Geth Go Ethereum client but only the GoQuorum-specific CLI options are listed here.
Visit the Go Ethereum documentation to view the CLI options for the geth
command.
Specifying options
You can specify GoQuorum options:
-
On the command line.
geth [OPTIONS]
-
In a configuration file.
Options
allowedfutureblocktime
- Syntax
- Example
--allowedfutureblocktime <INTEGER>
--allowedfutureblocktime 1
Maximum time from current time allowed for blocks before they're considered future blocks, in seconds. This allows nodes to be slightly out of sync without receiving "Mining too far in the future" messages. The default is 0.
emitcheckpoints
- Syntax
--emitcheckpoints
If included, emits specially formatted logging checkpoints.
immutabilitythreshold
- Syntax
- Example
--immutabilitythreshold <INTEGER>
--immutabilitythreshold 1000000
Overrides the default immutability threshold for GoQuorum nodes. Blocks below the immutability threshold are moved to the ancient
data folder. The default is 3162240.
multitenancy
- Syntax
- Example
--multitenancy
--multitenancy
Enables multi-tenancy. This requires the JSON-RPC Security plugin to also be configured.
override.istanbul
- Syntax
- Example
--override.istanbul <INTEGER>
--override.istanbul 100
Custom fork block when using IBFT or QBFT consensus. The default is 0.
permissioned
- Syntax
- Example
--permissioned
--permissioned
Enables basic network permissioning. The node allows only a defined list of nodes to connect.
plugins
- Syntax
- Example
--plugins file:///<path>/<to>/plugins.json
--plugins file:///opt/geth/plugins.json
URI of the plugins settings JSON file. Use this to configure plugins.
plugins.localverify
- Syntax
--plugins.localverify
If included, verifies plugin integrity from the local file system. This requires a plugin signature file and PGP public key file to be available.
plugins.publickey
- Syntax
- Example
--plugins.publickey file:///<path>/<to>/<publicKeyFile>
--plugins.publickey file:///opt/geth/pubkey.pgp.asc
URI of the PGP public key for local plugin verification. This option is only valid if --plugins.localverify
is set.
plugins.skipverify
- Syntax
--plugins.skipverify
If included, disables the plugin verification process.
privacymarker.enable
- Syntax
--privacymarker.enable
If included, GoQuorum creates a privacy marker transaction when a private transaction is submitted.
ptm.dialtimeout
- Syntax
- Example
--ptm.dialtimeout <INTEGER>
---ptm.dialtimeout 0
Dial timeout in seconds for the private transaction manager connection. Setting to 0 disables the timeout. The default is 1 second.
ptm.http.idletimeout
- Syntax
- Example
--ptm.http.idletimeout <INTEGER>
---ptm.http.idletimeout 0
Idle timeout in seconds for the private transaction manager connection. Setting to 0 disables the timeout. The default is 10 seconds.
ptm.http.readbuffersize
- Syntax
- Example
--ptm.http.readbuffersize <INTEGER>
---ptm.http.readbuffersize 0
Size of the read buffer in bytes for the private transaction manager connection. Setting to 0 or not specifying uses the http.Transport
default.
ptm.http.writebuffersize
- Syntax
- Example
--ptm.http.writebuffersize <INTEGER>
---ptm.http.writebuffersize 0
Size of the write buffer in bytes for the private transaction manager connection. Setting to 0 or not specifying uses the http.Transport
default.
ptm.socket
- Syntax
- Example
--ptm.socket <path>/<to>/<ipc>/<file>
---ptm.socket qdata/c1/tm.ipc
Path to the IPC file when using a Unix domain socket for the private transaction manager connection.
ptm.timeout
- Syntax
- Example
--ptm.timeout <INTEGER>
---ptm.timeout 0
Timeout in seconds for communication over the private transaction manager connection. Setting to 0 disables the timeout. The default is 5 seconds.
ptm.tls.clientcert
- Syntax
- Example
--ptm.tls.clientcert <path>/<to>/<client_cert_pem_file>
---ptm.tls.clientcert client.cert.pem
Path to the file containing the client certificate (or chain of certificates) when using a TLS connection to the private transaction manager. This is required if the server is configured to use two-way authentication.
ptm.tls.clientkey
- Syntax
- Example
--ptm.tls.clientkey <path>/<to>/<client_key_pem_file>
---ptm.tls.clientkey client.key.pem
Path to the file containing the client's private key when using a TLS connection to private transaction manager. This is required if the server is configured to use two-way authentication.
ptm.tls.insecureskipverify
- Syntax
--ptm.tls.insecureskipverify
If included, disables verification of the server's TLS certificate on connection to private transaction manager.
ptm.tls.mode
- Syntax
- Example
--ptm.tls.mode <STRING>
---ptm.tls.mode "strict"
Setting to off
disables TLS. Setting to strict
enables TLS when using an HTTPS connection to the private transaction manager.
ptm.tls.rootca
- Syntax
- Example
--ptm.tls.rootca <path>/<to>/<rootca_pem_file>
---ptm.tls.rootca certfile.pem
Path to the file containing the root CA certificate when using a TLS connection to the private transaction manager. The default is the host's certificates.
ptm.url
- Syntax
- Example
--ptm.url <URL>
---ptm.url "https://127.0.0.1:9101"
URL when using an HTTP/HTTPS connection to the private transaction manager.
qlight.client
- Syntax
--qlight.client
Enables the qlight client P2P protocol.
qlight.client.psi
- Syntax
- Example
--qlight.client.psi <STRING>
--qlight.client.psi "private"
PSI the qlight client uses to connect to a server node. The default is private
.
qlight.client.rpc.tls
- Syntax
--qlight.client.rpc.tls
Enables the qlight client RPC connection to use TLS.
qlight.client.rpc.tls.cacert
- Syntax
- Example
--qlight.client.rpc.tls.cacert <path>/<to>/<client-RPC certicate-auth-file>
--qlight.client.rpc.tls.cacert certfile.pem
Path to the qlight client RPC client certificate authority file.
qlight.client.rpc.tls.cert
- Syntax
- Example
--qlight.client.rpc.tls.cert <path>/<to>/<client-RPC-client-certificate-file>
--qlight.client.rpc.tls.cert certfile.pem
Path to the qlight client RPC client certificate file.
qlight.client.rpc.tls.insecureskipverify
- Syntax
--qlight.client.rpc.tls.insecureskipverify
Enables the qlight client RPC connection to skip TLS verification.
qlight.client.rpc.tls.key
- Syntax
- Example
--qlight.client.rpc.tls.key <path>/<to>/<client_TLS_key_pem_file>
--qlight.client.rpc.tls.key client.TLS.key.pem
Path to the qlight client RPC client certificate private key.
qlight.client.serverNode
- Syntax
- Example
--qlight.client.serverNode <nodeID>
--qlight.client.serverNode 0xc35c3...d615f
The node ID of the target server node.
qlight.client.serverNodeRPC
- Syntax
- Example
--qlight.client.serverNodeRPC <URL>
--qlight.client.serverNodeRPC "http://127.0.0.1:8888"
The RPC URL of the target server node.
qlight.client.token.enabled
- Syntax
--qlight.client.token.enabled
Enables the client to use a token when connecting to the qlight server.
qlight.client.token.management
- Syntax
- Example
--qlight.client.token.management <string>
--qlight.client.token.management "none"
Mechanism used to refresh the token. Possible values:
none
- Developer mode. The token is not refreshed.external
- You must update the refreshed token in the running qlight client process by invoking theqlight.setCurrentToken
RPC API.client-security-plugin
- You must deploy the client security plugin, which periodically refreshes the access token.
qlight.client.token.value
- Syntax
- Example
--qlight.client.token.value <TOKEN>
--qlight.client.token.value "bearer AYjcyMzY3ZDhiNmJkNTY"
Token the qlight client uses to connect to a server node.
qlight.server
- Syntax
--qlight.server
Enables the qlight server P2P protocol.
qlight.server.p2p.maxpeers
- Syntax
- Example
--qlight.server.p2p.maxpeers <INTEGER>
--qlight.server.p2p.maxpeers 10
Maximum number of qlight peers. The default is 10.
qlight.server.p2p.netrestrict
- Syntax
- Example
--qlight.server.p2p.netrestrict <NETWORK MASK>
--qlight.server.p2p.netrestrict "xyz"
Restricts network communication to the given IP networks (CIDR masks).
qlight.server.p2p.permissioning
- Syntax
--qlight.server.p2p.permissioning
Enables the qlight peers to check against a permissioned list and a disallowed list.
qlight.server.p2p.permissioning.prefix
- Syntax
- Example
--qlight.server.p2p.permissioning.prefix <prefix>
--qlight.server.p2p.permissioning.prefix "qlight"
Prefix for the permissioned-nodes.json
and disallowed-nodes.json
files specific for the qlight server to distinguish from other permissioned nodes. File format is the prefix name, followed by a hyphen, followed by the default file name. For example, qlight-permissioned-nodes.json
.
qlight.server.p2p.port
- Syntax
- Example
--qlight.server.p2p.port=<INTEGER>
--qlight.server.p2p.port=30305
Port the qlight network listens to. The default is 30305.
qlight.tls
- Syntax
--qlight.tls
Enables the qlight client P2P protocol to use TLS.
qlight.tls.cacerts
- Syntax
- Example
--qlight.tls.cacerts <path>/<to>/<qlight_tls_cacert_file>
--qlight.tls.cacerts certfile.pem
Path to the certificate authorities file to use for validating P2P connection.
qlight.tls.cert
- Syntax
- Example
--qlight.tls.cert` <path>/<to>/<qlight_tls_cert_file>
--qlight.tls.cert certfile.pem
Path to the certificate file to use for the qlight P2P connection.
qlight.tls.ciphersuites
- Syntax
- Example
--qlight.tls.ciphersuites <STRING>
--qlight.tls.ciphersuites "CIPHER_SUITE_1,CIPHER_SUITE_2"
Cipher suites to use for the qlight P2P connection.
qlight.tls.clientauth
- Syntax
- Example
--qlight.tls.clientauth <INTEGER>
--qlight.tls.clientauth 0
Sets the method the client is authenticated. Possible values:
- 0=
NoClientCert
(default) - 1=
RequestClientCert
- 2=
RequireAnyClientCert
- 3=
VerifyClientCertIfGiven
- 4=
RequireAndVerifyClientCert
qlight.tls.key
- Syntax
- Example
--qlight.tls.key <path>/<to>/<qlight_tls_key_file>
--qlight.tls.key certfile.pem
Path to the key file to use for qlight P2P connection.
raft
- Syntax
- Example
--raft
--raft
Enables Raft for consensus.
raftblocktime
- Syntax
- Example
--raftblocktime <INTEGER>
--raftblocktime 100
Time between Raft block creations in milliseconds. The default is 50.
raftdnsenable
- Syntax
- Example
--raftdnsenable
--raftdnsenable
Enables DNS resolution of peers.
raftjoinexisting
- Syntax
- Example
--raftjoinexisting <INTEGER>
--raftjoinexisting 1
Raft ID to assume when joining a pre-existing cluster. The default is 0.
raftlogdir
- Syntax
- Example
--raftlogdir <DIRECTORY>
--raftlogdir raftlogdir
Raft log directory used for the quorum-raft-state
, raft-snap
, and raft-wal
folders. Defaults to the datadir
option.
raftport
- Syntax
- Example
--raftport <PORT>
--raftport 50500
Port to bind for the Raft transport. The default is 50400.
revertreason
- Syntax
- Example
--revertreason
--revertreason
Enables including the revert reason in the eth_getTransactionReceipt
response.
rpcclitls.cacert
- Syntax
- Example
--rpcclitls.cacert <path>/<to>/<TLS-CA-pem-file>
--rpcclitls.cacert certfile.pem
Path to the file containing the CA certificate for the server's TLS certificate when using a secured GoQuorum node connection.
rpcclitls.cert
- Syntax
- Example
--rpcclitls.cert <path>/<to>/<TLS-pem-file>
--rpcclitls.cert certfile.pem
Path to the file containing the server's TLS certificate when using a secured GoQuorum node connection.
rpcclitls.ciphersuites
- Syntax
- Example
--rpcclitls.ciphersuites <STRING>
--rpcclitls.ciphersuites "CIPHER_SUITE_1,CIPHER_SUITE_2"
Comma-separated list of cipher suites to support when using a secured GoQuorum node connection.
rpcclitls.insecureskipverify
- Syntax
--rpcclitls.insecureskipverify
If included, disables verification of the server's TLS certificate when using a secured GoQuorum node connection.
rpcclitoken
- Syntax
- Example
--rpcclitoken <STRING>
--rpcclitoken "AYjcyMzY3ZDhiNmJkNTY"
JSON-RPC client access token when using a secured GoQuorum node connection.
vm.calltimeout
- Syntax
- Example
--vm.calltimeout <INTEGER>
--vm.calltimeout 2
Timeout in seconds when executing eth_call
. The default is 5.