title: Settings - Pluggable Architecture - Smilo
geth
can load plugins from:
- JSON file which is passed via
--plugins
flag - Ethereum TOML configuration file which is passed via
--config
flag
{
"baseDir": string,
"central": object(PluginCentralConfiguration),
"providers": {
<string>: object(PluginDefinition)
}
}
" extra-class">[Node.Plugins]
BaseDir = string
[Node.Plugins.Central]
.. = .. from object(PluginCentralConfiguration)
[[Node.Plugins.Providers]]
[[Node.Plugins.Providers.<string>]]
.. = .. 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 (e.g. helloworld ), mapped to their respective plugin provider definitions (see PluginDefinition) |
<string> | A string constant indicates the plugin interface. E.g: helloworld . |
PluginCentralConfiguration
Plugin Integrity Verification uses the Smilo 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
}
" extra-class">BaseURL = string
CertFingerPrint = string
PublicKeyURI = string
InsecureSkipTLSVerify = bool
Fields | Description |
---|---|
baseURL | A string indicating the remote plugin central URL (ex.https://plugins.mycorp.com ) |
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 |
PluginDefinition
Defines the plugin and its configuration
" extra-class">{
"name": string,
"version": string,
"config": file/string/array/object
}
" extra-class">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:
|