96 lines
5.5 KiB
ReStructuredText
96 lines
5.5 KiB
ReStructuredText
![]() |
******************************
|
||
|
Configuration
|
||
|
******************************
|
||
|
|
||
|
.. _configuration:
|
||
|
|
||
|
Command line options for swarm
|
||
|
====================================
|
||
|
|
||
|
The ``swarm`` executable supports the following configuration options:
|
||
|
|
||
|
* Configuration file
|
||
|
* Environment variables
|
||
|
* Command line
|
||
|
|
||
|
Options provided via command line override options from the environment variables, which will override options in the config file. If an option is not explicitly provided, a default will be chosen.
|
||
|
|
||
|
In order to keep the set of flags and variables manageable, only a subset of all available configuration options are available via command line and environment variables. Some are only available through a TOML configuration file.
|
||
|
|
||
|
.. note:: Swarm reuses code from ethereum, specifically some p2p networking protocol and other common parts. To this end, it accepts a number of environment variables which are actually from the ``geth`` environment. Refer to the geth documentation for reference on these flags.
|
||
|
|
||
|
This is the list of flags inherited from ``geth``:
|
||
|
|
||
|
.. code-block:: none
|
||
|
|
||
|
--identity
|
||
|
--bootnodes
|
||
|
--datadir
|
||
|
--keystore
|
||
|
--port
|
||
|
--nodiscover
|
||
|
--v5disc
|
||
|
--netrestrict
|
||
|
--nodekey
|
||
|
--nodekeyhex
|
||
|
--maxpeers
|
||
|
--nat
|
||
|
--ipcdisable
|
||
|
--ipcpath
|
||
|
--password
|
||
|
|
||
|
Config File
|
||
|
=============
|
||
|
|
||
|
.. note:: ``swarm`` can be executed with the ``dumpconfig`` command, which prints a default configuration to STDOUT, and thus can be redirected to a file as a template for the config file.
|
||
|
|
||
|
A TOML configuration file is organized in sections. The below list of available configuration options is organized according to these sections. The sections correspond to `Go` modules, so need to be respected in order for file configuration to work properly. See `<https://github.com/naoina/toml>`_ for the TOML parser and encoder library for Golang, and `<https://github.com/toml-lang/toml>`_ for further information on TOML.
|
||
|
|
||
|
To run Swarm with a config file, use:
|
||
|
|
||
|
.. code-block:: shell
|
||
|
|
||
|
$ swarm --config /path/to/config/file.toml
|
||
|
|
||
|
General configuration parameters
|
||
|
================================
|
||
|
|
||
|
.. csv-table::
|
||
|
:header: "Config file", "Command-line flag", "Environment variable", "Default value", "Description"
|
||
|
:widths: 10, 5, 5, 15, 55
|
||
|
|
||
|
"n/a","--config","n/a","n/a","Path to config file in TOML format"
|
||
|
"n/a","--bzzapi","n/a","http://127.0.0.1:8500","Swarm HTTP endpoint"
|
||
|
"BootNodes","--bootnodes","SWARM_BOOTNODES","","Boot nodes"
|
||
|
"BzzAccount","--bzzaccount","SWARM_ACCOUNT", "","Swarm account key"
|
||
|
"BzzKey","n/a","n/a", "n/a","Swarm node base address (:math:`hash(PublicKey)hash(PublicKey))`. This is used to decide storage based on radius and routing by kademlia."
|
||
|
"Contract","--chequebook","SWARM_CHEQUEBOOK_ADDR","0x0","Swap chequebook contract address"
|
||
|
"Cors","--corsdomain","SWARM_CORS", "","Domain on which to send Access-Control-Allow-Origin header (multiple domains can be supplied separated by a ',')"
|
||
|
"n/a","--debug","n/a","n/a","Prepends log messages with call-site location (file and line number)"
|
||
|
"n/a","--defaultpath","n/a","n/a","path to file served for empty url path (none)"
|
||
|
"n/a","--delivery-skip-check","SWARM_DELIVERY_SKIP_CHECK","false","Skip chunk delivery check (default false)"
|
||
|
"EnsApi","--ens-api","SWARM_ENS_API","<$GETH_DATADIR>/geth.ipc","Ethereum Name Service API address"
|
||
|
"EnsRoot","--ens-addr","SWARM_ENS_ADDR", "ens.TestNetAddress","Ethereum Name Service contract address"
|
||
|
"ListenAddr","--httpaddr","SWARM_LISTEN_ADDR", "127.0.0.1","Swarm listen address"
|
||
|
"n/a","--manifest value","n/a","true","Automatic manifest upload (default true)"
|
||
|
"n/a","--mime value","n/a","n/a","Force mime type on upload"
|
||
|
"NetworkId","--bzznetworkid","SWARM_NETWORK_ID","3","Network ID"
|
||
|
"Path","--datadir","GETH_DATADIR","<$GETH_DATADIR>/swarm","Path to the geth configuration directory"
|
||
|
"Port","--bzzport","SWARM_PORT", "8500","Port to run the http proxy server"
|
||
|
"PublicKey","n/a","n/a", "n/a","Public key of swarm base account"
|
||
|
"n/a","--recursive","n/a", "false","Upload directories recursively (default false)"
|
||
|
"n/a","--stdin","","n/a","Reads data to be uploaded from stdin"
|
||
|
"n/a","--store.path value","SWARM_STORE_PATH","<$GETH_ENV_DIR>/swarm/bzz-<$BZZ_KEY>/chunks","Path to leveldb chunk DB"
|
||
|
"n/a","--store.size value","SWARM_STORE_CAPACITY","5000000","Number of chunks (5M is roughly 20-25GB) (default 5000000)]"
|
||
|
"n/a","--store.cache.size value","SWARM_STORE_CACHE_CAPACITY","5000","Number of recent chunks cached in memory (default 5000)"
|
||
|
"n/a","--sync-update-delay value","SWARM_ENV_SYNC_UPDATE_DELAY","","Duration for sync subscriptions update after no new peers are added (default 15s)"
|
||
|
"SwapApi","--swap-api","SWARM_SWAP_API","","URL of the Ethereum API provider to use to settle SWAP payments"
|
||
|
"SwapEnabled","--swap","SWARM_SWAP_ENABLE","false","Enable SWAP"
|
||
|
"SyncDisabled","--nosync","SWARM_ENV_SYNC_DISABLE","false","Disable Swarm node synchronization"
|
||
|
"n/a","--verbosity value","n/a","3","Logging verbosity: 0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail"
|
||
|
"n/a","--ws","n/a","false","Enable the WS-RPC server"
|
||
|
"n/a","--wsaddr value","n/a","localhost","WS-RPC server listening interface"
|
||
|
"n/a","--wsport value","n/a","8546","WS-RPC server listening port"
|
||
|
"n/a","--wsapi value","n/a","n/a","API's offered over the WS-RPC interface"
|
||
|
"n/a","--wsorigins value","n/a","n/a","Origins from which to accept websockets requests"
|
||
|
"n/a","n/a","SWARM_AUTO_DEFAULTPATH","false","Toggle automatic manifest default path on recursive uploads (looks for index.html)"
|