You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -55,7 +55,7 @@ Transmitter relays data from the off-chain Chainlink network to your on-chain co
55
55
56
56
1.**On-chain | Transmission:** Based on your predefined conditions (such as a time interval or price deviation), Transmitter bundles the latest report into a transaction and submits it to your designated Oracle Contract.
57
57
58
-
1.**On-chain | Verification:** Within that single transaction, your Oracle Contract immediately calls the Chainlink Verifier Contract. The Verifier authenticates the report by checking the DON's cryptographic signature. If verification fails, the entire transaction reverts, ensuring no state change occurs.
58
+
1.**On-chain | Verification:** Within that single transaction, your Oracle Contract immediately calls the Chainlink Verifier Contract, which uses its `LINK` allowance to submit the verification request. The Verifier authenticates the report by checking the DON's cryptographic signature. If verification fails, the entire transaction reverts, ensuring no state change occurs.
59
59
60
60
1.**On-chain | Consumption:** Upon successful verification, the data is written to your Oracle Contract's storage. This freshly verified, low-latency data is now available on-chain for your dApp or other smart contracts to consume.
61
61
@@ -76,7 +76,7 @@ Before you start this tutorial, ensure you have the following prerequisites:
76
76
-**Software Dependencies**: [Foundry][FOUNDRY_INSTALL], [Docker][DOCKER_INSTALL], [Node.js][NODE_INSTALL], and [Redis][REDIS_INSTALL] installed on your deployment host. This guide uses `pnpm` for package management.
77
77
-**Development Wallet**: This guide requires a funded development wallet and its **private key** to send transactions.
78
78
-**Network Configuration**: This guide uses **Avalanche Fuji**. You can find RPC URLs on [Chainlist](https://chainlist.org).
79
-
-**Testnet Funds**: The wallet must be funded with testnet `LINK` and `AVAX` to pay for transaction fees on the **Avalanche Fuji** network. Both are available from the [Chainlink Faucet](https://faucets.chain.link/).
79
+
-**Testnet Funds**: The wallet must be funded with testnet `AVAX` to pay for transaction fees on the **Avalanche Fuji** network. Testnet `LINK` must be provided to the deployed contract to pay for on-chain verification fees. Both are available from the [Chainlink Faucet](https://faucets.chain.link/).
80
80
-**API Credentials**: Access to Data Streams requires API credentials. If you haven't already, [contact us][DATA_STREAMS_CONTACT] to request Data Streams access.
81
81
-**Web3 Foundation**: A basic understanding of [smart contracts and blockchain development](/quickstarts/deploy-your-first-contract).
82
82
@@ -146,6 +146,8 @@ First, deploy a `DataStreamsFeed.sol` contract. This contract receives and store
146
146
- **Contract Address:** Find the contract address in your terminal output under `deployedAddress`.
147
147
- **Contract ABI:** Foundry saves the ABI in`out/DataStreamsFeed.sol/DataStreamsFeed.json`.
148
148
149
+
Before we can use the Transmitter, we need to fund this contract with `LINK`.
150
+
149
151
1. Fund the contract with `LINK`.
150
152
151
153
After deployment, transfer some testnet `LINK` to the feed contract address, which allows the contract to pay for verification fees.
@@ -283,6 +285,7 @@ With a consumer contract on-chain, you can now set up the Transmitter service to
283
285
284
286
- Replace `0xYOUR_AVALANCHE_FUJI_CONTRACT_ADDRESS` with the address of the contract you deployed in the previous step.
285
287
- The `feedId` should match the one you set in the contract deployment.
288
+
- Each target block must keep `skipVerify: false`, `functionName: verifyAndUpdateReport`, and `functionArgs: ["rawReport", "parameterPayload"]` to ensure the Transmitter correctly prepares the transaction for on-chain verification.
286
289
287
290
1. Start the Docker daemon.
288
291
@@ -334,14 +337,14 @@ On the top-right corner of the page, you will find the **Logs** section, which c
334
337
335
338
Example log output:
336
339
337
-
```
340
+
```bash
338
341
[2025-07-01 16:48:44] info: 🩺 Health check endpoint running at http://localhost:8081/ready
339
342
[2025-07-01 16:48:44] info: 🚀 running at http://localhost:3000
[2025-07-01 16:50:00] info: 📆 Scheduled for writing onchain
344
-
[2025-07-01 16:50:00] info: ⛽️ Estimated fee: 0.024395523392104215 LINK
347
+
[2025-07-01 16:50:00] info: ⛽️ Estimated fee: 0.024395523392104215 LINK # This fee is deducted from the contract's LINK allowance, NOT the sender's balance
@@ -360,7 +363,7 @@ The **Data Streams** section lists all Data Streams, their status, and any relat
360
363
| **Stream** | The name of the stream. This is the name set by the user for easier tracking and feed identification. |
361
364
| **Feed ID** | The feed ID. Check [Chainlink Data Streams Documentation](/data-streams/crypto-streams) for a list of supported streams. |
362
365
| **Contract** | Target contract for the feed on the current chain. Click to open a configuration page where you can define the target contract, functions, and ABI. |
363
-
| **Saved price** | The latest price recorded onchain. |
366
+
| **Saved price** | The latest price recorded on-chain. |
364
367
| **Last reported** | The latest price reported by the stream. |
365
368
| **Status** | Current status of the stream. Possible states include: `Running`, `Connecting`, `Stopping` or `Stopped`. |
366
369
| **Remove** | Click to remove the stream. |
@@ -409,7 +412,7 @@ If you run into issues during setup or operation, refer to these common problems
409
412
- **Data is not updating on your contract**
410
413
- Review the logs in Transmitter for specific error messages related to the feed or contract interaction.
411
414
- **Authentication:** Verify that your `DATASTREAMS_CLIENT_ID` and `DATASTREAMS_CLIENT_SECRET` are correct and do not have extra spaces or characters.
412
-
- **LINK Balance:** Ensure the transmitter's wallet has a sufficient `LINK` balance to pay for on-chain verification fees. Top up at a [faucet](https://faucets.chain.link/)if needed.
415
+
- **LINK Balance:** Ensure the contract holds sufficient `LINK` balance to pay for on-chain verification fees. Top up the contract if needed -- testnet `LINK` can be found at the [Chainlink Faucet](https://faucets.chain.link/).
413
416
- **RPC Endpoint:** Confirm the RPC URL in your `config.yml` is correct and the node is reachable.
0 commit comments