This guide will show you how to get started with running
orc! An ORC
node requires a configuration file to get up and running. The path to this
file is given to
orc when starting a node.
orc --config path/to/orc.config
If a configuration file is not supplied, a minimal default configuration is
automatically created and used, which will generate a private extended key,
storage for shards, contracts, and network information. All of this data will
be created and stored in
$HOME/.config/orc, yielding a directory structure
+- ~/.config/orc + - x_private_key (Root/Parent HD identity key) + - config (INI configuration file) + - orc.log (Daemon log file, rotated periodically) + - /provider_vault (Directory containing encrypted shards named by hash) + - /node_data (MongoDB data directory) + - /node_hs (Tor + hidden service data directory)
The locations of all of these files is defined in your configuration file. Below is an complete outline of each valid configuration property name, it's behavior, and default value(s). Valid configuration files may be in either INI or JSON format.
The location to write the PID file for the daemon.
Path to private extended key file to use for master identity. Losing or destroying this file will lose access to your node and prevent retrieval of files. Back it up offline!
The index for deriving this child node's identity. This allows you to run
multiple nodes with the same private extended key. If your private extended
key was converted from an old non-hierarchically-deterministic private key,
you must set the value to
The path to read (or create on first run), the file that contains the unique salt used for key derivation and the initialization vector user for the encryption of secrets. Losing or destroying this file will lose access to your node and prevent decryption of files. Back it up offline!
Sets the directory to store MongoDB database files.
Sets the TCP port to binding the
Set the base directory (parent) for where shards will be placed. This directory stores other nodes' data shards, so be sure you set this to where you intend to provide capacity.
How often we should scan contract database to reap expired shards it is
storing. Accepts human-readable strings like
Define the maximum size you wish to allocate for farming shards. This can be increased later, but decreasing it will not delete existing data.
The frequency interval we update our flags to reflect our available capacity.
The path to the directory to instruct Tor to use for storing hidden service keys and other information.
Sets the virtual port number for your node's RPC onion service.
Sets the local port to bind the node's RPC service.
Enables bandwidth metering and hibernation mode. When the property
1, we will enter low-bandwidth mode if the we
BandwidthAccountingMax within the period defined by
BandwidthAccountingReset until the interval is finished.
Sets the maximum number of bandwidth to use per accounting interval for data transfer. Low-bandwidth RPC messages will still be allowed.
Resets the bandwidth accounting on an interval defined by this property.
More detailed logging of messages sent and received. Useful for debugging.
Path to write the daemon's log file. Log file will rotate either every 24 hours or when it exceeds 10MB, whichever happens first.
Maximum number of rotated log files to keep.
Add a map of network bootstrap nodes to this section to use for discovering other peers. Default configuration should come with a list of known and trusted contacts.
Sets the hostname or IP address to which the bridge service should be bound. It is important to set this value to a loopback address if authentication is disabled to prevent others from accessing your objects.
Set the TCP port to which the bridge service's HTTP API should be bound.
Sets the path on the filesystem to a directory for storing temporary data for queued uploads.
If we haven't received a relayed capacity announcement from a peer within this defined timeframe, remove them from the provider pool until we receive an announcement again. Prevents attempting to use providers that are unlikely to be available.
If we have tried to store a shard with a peer and a failure occurred on the provider's end, temporarily remove them from the provider pool for this defined amount of time.
Redirects the Tor process log output through ORC's logger for the purpose of debugging.
Defines the verbosity level of the Tor process logging. Valid options are:
Sets the SOCKS proxy type for Tor communication. This currently defaults to 4 until this ticket is closed.
Defines a list of identities allowed to store and retrieve. The default policy allows allnodes to perform RPC calls necessary for discovering peers, storing metadata, and downloading public objects.
To establish a full trust policy with another known node, exchange your identity keys and add a wildcard policy: