#---------------------------# # Global # #---------------------------# # ExplorerURL # - ExplorerURL is the websocket URL for the node to push stats to. ExplorerURL = 'wss://' # RootDir # - RootDir is the Chainlink node's root directory. # - This is the default directory for logging, database backups, cookies, and other misc Chainlink node files. # - Chainlink nodes will always ensure this directory has 700 permissions because it might contain sensitive data. # # - Default is set to '/.chainlink' RootDir = '/.chainlink' #---------------------------# # Feature # #---------------------------# [Feature] # FeedsManager # - FeedsManager enables the experimental feeds manager service. # # - Default is set to false FeedsManager = true #---------------------------# # Log # #---------------------------# [Log] # Level # - Level determines both what is printed on the screen and what is written to the log file. # # - The available levels are: # - "debug": Useful for forensic debugging of issues. # - "info": High-level informational messages. (default) # - "warn": A mild error occurred that might require non-urgent action. # Check these warnings semi-regularly to see if any of them require attention. # These warnings usually happen due to factors outside of the control of the node operator. # - Examples: Unexpected responses from a remote API or misleading networking errors. # - "error": An unexpected error occurred during the regular operation of a well-maintained node. # Node operators might need to take action to remedy this error. Check these regularly to see if any of them require attention. # - Examples: Use of deprecated configuration options or incorrectly configured settings that cause a job to fail. # - "crit": A critical error occurred. The node might be unable to function. # Node operators should take immediate action to fix these errors. # - Examples: The node could not boot because a network socket could not be opened or the database became inaccessible. # - "panic": An exceptional error occurred that could not be handled. # If the node is unresponsive, node operators should try to restart their nodes and notify the Chainlink team of a potential bug. # - "fatal": The node encountered an unrecoverable problem and had to exit. # # - Default is 'info' Level = 'info' # JSONConsole # - JSONConsole enables JSON logging. Otherwise, the log is saved in a human-friendly console format. # # - Default is false JSONConsole = false # UnixTS # - UnixTS enables legacy unix timestamps. # - Previous versions of Chainlink nodes wrote JSON logs with a unix timestamp. # - As of v1.1.0 and up, the default has changed to use ISO8601 timestamps for better readability. # # - Default is false UnixTS = false #---------------------------# # Log File # #---------------------------# [Log.File] # MaxSize # - MaxSize determines the log file's max size in megabytes before file rotation. # - Having this not set will disable logging to disk. # - If your disk doesn't have enough disk space, the logging will pause and the application will log errors until space is available again. # # - Values must have suffixes with a unit like: 5120mb (5,120 megabytes). If no unit suffix is provided, the value defaults to b (bytes). The list of valid unit suffixes are: # - b (bytes) # - kb (kilobytes) # - mb (megabytes) # - gb (gigabytes) # - tb (terabytes) # # - Default is '5120mb' MaxSize = '5120mb' # MaxAgeDays # - MaxAgeDays determines the log file's max age in days before file rotation. # - Keeping this config with the default value will not remove log files based on age. # # - Default is 0 MaxAgeDays = 0 # MaxBackups # - MaxBackups determines the maximum number of old log files to retain. # - Keeping this config with the default value retains all old log files. # - The MaxAgeDays variable can still cause them to get deleted. # # Default is 1 MaxBackups = 1 #---------------------------# # Web Server # #---------------------------# [WebServer] # AllowOrigins # - AllowOrigins controls the URLs Chainlink nodes emit in the Allow-Origins header of its API responses. # - The setting can be a comma-separated list with no spaces. You might experience CORS issues if this is not set correctly. # # - You should set this to the external URL that you use to access the Chainlink UI. # # - You can set AllowOrigins = '*' to allow the UI to work from any URL, but it is recommended for security reasons to make it explicit instead. # # - Default is 'http://localhost:3000,http://localhost:6688' AllowOrigins = '*' #---------------------------# # Web Server TLS # #---------------------------# # - The TLS settings apply only if you want to enable TLS security on your Chainlink node. [WebServer.TLS] # CertPath # - CertPath is the location of the TLS certificate file. # # - Example: CertPath = '~/.cl/certs' CertPath = '/chainlink/tls/server.crt' # KeyPath # - KeyPath is the location of the TLS private key file. # # - Example: KeyPath = '/home/$USER/.chainlink/tls/server.key' KeyPath = '/chainlink/tls/server.key' #---------------------------# # Job Pipeline # #---------------------------# [JobPipeline] #---------------------------# # Job Pipeline HTTP Request # #---------------------------# [JobPipeline.HTTPRequest] # MaxSize # - MaxSize defines the maximum size for HTTP requests and responses made by http and bridge adapters. # # - Default is 32768 MaxSize = '700.00kb' #---------------------------# # OCR # #---------------------------# # - This section applies only if you are running off-chain reporting jobs. [OCR] # Enabled # - Enabled enables OCR jobs. # # - Default is false Enabled = true # KeyBundleID # - KeyBundleID is the default key bundle ID to use for OCR jobs. If you have an OCR job that does not explicitly specify a key bundle ID, it will fall back to this value. # # - Example: KeyBundleID = 'acdd42797a8b921b2910497badc5000600000000000000000000000000000000' KeyBundleID = '' # TransmitterAddress # - TransmitterAddress is the default sending address to use for OCR. # - If you have an OCR job that does not explicitly specify a transmitter address, it will fall back to this value. # # - Example: TransmitterAddress = '0xa0788FC17B1dEe36f057c42B6F373A34B014687e' TransmitterAddress = '' #---------------------------# # P2P # #---------------------------# # - P2P supports multiple networking stack versions. You may configure [P2P.V1], [P2P.V2], or both to run simultaneously. # - If both are configured, then for each link with another peer, V2 networking will be preferred. # - If V2 does not work, the link will automatically fall back to V1. # - If V2 starts working again later, it will automatically be preferred again. # - This is useful for migrating networks without downtime. # - Note that the two networking stacks must not be configured to bind to the same IP/port. # # - All nodes in the OCR network should share the same networking stack. [P2P] # PeerID # - PeerID is the default peer ID to use for OCR jobs. If unspecified, uses the first available peer ID. # # - Example: PeerID = '12D3KooWMoejJznyDuEk5aX6GvbjaG12UzeornPCBNzMRqdwrFJw' PeerID = '' #---------------------------# # P2P v1 # #---------------------------# [P2P.V1] # Enabled # - Enabled enables P2P V1. # # Default is true Enabled = false #---------------------------# # P2P v2 # #---------------------------# [P2P.V2] # Enabled # - Enabled enables P2P V2. Note: V1.Enabled is true by default, so it must be set false in order to run V2 only. # # - Default is false Enabled = true # AnnounceAddresses # - AnnounceAddresses is the addresses the peer will advertise on the network in host:port form as accepted by net.Dial. # - The addresses should be reachable by peers of interest. # # - Example: AnnounceAddresses = ['1.2.3.4:9999', '[a52d:0:a88:1274::abcd]:1337'] AnnounceAddresses = [''] # DefaultBootstrappers # - DefaultBootstrappers is the default bootstrapper peers for libocr's v2 networking stack. # # - Example: DefaultBootstrappers = ['$P2P_PEER_ID@1.2.3.4:9999', '$P2P_PEER_ID@example.com:1234'] DefaultBootstrappers = ['', '', ''] # ListenAddresses # - ListenAddresses is the addresses the peer will listen to on the network in host:port form as accepted by net.Listen(), # but the host and port must be fully specified and cannot be empty. You can specify 0.0.0.0 (IPv4) or :: (IPv6) to listen on all interfaces, but that is not recommended. # # - Example: ListenAddresses = ['1.2.3.4:9999', '[a52d:0:a88:1274::abcd]:1337'] ListenAddresses = [''] #---------------------------# # EVM # #---------------------------# # - EVM defaults depend on ChainID: [[EVM]] # ChainID # - ChainID is the EVM chain ID. # - Mandatory. # # - Example: ChainID = '1' ChainID = '43114' # Enabled # - Enabled enables this chain. # # - Default is true Enabled = true # LinkContractAddress # - LinkContractAddress is the canonical ERC-677 LINK token contract address on the given chain. Note that this is usually autodetected from chain ID. # # - Example: LinkContractAddress = '0x538aAaB4ea120b2bC2fe5D296852D948F07D849e' LinkContractAddress = '0x5947BB275c521040051D82396192181b413227A3' # MinContractPayment # - MinContractPayment is the minimum payment in LINK required to execute a direct request job. This can be overridden on a per-job basis. # # - Default is '10000000000000 juels' MinContractPayment = '0.00001 link' # MinIncomingConfirmations # - MinIncomingConfirmations is the minimum required confirmations before a log event will be consumed. # # - Default is 3 MinIncomingConfirmations = 1 #---------------------------# # EVM Gas Estimator # #---------------------------# [EVM.GasEstimator] # Mode # - Mode controls what type of gas estimator is used. # # - Options: # - FixedPrice uses static configured values for gas price (can be set via API call). # - BlockHistory dynamically adjusts default gas price based on heuristics from mined blocks. # - Optimism2/L2Suggested is a special mode only for use with Optimism and Metis blockchains. This mode will use the gas price suggested by the rpc endpoint via eth_gasPrice. # - Arbitrum is a special mode only for use with Arbitrum blockchains. # It uses the suggested gas price (up to ETH_MAX_GAS_PRICE_WEI, with 1000 gwei default) as well as an estimated gas limit (up to ETH_GAS_LIMIT_MAX, # with 1,000,000,000 default). # # - Chainlink nodes decide what gas price to use using an Estimator. # - It ships with several simple and battle-hardened built-in estimators that should work well for almost all use-cases. # - Note that estimators will change their behaviour slightly depending on if you are in EIP-1559 mode or not. # # - You can also use your own estimator for gas price by selecting the FixedPrice estimator and using the exposed API to set the price. # # - An important point to note is that the Chainlink node does not ship with built-in support for go-ethereum's estimateGas call. # - This is for several reasons, including security and reliability. # - We have found empirically that it is not generally safe to rely on the remote ETH node's idea of what gas price should be. # # - Default is 'BlockHistory' Mode = 'BlockHistory' # PriceDefault # - PriceDefault is the default gas price to use when submitting transactions to the blockchain. # - Will be overridden by the built-in BlockHistoryEstimator if enabled, and might be increased if gas bumping is enabled. # # - (Only applies to legacy transactions) # # - Can be used with the chainlink setgasprice to be updated while the node is still running. # # - Defaults is '20 gwei' PriceDefault = '25 gwei' # PriceMin # - PriceMin is the minimum gas price. Chainlink nodes will never pay less than this for a transaction. # # - (Only applies to legacy transactions) # # - It is possible to force the Chainlink node to use a fixed gas price by setting a combination of these, e.g. # - EIP1559DynamicFees = false # - PriceMax = 100 # - PriceMin = 100 # - PriceDefault = 100 # - BumpThreshold = 0 # - Mode = 'FixedPrice' # # - Default is '1 gwei' PriceMin = '25 gwei' #---------------------------# # EVM Nodes # #---------------------------# [[EVM.Nodes]] # Name # - Name is a unique (per-chain) identifier for this node. # # - Example: Name = 'Ethereum_Mainnet_00' Name = 'Avalanche_Mainnet_00' # WSURL # - WSURL is the WS(S) endpoint for this node. Required for primary nodes. # # - Example: WSURL = 'wss://web.socket/test' WSURL = 'wss://' # HTTPURL # - HTTPURL is the HTTP(S) endpoint for this node. Required for all nodes. # # - Example: HTTPURL = 'https://foo.web' HTTPURL = 'https://' # SendOnly # - SendOnly limits usage to sending transaction broadcasts only. # - With this enabled, only HTTPURL is required, and WSURL is not used. # # Default is false SendOnly = false