Interacting With Chainlink Contracts: Difference between revisions
From Chainlink Community Wiki
No edit summary |
No edit summary |
||
Line 26: | Line 26: | ||
=== [[Formatting RPC Call Data|'''Formatting RPC Call Data''']] === | === [[Formatting RPC Call Data|'''Formatting RPC Call Data''']] === | ||
----In the Below tables, you can navigate to each | ----In the Below tables, you can navigate to pages specific to deploying, verifying, and managing/updating each of the contracts. | ||
Additionally, there are also pages specific to the various read and write calls for each contract with bash+curl examples. | |||
''While curl is nowhere near the most common way to interact with smartcontracts, I felt it would provide the | ''While curl is nowhere near the most common way to interact with smartcontracts, I felt it would provide the necessary information in the most basic manner.'' | ||
---- | |||
{| class="wikitable" | |||
! colspan="2" |'''<big>Operator</big>''' | |||
|- | |||
| colspan="2" |'''<big>Example Operator contract address:</big>''' | |||
|- | |||
|'''Deploying an Operator''' | |||
|Directions on deploying an <code>Operator.sol</code> contract to enable your Chainlink Node to perform Direct Request jobs | |||
|- | |||
|'''Verifying an Operator''' | |||
|Directions on how to verify a deployed <code>Operator</code> contract in etherescan | |||
|- | |||
|'''Managing an Operator''' | |||
|Directions on managing and updating a deployed <code>Operator</code> contract | |||
|- | |||
|'''Read Calls''' | |||
|The Read calls are queries you can make to each <code>Operator</code> to get a bit of information from the contract. | |||
|- | |||
|'''Write Calls''' | |||
|The Write calls available to each <code>Operator</code> that are used to make changes to the contract. An example of a write call would be to change the associated the associated Chainlink Node(s) | |||
|} | |||
---- | |||
{| class="wikitable" | |||
! colspan="2" |'''<big>ATestnetConsumer</big>''' | |||
|- | |||
| colspan="2" |'''<big>Example ATestnetConsumer contract address:</big>''' | |||
|- | |||
|'''Deploying a Testnet Consumer''' | |||
|Directions on deploying an <code>AtestnetConsumer.sol</code> contract to enable your Chainlink Node to perform Direct Request jobs | |||
|- | |||
|'''Verifying an Testnet Consumer''' | |||
|Directions on how to verify a deployed <code>ATestnetConsumer</code> contract in etherescan | |||
|- | |||
|'''Managing an Testnet Consumer''' | |||
|Directions on managing and updating a deployed <code>ATestnetConsumer</code> contract | |||
|- | |||
|'''Read Calls''' | |||
|The Read calls are queries you can make to each <code>ATestnetConsumer</code> to get a bit of information from the contract. | |||
|- | |||
|'''Write Calls''' | |||
|The Write calls available to each <code>ATestnetConsumer</code> that are used to send test requests to Chainlink Node(s) | |||
|} | |||
---- | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ |
Revision as of 17:31, 30 May 2022
How to Query Chainlink Contracts
This page will provide you with information regarding how to query a Chainlink Aggregator
Included are some examples using bash.
All examples are based on the LINK / USD price feed on Ethereum Mainnet
Overview
Each Chainlink Aggregator has a wide range of data that you can query.
From historic price data to the timestamp of the most recent completed round, a lot of information is stored on-chain and available for you to query.
This page will be broken out into each major contract type, and then each individual query that can be made, with examples.
How To Format Request Data
Formatting the data we want to send in our RPC calls is a bit tricky if you've never done it before.
This page will assist you in learning how to do this as well as provide outside resources to make it a bit easier.
Formatting RPC Call Data
In the Below tables, you can navigate to pages specific to deploying, verifying, and managing/updating each of the contracts.
Additionally, there are also pages specific to the various read and write calls for each contract with bash+curl examples.
While curl is nowhere near the most common way to interact with smartcontracts, I felt it would provide the necessary information in the most basic manner.
Operator | |
---|---|
Example Operator contract address: | |
Deploying an Operator | Directions on deploying an Operator.sol contract to enable your Chainlink Node to perform Direct Request jobs
|
Verifying an Operator | Directions on how to verify a deployed Operator contract in etherescan
|
Managing an Operator | Directions on managing and updating a deployed Operator contract
|
Read Calls | The Read calls are queries you can make to each Operator to get a bit of information from the contract.
|
Write Calls | The Write calls available to each Operator that are used to make changes to the contract. An example of a write call would be to change the associated the associated Chainlink Node(s)
|
ATestnetConsumer | |
---|---|
Example ATestnetConsumer contract address: | |
Deploying a Testnet Consumer | Directions on deploying an AtestnetConsumer.sol contract to enable your Chainlink Node to perform Direct Request jobs
|
Verifying an Testnet Consumer | Directions on how to verify a deployed ATestnetConsumer contract in etherescan
|
Managing an Testnet Consumer | Directions on managing and updating a deployed ATestnetConsumer contract
|
Read Calls | The Read calls are queries you can make to each ATestnetConsumer to get a bit of information from the contract.
|
Write Calls | The Write calls available to each ATestnetConsumer that are used to send test requests to Chainlink Node(s)
|
EACAggregatorProxy | |
---|---|
LINK / USD EACAggregatorProxy contract address: 0x2c1d072e956affc0d435cb7ac38ef18d24d9127c | |
Deploying an Aggregator Proxy | Directions on deploying an EACAggregatorProxy.sol contract to help manage your own price feed
|
Verifying an Aggregator Proxy | Directions on how to verify a deployed EACAggregatorProxy contract in etherescan
|
Managing an Aggregator Proxy | Directions on managing and updating a deployed EACAggregatorProxy contract
|
Read Calls | The Read calls are queries you can make to each EACAggregatorProxy to get a wide range of data from the proxy's associated AccessControlledOffchainAggregator contract. One such example is to get the latest round data from a price feed.
|
Write Calls | The Write calls that are available to each EACAggregatorProxy are used to make changes to the contract. An example of a write call would be to change the associated AccessControlledOffchainAggregator
|
SimpleWriteAccessController | |
---|---|
LINK / USD (Billing) SimpleWriteAccessController contract address: 0x9db83cef9f68b63989e4e82d65d549e7ff2acda9 | |
LINK / USD (Requester) SimpleWriteAccessController contract address: 0x641b698ad1c6e503470520b0eecb472c0589dfe6 | |
Deploying an Access Controller | Directions on deploying a SimpleWriteAccessController.sol contract to build your own price feed.
|
Verifying an Access Controller | Directions on how to verify a deployed SimpleWriteAccessController contract in etherscan
|
Managing an Access Controller | Directions on how to manage and update the SimpleWriteAccessController depending on its application
|
Read Calls | The Read calls are queries you can make to each SimpleWriteAccessController to get relevant information to check access and state of a contract. One such example is to get to check if a provided address has access permissions to make a specified call.
|
Write Calls | The Write calls that are available to each SimpleWriteAccessController are used to make changes to the contract. An example of a write call would be to replace one Chainlink Node for another.
|
AccessControlledOffchainAggregator.sol
contract to build your own price feed.
AccessControlledOffchainAggregator
contract in etherscan
AccessControlledOffchainAggregator
to get a wide range of on-chain data. One such example is to get the latest round data from a price feed.
AccessControlledOffchainAggregator
are used to make changes to the contract. An example of a write call would be to change the adminAddress
of a Chainlink Node