Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/content/any-api/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Before creating any code, you should understand how Oracle jobs can get data onc

## What are jobs?

Chainlink nodes require [**Jobs**](/chainlink-nodes/oracle-jobs/jobs) to do anything useful. In the case of a Request and Receive job, the [Direct Request](/chainlink-nodes/oracle-jobs/all-jobs#direct-request-jobs) job monitors the blockchain for a request from a smart contract. Once it catches a request, it runs the tasks (both core and external adapters) that the job is configured to run and eventually returns the response to the requesting contract.
Chainlink nodes require [**Jobs**](/chainlink-nodes/oracle-jobs/jobs) to do anything useful. In the case of a Request and Receive job, a job watches the blockchain for a request from a smart contract. Once it catches a request, it runs the tasks (both core and external adapters) that the job is configured to run and eventually returns the response to the requesting contract. The legacy [Direct Request](/chainlink-nodes/oracle-jobs/all-jobs#direct-request-jobs) job type is not run by this node, so a `type = "directrequest"` spec does not start; see [Job Types](/chainlink-nodes/oracle-jobs/jobs) for the job types the node supports.

## What are tasks?

Expand Down
2 changes: 1 addition & 1 deletion src/content/chainlink-nodes/configuring-nodes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ Test your node to verify that it works as intended. If you are using a VPS, open

## Using multiple config files

You can use multiple config and secrets files. The config settings from each file are applied in the order that you specify when you run your node. Duplicated fields override values specified in earlier config files. This allows you to create a common config that applies to many nodes with specific configs for nodes that need unique configuration settings. Specifying multiple secrets files is invalid.
You can use multiple config and secrets files. The config settings from each file are applied in the order that you specify when you run your node. Duplicated fields override values specified in earlier config files. This allows you to create a common config that applies to many nodes with specific configs for nodes that need unique configuration settings. Secrets files are merged instead of overridden: you can specify several `-secrets` flags, but specifying the same field in more than one secrets file is an error.

To specify multiple config files, add additional `-config` flags to the `docker run` command:

Expand Down
6 changes: 5 additions & 1 deletion src/content/chainlink-nodes/contracts/addresses.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@ date: Last Modified
title: "Contract addresses"
---

import { Address } from "@components"
import { Address, Aside } from "@components"

<Aside type="note" title="Not used by this node">
The operator factory is not used by this node. These addresses are kept as a historical reference.
</Aside>

This page lists the [operator factory](/chainlink-nodes/contracts/operatorfactory) addresses for different networks.

Expand Down
17 changes: 17 additions & 0 deletions src/content/chainlink-nodes/contracts/forwarder.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,23 @@ _Only callable by an authorized sender_
| to | address | address |
| data | bytes | to forward |

#### multiForward

```solidity
function multiForward(address[] tos, bytes[] datas) external
```

Forward multiple calls to other contracts in a multicall style.

_Only callable by an authorized sender_

##### Parameters

| Name | Type | Description |
| ----- | --------- | --------------------------------------------------------- |
| tos | address[] | An array of addresses to forward the calls to |
| datas | bytes[] | An array of data to forward to each corresponding address |

#### ownerForward

```solidity
Expand Down
5 changes: 5 additions & 0 deletions src/content/chainlink-nodes/contracts/operator.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ title: "Operator"

import { Aside } from "@components"

<Aside type="note" title="Not used by this node">
This contract is not used by this node. Direct request jobs have been removed, so the node no longer reads
`OracleRequest` events or calls the fulfillment functions. This page is kept as a historical reference.
</Aside>

Oracles must deploy an onchain contract to handle requests made through the LINK token (Read [Basic Request Model](/architecture-overview/architecture-request-model) to learn more).

When the _Basic Request_ model was introduced, node operators had to deploy the legacy [Oracle contract](https://github.com/smartcontractkit/chainlink/blob/contracts-v1.0.0/contracts/src/v0.4/Oracle.sol). However, these come with some limitations, and soon, we introduced [operator contracts](https://github.com/smartcontractkit/chainlink/blob/contracts-v1.3.0/contracts/src/v0.8/operatorforwarder/Operator.sol).
Expand Down
6 changes: 6 additions & 0 deletions src/content/chainlink-nodes/contracts/operatorfactory.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ date: Last Modified
title: "Operator Factory"
---

import { Aside } from "@components"

<Aside type="note" title="Not used by this node">
This contract is not used by this node. The reference is kept as historical documentation.
</Aside>

The [factory](https://www.youtube.com/watch?v=Q1zZo4O_Ong) design pattern is a well know programming pattern: Rather than compiling and creating instances of a contract yourself, the _factory_ does it for you.
As explained in the [operator guide](/chainlink-nodes/contracts/operator), the `OperatorFactory` contract comes with these benefits:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ whatsnext:

import { Aside } from "@components"

<Aside type="caution" title="Not supported">
External initiators no longer start job runs in this node, because the `webhook` job type they authenticated against
is not supported. The node has no replacement job type for externally triggered jobs. The rest of this page is kept
for reference.
</Aside>

An external initiator can trigger a run for any webhook job that it has been linked to.

The URL for triggering a run is such:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ title: "Adding External Initiators to Nodes"

import { Aside } from "@components"

<Aside type="caution" title="Not supported">
External initiators no longer start job runs in this node, because the `webhook` job type they authenticated against
is not supported. The node has no replacement job type for externally triggered jobs. The rest of this page is kept
for reference.
</Aside>

<Aside type="note">
External initiators are disabled on nodes by default. Set the `FEATURE_EXTERNAL_INITIATORS=true` [configuration
variable](/chainlink-nodes/v1/configuration) to enable this feature.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ whatsnext:

import { Aside } from "@components"

<Aside type="caution" title="Not supported">
External initiators no longer start job runs in this node, because the `webhook` job type they authenticated against
is not supported. The node has no replacement job type for externally triggered jobs. The rest of this page is kept
for reference.
</Aside>

External initiators allow jobs in a node to be initiated depending on some external condition. The ability to create and add external initiators to Chainlink nodes enables blockchain agnostic cross-chain compatibility.

<Aside type="note">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ date: Last Modified
title: "Existing Job Example specs"
---

import { Aside } from "@components"

<Aside type="caution" title="Not supported">
The `directrequest` job type used in this example is not supported in this node. A spec with `type = "directrequest"`
does not start. See [Job Types](/chainlink-nodes/oracle-jobs/all-jobs/#direct-request-jobs) for details.
</Aside>

This is an example v2 (TOML) job spec for returning gas price using [etherscan](https://docs.etherscan.io/api-endpoints/gas-tracker#get-gas-oracle) in one Chainlink API Call. Note that the job :

- Uses an [external adapter](/chainlink-nodes/external-adapters/external-adapters) to consume the etherscan API: [EtherScan External Adapter](https://github.com/smartcontractkit/external-adapters-js/tree/develop/packages/sources/etherscan). Note that this is done using the [bridge](/chainlink-nodes/oracle-jobs/all-tasks/#bridge-task) task: `type="bridge" name="etherscan"`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ date: Last Modified
title: "GET > Bool Example Job Spec"
---

import { Aside } from "@components"

<Aside type="caution" title="Not supported">
The `directrequest` job type used in this example is not supported in this node. A spec with `type = "directrequest"`
does not start. See [Job Types](/chainlink-nodes/oracle-jobs/all-jobs/#direct-request-jobs) for details.
</Aside>

This is an example v2 (TOML) job spec for calling any public API, parsing the result then returning a _bool_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/contracts-v1.3.0/contracts/src/v0.8/operatorforwarder/Operator.sol) with this job.

```toml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ date: Last Modified
title: "GET > Bytes Example Job Spec"
---

import { Aside } from "@components"

<Aside type="caution" title="Not supported">
The `directrequest` job type used in this example is not supported in this node. A spec with `type = "directrequest"`
does not start. See [Job Types](/chainlink-nodes/oracle-jobs/all-jobs/#direct-request-jobs) for details.
</Aside>

This is an example v2 (TOML) job spec for returning _bytes_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/contracts-v1.3.0/contracts/src/v0.8/operatorforwarder/Operator.sol) with this job.
To test it from a smart contract, see this [Example](/any-api/get-request/examples/large-responses).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ date: Last Modified
title: "GET > Int256 Example Job Spec"
---

import { Aside } from "@components"

<Aside type="caution" title="Not supported">
The `directrequest` job type used in this example is not supported in this node. A spec with `type = "directrequest"`
does not start. See [Job Types](/chainlink-nodes/oracle-jobs/all-jobs/#direct-request-jobs) for details.
</Aside>

This is an example v2 (TOML) job spec for calling any public API, retrieving a number , removing its decimals then returning _int256_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/contracts-v1.3.0/contracts/src/v0.8/operatorforwarder/Operator.sol) with this job.

```toml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,12 @@ date: Last Modified
title: "GET > String Example Job Spec"
---

import { CodeSample } from "@components"
import { Aside, CodeSample } from "@components"

<Aside type="caution" title="Not supported">
The `directrequest` job type used in this example is not supported in this node. A spec with `type = "directrequest"`
does not start. See [Job Types](/chainlink-nodes/oracle-jobs/all-jobs/#direct-request-jobs) for details.
</Aside>

This is an example v2 (TOML) job spec for returning a _string_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/contracts-v1.3.0/contracts/src/v0.8/operatorforwarder/Operator.sol) with this job.
To test it from a smart contract, see this [Example](/any-api/get-request/examples/array-response).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ date: Last Modified
title: "GET > Uint256 Example Job Spec"
---

import { Aside } from "@components"

<Aside type="caution" title="Not supported">
The `directrequest` job type used in this example is not supported in this node. A spec with `type = "directrequest"`
does not start. See [Job Types](/chainlink-nodes/oracle-jobs/all-jobs/#direct-request-jobs) for details.
</Aside>

This is an example v2 (TOML) job spec for calling any public API, retrieving a number , removing its decimals then returning _uint256_ in one Chainlink API Call. Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/contracts-v1.3.0/contracts/src/v0.8/operatorforwarder/Operator.sol) with this job.
To test it from a smart contract, see this [Example](/any-api/get-request/examples/single-word-response).

Expand Down
7 changes: 7 additions & 0 deletions src/content/chainlink-nodes/job-specs/multi-word-job.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ date: Last Modified
title: "MultiWord Example Job Spec"
---

import { Aside } from "@components"

<Aside type="caution" title="Not supported">
The `directrequest` job type used in this example is not supported in this node. A spec with `type = "directrequest"`
does not start. See [Job Types](/chainlink-nodes/oracle-jobs/all-jobs/#direct-request-jobs) for details.
</Aside>

This is an example v2 (TOML) job spec for returning multiple responses in 1 Chainlink API Call.Note that the job calls the `fulfillOracleRequest2` function. If you are a node operator, use an [Operator contract](https://github.com/smartcontractkit/chainlink/blob/contracts-v1.3.0/contracts/src/v0.8/operatorforwarder/Operator.sol) with this job.
To test it from a smart contract, see this [Example](/any-api/get-request/examples/multi-variable-responses).

Expand Down
Loading
Loading