Skip to content
Merged
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
12 changes: 6 additions & 6 deletions docs/Additional Information/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,12 @@ Resources:

## Do I need to have access to APIs in order to provide data?

The Chainlink node can fulfill requests from open (unauthenticated) APIs out-of-the-box, without the need for [External Adapters](../external-adapters/) as long as you've added the [jobs in the Fulfilling Requests guide](../fulfilling-requests/#section-add-jobs-to-the-node). For these requests, requesters would supply the URL to the open API they wish each node to retrieve, and the Chainlink node will use its core adapters to fulfill the request.
The Chainlink node can fulfill requests from open (unauthenticated) APIs out-of-the-box, without the need for [External Adapters](../external-adapters/) as long as you've added the [jobs in the Fulfilling Requests guide](../fulfilling-requests/#add-jobs-to-the-node). For these requests, requesters would supply the URL to the open API they wish each node to retrieve, and the Chainlink node will use its core adapters to fulfill the request.

If you would like to provide access to an API which requires authentication, you will need to create a job specific for that API, either with an external adapter or by using the parameters of the [HttpGet adapter](../adapters/#section-httpget).
If you would like to provide access to an API which requires authentication, you will need to create a job specific for that API, either with an external adapter or by using the parameters of the [HttpGet adapter](../adapters/#httpget).

Resources:
* [Adapters](../adapters/#section-httpget)
* [Adapters](../adapters/#httpget)

## Is there a list of external adapters available?

Expand All @@ -95,7 +95,7 @@ Resources:

You can use our <a href="https://blog.chain.link/how-to-use-chainlink-with-truffle-2/" target="_blank">Truffle Box</a> to get started by unboxing a developer-focused template.

If you already have a project started and would like to integrate Chainlink, you can [add Chainlink to your existing project](../create-a-chainlinked-project/#section-add-chainlink-to-your-existing-project) by using our `chainlink` NPM package.
If you already have a project started and would like to integrate Chainlink, you can [add Chainlink to your existing project](../create-a-chainlinked-project/#add-chainlink-to-your-existing-project) by using our `chainlink` NPM package.

Resources:
* [Create a Chainlinked Project](../create-a-chainlinked-project/)
Expand All @@ -112,13 +112,13 @@ Resources:

## How do I select Chainlink nodes for my requests?

You can use the <a href="https://market.link/" target="_blank">Chainlink Market</a> to select nodes for your requests. Then with the node's oracle contract address and Job ID, you will use the [`sendChainlinkRequestTo`](../chainlink-framework/#section-sendchainlinkrequestto) method to create requests to oracles.
You can use the <a href="https://market.link/" target="_blank">Chainlink Market</a> to select nodes for your requests. Then with the node's oracle contract address and Job ID, you will use the [`sendChainlinkRequestTo`](../chainlink-framework/#sendchainlinkrequestto) method to create requests to oracles.

Resources:
* [Create a Chainlinked Project](../create-a-chainlinked-project/)
* [Example Walkthrough](../intermediates-tutorial/)
* <a href="https://market.link/" target="_blank">Chainlink Market</a>
* [Chainlink Contract Reference](../chainlink-framework/#section-sendchainlinkrequestto)
* [Chainlink Contract Reference](../chainlink-framework/#sendchainlinkrequestto)

## How do I request a value that is greater than 32 bytes?

Expand Down
78 changes: 39 additions & 39 deletions docs/Additional Information/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,40 +7,40 @@ hidden: false
---
### Adapter

An Adapter is a piece of software responsible for executing a specific piece of functionality. A Chainlink node comes with a number of Adapters built in, commonly known as Core Adapters, but can also be extended via [Bridges](#section-bridge) to connect with user defined [External Adapters](#section-external-adapter). Core Adapters offered by the Chainlink Node by default:

- [Bridge](/docs/adapters/#section-bridge)
- [Copy](/docs/adapters/#section-copy)
- [EthBytes32](/docs/adapters/#section-ethbytes32)
- [EthInt256](/docs/adapters/#section-ethint256)
- [EthTx](/docs/adapters/#section-ethtx)
- [EthUint256](/docs/adapters/#section-ethuint256)
- [HTTPGet](/docs/adapters/#section-httpget)
- [HTTPPost](/docs/adapters/#section-httppost)
- [JSONParse](/docs/adapters/#section-jsonparse)
- [Multiply](/docs/adapters/#section-multiply)
- [NoOp](/docs/adapters/#section-noop)
- [NoOpPend](/docs/adapters/#section-nooppend)
- [Sleep](/docs/adapters/#section-sleep)
An Adapter is a piece of software responsible for executing a specific piece of functionality. A Chainlink node comes with a number of Adapters built in, commonly known as Core Adapters, but can also be extended via [Bridges](./#bridge) to connect with user defined [External Adapters](./#external-adapter). Core Adapters offered by the Chainlink Node by default:

- [Bridge](/docs/adapters/#bridge)
- [Copy](/docs/adapters/#copy)
- [EthBytes32](/docs/adapters/#ethbytes32)
- [EthInt256](/docs/adapters/#ethint256)
- [EthTx](/docs/adapters/#ethtx)
- [EthUint256](/docs/adapters/#ethuint256)
- [HTTPGet](/docs/adapters/#httpget)
- [HTTPPost](/docs/adapters/#httppost)
- [JSONParse](/docs/adapters/#jsonparse)
- [Multiply](/docs/adapters/#multiply)
- [NoOp](/docs/adapters/#noop)
- [NoOpPend](/docs/adapters/#nooppend)
- [Sleep](/docs/adapters/#sleep)

### Answer

The result produced from an oracle service, after all safety checks and aggregations have been performed.

### Bridge

Bridge is the connection between a Chainlink node and an [External Adapter](#section-external-adapter). The External Adapter runs as a separate [service](https://en.wikipedia.org/wiki/Service-oriented_architecture), and a Bridge facilitates communication between the node and one of these adapters.
Bridge is the connection between a Chainlink node and an [External Adapter](#external-adapter). The External Adapter runs as a separate [service](https://en.wikipedia.org/wiki/Service-oriented_architecture), and a Bridge facilitates communication between the node and one of these adapters.

If you would like to add a new External Adapter to your node, you create a new Bridge either in the GUI or the CLI. Within the Chainlink node, a bridge must have a unique name, but can share the same URL with other bridges. You can also set a different number of default confirmations for each bridge, and an additional payment amount. Once the bridge is added to the node, its name can then be used as a task type in [Job Specifications](../job-specifications/).

### Consumer (Contract)

Recipient of an [Answer](#section-answer) provided by an [Oracle](#section-oracle). The Consumer is commonly a contract, and is also commonly the same [entity that requested the Answer](#section-requester), but does not have to be. We have a helper function, `
Recipient of an [Answer](#answer) provided by an [Oracle](#oracle). The Consumer is commonly a contract, and is also commonly the same [entity that requested the Answer](#requester), but does not have to be. We have a helper function, `
addExternalRequest`, that gives consuming contracts the ability to safely check answers it receives without requesting them itself.

### Encumbrance Parameters

Encumbrance parameters are the part of a [service agreement](#section-service-agreement) that can be enforced on-chain. Information on encumbrance parameters can be found <a href="https://github.com/smartcontractkit/chainlink/wiki/Protocol-Information#encumbrance" target="_blank">on our Wiki</a>.
Encumbrance parameters are the part of a [service agreement](#service-agreement) that can be enforced on-chain. Information on encumbrance parameters can be found <a href="https://github.com/smartcontractkit/chainlink/wiki/Protocol-Information#encumbrance" target="_blank">on our Wiki</a>.

### External Adapter

Expand All @@ -54,7 +54,7 @@ A [function selector](https://solidity.readthedocs.io/en/develop/abi-spec.html/#

### Initiator

Triggers the execution of a [Job Spec](#section-job-spec).
Triggers the execution of a [Job Spec](#job-spec).

Available initiators are:

Expand All @@ -65,58 +65,58 @@ Available initiators are:
- web
- execagreement

Currently only the `runlog` and `execagreement` can be used with payment to the node operator. These initiators will use the node configured [MINIMUM_CONTRACT_PAYMENT](../configuration-variables/#section-minimum_contract_payment), plus any additional payment if there is a bridge in the given [JobID](#section-jobid) or [SAID](#section-said) configured with a payment specified, to determine whether or not enough payment was sent along with the request.
Currently only the `runlog` and `execagreement` can be used with payment to the node operator. These initiators will use the node configured [MINIMUM_CONTRACT_PAYMENT](../configuration-variables/#minimum_contract_payment), plus any additional payment if there is a bridge in the given [JobID](#jobid) or [SAID](#said) configured with a payment specified, to determine whether or not enough payment was sent along with the request.

### Job

Short-hand for a [Job Spec](#section-job-spec).
Short-hand for a [Job Spec](#job-spec).

### JobID

The ID associated to a given [Job Spec](#section-job-spec). This will be unique per-node, even with the same contents within the spec itself.
The ID associated to a given [Job Spec](#job-spec). This will be unique per-node, even with the same contents within the spec itself.

### Job Run

The Job Run is the artifact documenting the outcome of executing a [Job Spec](#section-job-spec). The Job Run is made up of one set of [Request Parameters](#section-request-parameters), a [TaskRun](#section-task-run) for each [Task Spec](#section-task-spec) in the Job Spec, and a [Run Result](#section-run-result) representing the ultimate outcome of the Job Run.
The Job Run is the artifact documenting the outcome of executing a [Job Spec](#job-spec). The Job Run is made up of one set of [Request Parameters](#request-parameters), a [TaskRun](#task-run) for each [Task Spec](#task-spec) in the Job Spec, and a [Run Result](#run-result) representing the ultimate outcome of the Job Run.

### Job Spec

The [Job Specification](../job-specifications/) is the specification of a piece of work to be completed by an Oracle Node. The Job Spec is made up of two main parts:

1. The [Initiator](#section-initiator) list, `initiators`, lists out all of the ways a Job Spec can be triggered to execute.
2. The [Task](#section-task-spec) list, `tasks`, which specifies all of the the computation steps to perform when executing a Job Spec. The Task list is sometimes referred to as the Job Pipeline because all of the Tasks' operations are performed in order, with the result being fed into the next task.
1. The [Initiator](#initiator) list, `initiators`, lists out all of the ways a Job Spec can be triggered to execute.
2. The [Task](#task-spec) list, `tasks`, which specifies all of the the computation steps to perform when executing a Job Spec. The Task list is sometimes referred to as the Job Pipeline because all of the Tasks' operations are performed in order, with the result being fed into the next task.

### Oracle

Entity which connects computations on blockchains with off-chain resources. Typically made up of two components: the [Oracle Node](#section-oracle-node) (off-chain) and the [Oracle Contract](#section-oracle-contract) (on-chain).
Entity which connects computations on blockchains with off-chain resources. Typically made up of two components: the [Oracle Node](#oracle-node) (off-chain) and the [Oracle Contract](#oracle-contract) (on-chain).

### Oracle Contract

The on-chain component of an [Oracle](#section-oracle). The Oracle Contract is the interface through which [Consuming Contracts](#section-consumer-contract-) pass and receive data with off-chain resources.
The on-chain component of an [Oracle](#oracle). The Oracle Contract is the interface through which [Consuming Contracts](#consumer-contract-) pass and receive data with off-chain resources.

### Oracle Node

The off-chain component of an [Oracle](#section-oracle).
The off-chain component of an [Oracle](#oracle).

### Requester

A Smart Contract or Externally Owned Account which requests data from an [Oracle](#section-oracle). The Requester does not have to be the same entity as the [Consumer](#section-consumer-contract-) but commonly is the same.
A Smart Contract or Externally Owned Account which requests data from an [Oracle](#oracle). The Requester does not have to be the same entity as the [Consumer](#consumer-contract-) but commonly is the same.

### Request Parameters

When a [Job Run](#section-job-run) is requested, the full definition of all [Task Specs](#section-task-spec) may be filled in. The [Requester](#section-requester) can specify the rest of the Job Spec definition when requesting a Job Run by passing a JSON payload with the request. The JSON will be merged with each Task Spec before executing each [Task Run](#section-task-run).
When a [Job Run](#job-run) is requested, the full definition of all [Task Specs](#task-spec) may be filled in. The [Requester](#requester) can specify the rest of the Job Spec definition when requesting a Job Run by passing a JSON payload with the request. The JSON will be merged with each Task Spec before executing each [Task Run](#task-run).

### Run

Short-hand for a [Job Run](#section-job-run), sometimes a [Task Run](#section-task-run).
Short-hand for a [Job Run](#job-run), sometimes a [Task Run](#task-run).

### Run Result

A Run Result is the result of executing a [Job Spec](#section-job-spec) or [Task Spec](#section-task-spec). A Run Result is made up of a JSON blob, a [Run Status](#section-run-status), and an optional error field. Run Results are stored on [Job Runs](#section-job-run) and [Task Runs](#section-task-runs).
A Run Result is the result of executing a [Job Spec](#job-spec) or [Task Spec](#task-spec). A Run Result is made up of a JSON blob, a [Run Status](#run-status), and an optional error field. Run Results are stored on [Job Runs](#job-run) and [Task Runs](#task-runs).

### Run Status

Each [Job Run](#section-job-run) and [Task Run](#section-task-run) has a status field indicating its current progress. The Run Status can be in one of the [following states](https://godoc.org/github.com/smartcontractkit/chainlink/core/store/models/#pkg-constants):
Each [Job Run](#job-run) and [Task Run](#task-run) has a status field indicating its current progress. The Run Status can be in one of the [following states](https://godoc.org/github.com/smartcontractkit/chainlink/core/store/models/#pkg-constants):

- Unstarted
- In Progress
Expand All @@ -128,24 +128,24 @@ Each [Job Run](#section-job-run) and [Task Run](#section-task-run) has a status

### SAID

The ID associated with a given [Service Agreement](#section-service-agreement).
The ID associated with a given [Service Agreement](#service-agreement).

### Service Agreement

The Service agreement consists of a [Job Spec](#section-job-spec) and a set of [encumbrance parameters](#section-encumbrance-parameters) that is shared among a creator and multiple Chainlink nodes. Information on service agreements can be found <a href="https://github.com/smartcontractkit/chainlink/wiki/Protocol-Information#service-agreements" target="_blank">on our Wiki</a>.
The Service agreement consists of a [Job Spec](#job-spec) and a set of [encumbrance parameters](#encumbrance-parameters) that is shared among a creator and multiple Chainlink nodes. Information on service agreements can be found <a href="https://github.com/smartcontractkit/chainlink/wiki/Protocol-Information#service-agreements" target="_blank">on our Wiki</a>.

### Spec

Another short-hand for a [Job Spec](#section-job-spec).
Another short-hand for a [Job Spec](#job-spec).

### Task

Short-hand for a [Task Spec](#section-task-spec).
Short-hand for a [Task Spec](#task-spec).

### Task Spec

The Task Spec is the definition for an individual task to be performed within the [job specification](../job-specifications/) by a specific adapter. The Task Spec always includes a `type` field which specifies which [adapter](#section-adapter) will execute it. Optionally, a Task Spec can specify additional `params` which will be passed on to its adapter, and `confirmations` which specify how many confirmations a [Task Run](#section-task-run) needs before executing.
The Task Spec is the definition for an individual task to be performed within the [job specification](../job-specifications/) by a specific adapter. The Task Spec always includes a `type` field which specifies which [adapter](#adapter) will execute it. Optionally, a Task Spec can specify additional `params` which will be passed on to its adapter, and `confirmations` which specify how many confirmations a [Task Run](#task-run) needs before executing.

### Task Run

The result of the individual [Task Spec](#section-task-spec)'s execution. A Task Run includes the Task Spec that it used for input and the [Run Result](#section-run-result) which was the output of the execution.
The result of the individual [Task Spec](#task-spec)'s execution. A Task Run includes the Task Spec that it used for input and the [Run Result](#run-result) which was the output of the execution.
Loading