From 199b63111f3aa79d6560d6fcf6bb7790be51bf8d Mon Sep 17 00:00:00 2001 From: Dwight Lyle Date: Wed, 21 Feb 2024 15:34:35 -0700 Subject: [PATCH] CL Node v2.9.0 release docs --- src/content/chainlink-nodes/node-versions.mdx | 37 ++++ .../chainlink-nodes/v1/node-config.mdx | 176 +++--------------- 2 files changed, 58 insertions(+), 155 deletions(-) diff --git a/src/content/chainlink-nodes/node-versions.mdx b/src/content/chainlink-nodes/node-versions.mdx index 99dcae108de..58c8c678f0c 100644 --- a/src/content/chainlink-nodes/node-versions.mdx +++ b/src/content/chainlink-nodes/node-versions.mdx @@ -12,8 +12,43 @@ import { Aside } from "@components" You can find a list of release notes for Chainlink nodes in the [smartcontractkit GitHub repository](https://github.com/smartcontractkit/chainlink/releases). Docker images are available in the [Chainlink Docker hub](https://hub.docker.com/r/smartcontract/chainlink/tags). +## Changes in v2.9.0 nodes - 2024-02-22 + +**[v2.9.0 release notes](https://github.com/smartcontractkit/chainlink/releases/tag/v2.9.0)** + +### Added + +- The `chainlink health` CLI command and HTML `/health` endpoint to provide human-readable views of the underlying JSON health data. +- New job type `stream` to represent streamspecs. This job type is not yet used anywhere but will be required for Data Streams V1. +- Environment variables `CL_MEDIAN_ENV`, `CL_SOLANA_ENV`, and `CL_STARKNET_ENV` for setting environment variables in LOOP Plugins with an `.env` file. + + ``` + echo "Foo=Bar" >> median.env + echo "Baz=Val" >> median.env + CL_MEDIAN_ENV="median.env" + ``` + +### Fixed + +- Fixed the encoding used for transactions when resending in batches. + +### Removed + +- `P2P.V1` is no longer supported and must not be set in the TOML configuration in order to boot. Use `P2P.V2` instead. If you are using both, `V1` can simply be removed. +- Removed `TelemetryIngress.URL` and `TelemetryIngress.ServerPubKey` from TOML configuration, these fields are replaced by `[[TelemetryIngress.Endpoints]]`: + + ```toml + [[TelemetryIngress.Endpoints]] + Network = '...' # e.g. EVM. Solana, Starknet, Cosmos + ChainID = '...' # e.g. 1, 5, devnet, mainnet-beta + URL = '...' + ServerPubKey = '...' + ``` + ## Changes in v2.8.0 nodes - 2024-01-24 +**[v2.8.0 release notes](https://github.com/smartcontractkit/chainlink/releases/tag/v2.8.0)** + ### Added - Added distributed tracing in the OpenTelemetry trace format to the node, currently focused at the LOOPP Plugin development effort. This includes a new set of `Tracing` TOML configurations. The default for collecting traces is off - you must explicitly enable traces and setup a valid OpenTelemetry collector. Refer to the [README](https://github.com/smartcontractkit/chainlink/blob/v2.8.0/README.md) for more details. @@ -104,6 +139,8 @@ Starting in `v2.9.0`: ## Changes in v2.7.2 nodes - 2023-12-14 +**[v2.7.2 release notes](https://github.com/smartcontractkit/chainlink/releases/tag/v2.7.2)** + ### Fixed - Fixed a bug that caused nodes without OCR or OCR2 enabled to fail config validation if `P2P.V2` was not explicitly disabled. With this fix, NOPs will not have to make changes to their config. diff --git a/src/content/chainlink-nodes/v1/node-config.mdx b/src/content/chainlink-nodes/v1/node-config.mdx index 93da1f8935c..fa1ce498310 100644 --- a/src/content/chainlink-nodes/v1/node-config.mdx +++ b/src/content/chainlink-nodes/v1/node-config.mdx @@ -306,8 +306,6 @@ LeaseRefreshInterval determines how often to refresh the lease lock. Also contro [TelemetryIngress] UniConn = true # Default Logging = false # Default -ServerPubKey = 'test-pub-key' # Example -URL = 'https://prom.test' # Example BufferSize = 100 # Default MaxBatchSize = 50 # Default SendInterval = '500ms' # Default @@ -331,22 +329,6 @@ Logging = false # Default Logging toggles verbose logging of the raw telemetry messages being sent. -### ServerPubKey - -```toml -ServerPubKey = 'test-pub-key' # Example -``` - -ServerPubKey is the public key of the telemetry server. This field will be removed in a furture version - -### URL - -```toml -URL = 'https://prom.test' # Example -``` - -URL is where to send telemetry. This field will be removed in a furture version - ### BufferSize ```toml @@ -1383,13 +1365,7 @@ PeerID = '12D3KooWMoejJznyDuEk5aX6GvbjaG12UzeornPCBNzMRqdwrFJw' # Example TraceLogging = false # Default ``` -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. - -Note: P2P.V1 is deprecated will be removed in the future. - +P2P has a versioned networking stack. Currenly only `[P2P.V2]` is supported. All nodes in the OCR network should share the same networking stack. ### IncomingMessageBufferSize @@ -1431,135 +1407,6 @@ TraceLogging = false # Default TraceLogging enables trace level logging. -## P2P.V1 - -```toml -[P2P.V1] -Enabled = false # Default -AnnounceIP = '1.2.3.4' # Example -AnnouncePort = 1337 # Example -BootstrapCheckInterval = '20s' # Default -DefaultBootstrapPeers = ['/dns4/example.com/tcp/1337/p2p/12D3KooWMHMRLQkgPbFSYHwD3NBuwtS1AmxhvKVUrcfyaGDASR4U', '/ip4/1.2.3.4/tcp/9999/p2p/12D3KooWLZ9uTC3MrvKfDpGju6RAQubiMDL7CuJcAgDRTYP7fh7R'] # Example -DHTAnnouncementCounterUserPrefix = 0 # Default -DHTLookupInterval = 10 # Default -ListenIP = '0.0.0.0' # Default -ListenPort = 1337 # Example -NewStreamTimeout = '10s' # Default -PeerstoreWriteInterval = '5m' # Default -``` - -P2P.V1 is deprecated and will be removed in a future version. - -### Enabled - -```toml -Enabled = false # Default -``` - -Enabled enables P2P V1. - -### AnnounceIP - -```toml -AnnounceIP = '1.2.3.4' # Example -``` - -AnnounceIP should be set as the externally reachable IP address of the Chainlink node. - -### AnnouncePort - -```toml -AnnouncePort = 1337 # Example -``` - -AnnouncePort should be set as the externally reachable port of the Chainlink node. - -### BootstrapCheckInterval - -```toml -BootstrapCheckInterval = '20s' # Default -``` - -BootstrapCheckInterval is the interval at which nodes check connections to bootstrap nodes and reconnect if any of them is lost. -Setting this to a small value would allow newly joined bootstrap nodes to get more connectivity -more quickly, which helps to make bootstrap process faster. The cost of this operation is relatively -cheap. We set this to 1 minute during our test. - -### DefaultBootstrapPeers - -```toml -DefaultBootstrapPeers = ['/dns4/example.com/tcp/1337/p2p/12D3KooWMHMRLQkgPbFSYHwD3NBuwtS1AmxhvKVUrcfyaGDASR4U', '/ip4/1.2.3.4/tcp/9999/p2p/12D3KooWLZ9uTC3MrvKfDpGju6RAQubiMDL7CuJcAgDRTYP7fh7R'] # Example -``` - -DefaultBootstrapPeers is the default set of bootstrap peers. - -### DHTAnnouncementCounterUserPrefix - -```toml -DHTAnnouncementCounterUserPrefix = 0 # Default -``` - -DHTAnnouncementCounterUserPrefix can be used to restore the node's -ability to announce its IP/port on the P2P network after a database -rollback. Make sure to only increase this value, and _never_ decrease it. -Don't use this variable unless you really know what you're doing, since you -could semi-permanently exclude your node from the P2P network by -misconfiguring it. - -### DHTLookupInterval - -⚠️ **_ADVANCED_**: _Do not change this setting unless you know what you are doing._ - -```toml -DHTLookupInterval = 10 # Default -``` - -DHTLookupInterval is the interval between which we do the expensive peer -lookup using DHT. - -Every DHTLookupInterval failures to open a stream to a peer, we will -attempt to lookup its IP from DHT - -### ListenIP - -```toml -ListenIP = '0.0.0.0' # Default -``` - -ListenIP is the default IP address to bind to. - -### ListenPort - -```toml -ListenPort = 1337 # Example -``` - -ListenPort is the port to listen on. If left blank, the node randomly selects a different port each time it boots. It is highly recommended to set this to a static value to avoid network instability. - -### NewStreamTimeout - -⚠️ **_ADVANCED_**: _Do not change this setting unless you know what you are doing._ - -```toml -NewStreamTimeout = '10s' # Default -``` - -NewStreamTimeout is the maximum length of time to wait to open a -stream before we give up. -We shouldn't hit this in practice since libp2p will give up fast if -it can't get a connection, but it is here anyway as a failsafe. -Set to 0 to disable any timeout on top of what libp2p gives us by default. - -### PeerstoreWriteInterval - -⚠️ **_ADVANCED_**: _Do not change this setting unless you know what you are doing._ - -```toml -PeerstoreWriteInterval = '5m' # Default -``` - -PeerstoreWriteInterval controls how often the peerstore for the OCR V1 networking stack is persisted to the database. - ## P2P.V2 ```toml @@ -2124,6 +1971,23 @@ LatestReportDeadline = "5s" # Default LatestReportDeadline controls how long to wait for a response from the mercury server before retrying. Setting this to zero will wait indefinitely. +## Mercury.TLS + +```toml +[Mercury.TLS] +CertFile = "/path/to/client/certs.pem" # Example +``` + +Mercury.TLS controls client settings for when the node talks to traditional web servers or load balancers. + +### CertFile + +```toml +CertFile = "/path/to/client/certs.pem" # Example +``` + +CertFile is the path to a PEM file of trusted root certificate authority certificates + ## EVM EVM defaults depend on ChainID: @@ -5453,6 +5317,7 @@ GasLimit = 14500000 AutoCreateKey = true BlockBackfillDepth = 10 BlockBackfillSkip = false +ChainType = 'scroll' FinalityDepth = 1 FinalityTagEnabled = false LogBackfillBatchSize = 1000 @@ -5531,6 +5396,7 @@ GasLimit = 5300000 AutoCreateKey = true BlockBackfillDepth = 10 BlockBackfillSkip = false +ChainType = 'scroll' FinalityDepth = 1 FinalityTagEnabled = false LogBackfillBatchSize = 1000 @@ -5889,7 +5755,7 @@ ChainType = 'arbitrum' # Example ``` ChainType is automatically detected from chain ID. Set this to force a certain chain type regardless of chain ID. -Available types: arbitrum, metis, optimismBedrock, xdai, celo, kroma, wemix, zksync +Available types: arbitrum, metis, optimismBedrock, xdai, celo, kroma, wemix, zksync, scroll ### FinalityDepth