Skip to content
You are reading GoQuorum development version documentation and some displayed features may not be available in the stable release. You can switch to stable version using the version box at screen bottom.

Updated on April 29, 2021

Configure plugins

geth can load plugins from:

  • JSON file which is passed via --plugins option
  • Ethereum TOML configuration file which is passed via --config option
  "baseDir": string,
  "central": object(PluginCentralConfiguration),
  "providers": {
     <string>: object(PluginDefinition)
    BaseDir = string

        .. = .. from object(PluginCentralConfiguration)

        .. = .. from object(PluginDefinition)
Fields Description
baseDir A string indicating the local directory from where plugins are read. If empty, defaults to <datadir>/plugins.
To read from arbitrary enviroment variable (e.g: MY_BASE_DIR), provide value env://MY_BASE_DIR
central A configuration of the remote plugin central. See PluginCentralConfiguration
providers A map of the supported plugin interfaces being used (for example, helloworld), mapped to their respective plugin provider definitions (see PluginDefinition)
<string> A string constant indicates the plugin interface. E.g: helloworld.


Plugin Integrity Verification uses the GoQuorum Plugin Central Server by default. Modifying this section configures your own local plugin central for Plugin Integrity Verification:

  "baseURL": string,
  "certFingerprint": string,
  "publicKeyURI": string,
  "insecureSkipTLSVerify": bool,
  "pluginDistPathTemplate": string,
  "pluginSigPathTemplate": string
BaseURL = string
CertFingerPrint = string
PublicKeyURI = string
InsecureSkipTLSVerify = bool
PluginDistPathTemplate = string
PluginSigPathTemplate = string
Fields Description
baseURL A string indicating the remote plugin central URL (ex.
certFingerprint A string containing hex representation of the http server public key finger print
to be used for certificate pinning
publicKeyURI A string defining the location of the PGP public key
to be used to perform the signature verification
insecureSkipTLSVerify If true, do not verify the server’s certificate chain and host name
pluginDistPathTemplate A string defining the path template to the plugin distribution file.
The value is a string that is a Go text template.
The self-explanatory variables are {{.Name}}, {{.Version}}, {{.OS}} and {{.Arch}}
pluginSigPathTemplate A string defining the path template to the plugin sha256 signature file.
The value is a string that is a Go text template.
The self-explanatory variables are {{.Name}}, {{.Version}}, {{.OS}} and {{.Arch}}


Defines the plugin and its configuration

  "name": string,
  "version": string,
  "config": file/string/array/object
Name = string
Version = string
Config = file/string/array/object
Fields Description
name A string specifying the name of the plugin
version A string specifying the version of the plugin
config Value can be:
  • uri format: supports the following schemes
    • file: location of plugin config file to be read. E.g.: file:///opt/plugin.cfg
    • env: value from an environment variable. E.g.: env://MY_CONFIG_JSON
      To indicate value is a file location: append ?type=file. E.g.: env://MY_CONFIG_FILE?type=file
  • string: an arbitrary JSON string
  • array: a valid JSON array E.g.: ["1", "2", "3"]
  • object: a valid JSON object. E.g.: {"foo" : "bar"}
ConsenSys has acquired Quorum from J.P. Morgan. Please read the FAQ.
Questions or feedback? You can discuss issues and obtain free support on GoQuorum Slack channel.
For paid professional support by ConsenSys, contact us at