Skip to content
Last update: January 4, 2022

GoQuorum command line options

This reference describes the syntax of the GoQuorum command line interface (CLI) options.

Important

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:

Options

allowedfutureblocktime

--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

--emitcheckpoints

If included, emits specially formatted logging checkpoints.

immutabilitythreshold

--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.

istanbul.blockperiod

--istanbul.blockperiod <INTEGER>
--istanbul.blockperiod 5

Minimum time between two consecutive IBFT or QBFT blocks’ timestamps in seconds. Setting the block period determines how quickly blocks should be minted by the validators. The default is 1.

Warning

Do not update this value after starting the network because this option is used by nodes to validate block times.

istanbul.requesttimeout

--istanbul.requesttimeout <INTEGER>
--istanbul.requesttimeout 12000

Minimum request timeout for each IBFT or QBFT round in milliseconds. The request timeout is the timeout at which IBFT triggers a new round if the previous one did not complete. This period increases as the timeout is hit more often.

The default is 10000.

multitenancy

--multitenancy
--multitenancy

Enables multi-tenancy. This requires the JSON-RPC Security plugin to also be configured.

override.istanbul

--override.istanbul <INTEGER>
--override.istanbul 100

Custom fork block when using IBFT or QBFT consensus. The default is 0.

permissioned

--permissioned
--permissioned

Enables basic network permissioning. The node allows only a defined list of nodes to connect.

plugins

--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

--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

--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

--plugins.skipverify

If included, disables the plugin verification process.

privacymarker.enable

--privacymarker.enable

If included, GoQuorum creates a privacy marker transaction when a private transaction is submitted.

ptm.dialtimeout

--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

--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

--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

--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

--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

--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

--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

--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

--ptm.tls.insecureskipverify

If included, disables verification of the server’s TLS certificate on connection to private transaction manager.

ptm.tls.mode

--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

--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

--ptm.url <URL>
---ptm.url "https://127.0.0.1:9101"

URL when using an HTTP/HTTPS connection to the private transaction manager.

raft

--raft
--raft

Enables Raft for consensus.

raftblocktime

--raftblocktime <INTEGER>
--raftblocktime 100

Time between Raft block creations in milliseconds. The default is 50.

raftdnsenable

--raftdnsenable
--raftdnsenable

Enables DNS resolution of peers.

raftjoinexisting

--raftjoinexisting <INTEGER>
--raftjoinexisting 1

Raft ID to assume when joining a pre-existing cluster. The default is 0.

raftlogdir

--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

--raftport <PORT>
--raftport 50500

Port to bind for the Raft transport. The default is 50400.

revertreason

--revertreason
--revertreason

Enables including the revert reason in the eth_getTransactionReceipt response.

rpcclitls.cacert

--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

--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

--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

--rpcclitls.insecureskipverify

If included, disables verification of the server’s TLS certificate when using a secured GoQuorum node connection.

rpcclitoken

--rpcclitoken <STRING>
--rpcclitoken "AYjcyMzY3ZDhiNmJkNTY"

JSON-RPC client access token when using a secured GoQuorum node connection.

vm.calltimeout

--vm.calltimeout <INTEGER>
--vm.calltimeout 2

Timeout in seconds when executing eth_call. The default is 5.

Back to top