From 5669e45b995ea7cb82b97d46c74dcca1bf8195ac Mon Sep 17 00:00:00 2001 From: ukml <160087626+ukml@users.noreply.github.com> Date: Fri, 19 Dec 2025 04:02:29 +0000 Subject: [PATCH 1/7] feat: Add Base chain deployment guide and examples feat: Add Base chain deployment guide and examples - New section in README.md for deploying TruflationTester on Base (Coinbase L2) - Includes network config examples for Hardhat/Remix - Highlights Chainlink CCIP integration for cross-chain data access - Adds tips for funding with LINK on Base and using faucets - Makes it easier for Base ecosystem developers and onchain farmers to get started quickly with Truflation's real-time economic data oracles This aligns with Truflation's deep Base integration (Base Ecosystem Fund recipient) and helps grow adoption in the growing Base/DeFi/RWA community. --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index 2d0e451..96039cd 100644 --- a/README.md +++ b/README.md @@ -114,3 +114,17 @@ Adapters and node toml files to implement the API are available on github * [Truflation discord developer chat](https://discord.com/channels/967280164071407666/968071680360587264) * [Network endpoints](network.md) * [Using solt to get a contract on etherscan](https://blog.jubb.xyz/post/solt-release/) +## Deploying on Base (Coinbase's Layer 2) + +Truflation data is fully available on Base via Chainlink CCIP for cross-chain queries. + +### Quick Steps: +1. Use Remix or Hardhat with Base network config. +2. In `TruflationTester.sol`, ensure you're using the latest Chainlink oracle addresses for Base. +3. Fund your contract with LINK on Base (get from faucets or bridges). +4. Example network config (add to your hardhat.config.js): + ```js + base: { + url: "https://mainnet.base.org", + accounts: [process.env.PRIVATE_KEY] + } From 3747b1482faaadd4e348846e0a0479d5df80ea6a Mon Sep 17 00:00:00 2001 From: ukml <160087626+ukml@users.noreply.github.com> Date: Fri, 19 Dec 2025 04:38:53 +0000 Subject: [PATCH 2/7] fix: Address CodeRabbit feedback - complete Hardhat config and add oracle resourcesFixed incomplete Hardhat snippet (added closing brace and chainId) Clarified oracle config status and added helpful links Keeps the guide accurate and useful for Base users fix: Address CodeRabbit feedback - complete Hardhat config and add oracle resourcesFixed incomplete Hardhat snippet (added closing brace and chainId) Clarified oracle config status and added helpful links Keeps the guide accurate and useful for Base users --- README.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 96039cd..2cb1a9d 100644 --- a/README.md +++ b/README.md @@ -116,15 +116,23 @@ Adapters and node toml files to implement the API are available on github * [Using solt to get a contract on etherscan](https://blog.jubb.xyz/post/solt-release/) ## Deploying on Base (Coinbase's Layer 2) -Truflation data is fully available on Base via Chainlink CCIP for cross-chain queries. +Truflation data is fully available on Base, with cross-chain access supported via Chainlink CCIP. + +**Note:** As of December 2025, specific Chainlink "Any API" oracle/job IDs for Truflation indexes directly on Base mainnet are not yet publicly listed in this repo. Modern integrations often use Chainlink Data Streams or API calls. Check these resources for the latest: + +- Truflation Marketplace (data stream IDs): https://marketplace.truflation.com/ +- Chainlink Data Streams docs: https://docs.chain.link/data-streams +- Chainlink CCIP (cross-chain): https://docs.chain.link/ccip ### Quick Steps: 1. Use Remix or Hardhat with Base network config. -2. In `TruflationTester.sol`, ensure you're using the latest Chainlink oracle addresses for Base. -3. Fund your contract with LINK on Base (get from faucets or bridges). -4. Example network config (add to your hardhat.config.js): +2. In `TruflationTester.sol`, update with the latest parameters from the resources above. +3. Fund your contract with LINK on Base (use faucets for testnet or bridges for mainnet). +4. Example Hardhat network config (add to your `hardhat.config.js`): ```js base: { url: "https://mainnet.base.org", - accounts: [process.env.PRIVATE_KEY] + accounts: [process.env.PRIVATE_KEY], + chainId: 8453 // Use 84532 for Base Sepolia testnet + } } From 64b8ef393dc2cd160991f640cb8a509062bd50cc Mon Sep 17 00:00:00 2001 From: ukml <160087626+ukml@users.noreply.github.com> Date: Fri, 19 Dec 2025 09:33:09 +0000 Subject: [PATCH 3/7] Commit changes Fully address CodeRabbit feedback - clearer oracle guidance + syntax fixesMade step 2 concrete: Direct instructions to copy oracle/job ID from Marketplace and paste into TruflationTester.sol Wrapped URLs in markdown links for better formatting Removed extra closing brace in Hardhat code block Emphasized shift to Data Streams for modern Base integrations --- README.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 2cb1a9d..9bd7108 100644 --- a/README.md +++ b/README.md @@ -118,16 +118,20 @@ Adapters and node toml files to implement the API are available on github Truflation data is fully available on Base, with cross-chain access supported via Chainlink CCIP. -**Note:** As of December 2025, specific Chainlink "Any API" oracle/job IDs for Truflation indexes directly on Base mainnet are not yet publicly listed in this repo. Modern integrations often use Chainlink Data Streams or API calls. Check these resources for the latest: +**Note:** As of December 2025, the legacy Chainlink "Any API" style (with fixed job IDs) used in this quickstart is primarily for testnets. On Base mainnet, Truflation recommends modern **Chainlink Data Streams** or custom streams via the Marketplace. -- Truflation Marketplace (data stream IDs): https://marketplace.truflation.com/ -- Chainlink Data Streams docs: https://docs.chain.link/data-streams -- Chainlink CCIP (cross-chain): https://docs.chain.link/ccip +For the latest Base-compatible configurations: +- [Truflation Marketplace](https://marketplace.truflation.com/) – Select your data stream, chain (Base), and copy the oracle address/job ID if needed. +- [Chainlink Data Streams docs](https://docs.chain.link/data-streams) +- [Chainlink CCIP docs](https://docs.chain.link/ccip) (for cross-chain) ### Quick Steps: 1. Use Remix or Hardhat with Base network config. -2. In `TruflationTester.sol`, update with the latest parameters from the resources above. -3. Fund your contract with LINK on Base (use faucets for testnet or bridges for mainnet). +2. Open `TruflationTester.sol` and update the oracle parameters: + - Go to the Marketplace link above, select your index and Base chain. + - Copy the provided **oracle address** and **job ID**. + - Paste them into the contract (replace the placeholders in the `requestYoYInflation` function or constructor). +3. Fund your contract with LINK on Base (use faucets for testnet like Base Sepolia, or bridges for mainnet). 4. Example Hardhat network config (add to your `hardhat.config.js`): ```js base: { @@ -135,4 +139,3 @@ Truflation data is fully available on Base, with cross-chain access supported vi accounts: [process.env.PRIVATE_KEY], chainId: 8453 // Use 84532 for Base Sepolia testnet } - } From e27867375c8ed4daa04601a32867a95b934679ad Mon Sep 17 00:00:00 2001 From: ukml <160087626+ukml@users.noreply.github.com> Date: Fri, 19 Dec 2025 09:43:51 +0000 Subject: [PATCH 4/7] Update README.md refactor: Polish Base guide per nitpick feedbackMade Step 2 more explicit: Clarify pasting oracle/job ID into constructor or request function Added direct links for Chainlink testnet faucet and mainnet bridging options Minor wording improvements for clarity. --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9bd7108..7108b7a 100644 --- a/README.md +++ b/README.md @@ -130,8 +130,10 @@ For the latest Base-compatible configurations: 2. Open `TruflationTester.sol` and update the oracle parameters: - Go to the Marketplace link above, select your index and Base chain. - Copy the provided **oracle address** and **job ID**. - - Paste them into the contract (replace the placeholders in the `requestYoYInflation` function or constructor). -3. Fund your contract with LINK on Base (use faucets for testnet like Base Sepolia, or bridges for mainnet). + - Paste them into the contract (typically in the constructor parameters or in the Chainlink request setup function, replacing any placeholders). +3. Fund your contract with LINK on Base: + - For testnet (Base Sepolia): Use the [Chainlink Faucet](https://faucets.chain.link/base-sepolia) (provides test LINK and ETH). + - For mainnet: Bridge LINK from Ethereum or other chains using a trusted bridge like [Base Official Bridge](https://bridge.base.org/) or third-party options. 4. Example Hardhat network config (add to your `hardhat.config.js`): ```js base: { From ab0146b450daf1d90d1a63718887a5b5d28d184c Mon Sep 17 00:00:00 2001 From: ukml <160087626+ukml@users.noreply.github.com> Date: Fri, 19 Dec 2025 09:49:53 +0000 Subject: [PATCH 5/7] Update README.md fix: Address major review - add concrete constructor guidance, LINK addresses, and funding linksSpecified exact constructor parameters and code locations in TruflationTester.sol Added official Chainlink LINK token addresses for Base mainnet/testnet Recommended fee range and direct faucet/bridge links Maintained accuracy about legacy vs. modern Data Streams for Base. --- README.md | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 7108b7a..32789b5 100644 --- a/README.md +++ b/README.md @@ -118,23 +118,27 @@ Adapters and node toml files to implement the API are available on github Truflation data is fully available on Base, with cross-chain access supported via Chainlink CCIP. -**Note:** As of December 2025, the legacy Chainlink "Any API" style (with fixed job IDs) used in this quickstart is primarily for testnets. On Base mainnet, Truflation recommends modern **Chainlink Data Streams** or custom streams via the Marketplace. +**Note:** As of December 2025, the legacy Chainlink "Any API" style (with fixed job IDs) in this quickstart is primarily for testnets. On Base mainnet, Truflation recommends modern **Chainlink Data Streams** or custom streams via the Marketplace for low-latency, production use. -For the latest Base-compatible configurations: -- [Truflation Marketplace](https://marketplace.truflation.com/) – Select your data stream, chain (Base), and copy the oracle address/job ID if needed. +For the latest configurations: +- [Truflation Marketplace](https://marketplace.truflation.com/) – Select your data stream and Base chain to get custom oracle/job details if needed. - [Chainlink Data Streams docs](https://docs.chain.link/data-streams) -- [Chainlink CCIP docs](https://docs.chain.link/ccip) (for cross-chain) - -### Quick Steps: -1. Use Remix or Hardhat with Base network config. -2. Open `TruflationTester.sol` and update the oracle parameters: - - Go to the Marketplace link above, select your index and Base chain. - - Copy the provided **oracle address** and **job ID**. - - Paste them into the contract (typically in the constructor parameters or in the Chainlink request setup function, replacing any placeholders). -3. Fund your contract with LINK on Base: - - For testnet (Base Sepolia): Use the [Chainlink Faucet](https://faucets.chain.link/base-sepolia) (provides test LINK and ETH). - - For mainnet: Bridge LINK from Ethereum or other chains using a trusted bridge like [Base Official Bridge](https://bridge.base.org/) or third-party options. -4. Example Hardhat network config (add to your `hardhat.config.js`): +- [Chainlink CCIP docs](https://docs.chain.link/ccip) + +### Quick Steps for TruflationTester.sol on Base: +1. Use Remix or Hardhat with Base network config (example below). +2. When deploying the contract: + - Pass parameters to the **constructor** (address oracleId_, string jobId_, uint256 fee_, address token_). + - Get oracle address and job ID from the Truflation Marketplace (select index + Base chain). + - Use fee: 0.1 - 0.5 LINK (in wei, e.g., 100000000000000000 for 0.1 LINK – common for requests). + - LINK token address: + - Mainnet: 0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196 + - Testnet (Base Sepolia): 0xE4aB69C077896252FAFBD49EFD26B5D171A32410 +3. Fund your deployed contract with LINK: + - Testnet (Base Sepolia): Use the [Chainlink Faucet](https://faucets.chain.link/base-sepolia) (provides test LINK + ETH). + - Mainnet: Bridge LINK using the [official Base Bridge](https://bridge.base.org/deposit) or other trusted bridges. +4. Call `requestYoyInflation()` on the deployed contract to fetch data. +5. Example Hardhat network config (add to your `hardhat.config.js`): ```js base: { url: "https://mainnet.base.org", From 1a2237a53a7225810d1c296aa7c77b54e1c313c2 Mon Sep 17 00:00:00 2001 From: ukml <160087626+ukml@users.noreply.github.com> Date: Fri, 19 Dec 2025 09:58:21 +0000 Subject: [PATCH 6/7] Update README.md fix: Address critical review - confirm official LINK addresses and add constructor detailsKept official Base mainnet LINK address from Chainlink docs (bot suggestion was incorrect) Updated testnet LINK address to official Added explicit constructor parameter explanation and exact function call note Improved funding links --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 32789b5..536e6ee 100644 --- a/README.md +++ b/README.md @@ -118,26 +118,25 @@ Adapters and node toml files to implement the API are available on github Truflation data is fully available on Base, with cross-chain access supported via Chainlink CCIP. -**Note:** As of December 2025, the legacy Chainlink "Any API" style (with fixed job IDs) in this quickstart is primarily for testnets. On Base mainnet, Truflation recommends modern **Chainlink Data Streams** or custom streams via the Marketplace for low-latency, production use. +**Note:** As of December 2025, the legacy Chainlink "Any API" style in this quickstart is primarily for testnets. On Base mainnet, Truflation recommends modern **Chainlink Data Streams** or custom streams via the Marketplace. For the latest configurations: -- [Truflation Marketplace](https://marketplace.truflation.com/) – Select your data stream and Base chain to get custom oracle/job details if needed. +- [Truflation Marketplace](https://marketplace.truflation.com/) – Select your data stream and Base chain to get custom details. - [Chainlink Data Streams docs](https://docs.chain.link/data-streams) - [Chainlink CCIP docs](https://docs.chain.link/ccip) ### Quick Steps for TruflationTester.sol on Base: 1. Use Remix or Hardhat with Base network config (example below). -2. When deploying the contract: - - Pass parameters to the **constructor** (address oracleId_, string jobId_, uint256 fee_, address token_). +2. When deploying the contract (constructor: address oracleId_, string jobId_, uint256 fee_, address token_): - Get oracle address and job ID from the Truflation Marketplace (select index + Base chain). - - Use fee: 0.1 - 0.5 LINK (in wei, e.g., 100000000000000000 for 0.1 LINK – common for requests). - - LINK token address: + - Fee: 0.1 - 0.5 LINK (in wei, e.g., 0.1 LINK = 100000000000000000). + - LINK token address (official Chainlink): - Mainnet: 0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196 - Testnet (Base Sepolia): 0xE4aB69C077896252FAFBD49EFD26B5D171A32410 3. Fund your deployed contract with LINK: - - Testnet (Base Sepolia): Use the [Chainlink Faucet](https://faucets.chain.link/base-sepolia) (provides test LINK + ETH). - - Mainnet: Bridge LINK using the [official Base Bridge](https://bridge.base.org/deposit) or other trusted bridges. -4. Call `requestYoyInflation()` on the deployed contract to fetch data. + - Testnet: [Chainlink Faucet for Base Sepolia](https://faucets.chain.link/base-sepolia) (provides test LINK + ETH). + - Mainnet: Bridge LINK using the [Base Bridge](https://bridge.base.org/deposit). +4. Call `requestYoyInflation()` to fetch data. 5. Example Hardhat network config (add to your `hardhat.config.js`): ```js base: { @@ -145,3 +144,4 @@ For the latest configurations: accounts: [process.env.PRIVATE_KEY], chainId: 8453 // Use 84532 for Base Sepolia testnet } + From c7179f437fa5b1b3568bbc8975847b1fc78af74f Mon Sep 17 00:00:00 2001 From: ukml <160087626+ukml@users.noreply.github.com> Date: Fri, 19 Dec 2025 16:54:37 +0000 Subject: [PATCH 7/7] style: Use en dash for fee range per nitpick MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Minor style improvement: Replace hyphen with en dash in fee range (0.1–0.5 LINK) as suggested by CodeRabbit. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 536e6ee..7cd2f1e 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,7 @@ For the latest configurations: 1. Use Remix or Hardhat with Base network config (example below). 2. When deploying the contract (constructor: address oracleId_, string jobId_, uint256 fee_, address token_): - Get oracle address and job ID from the Truflation Marketplace (select index + Base chain). - - Fee: 0.1 - 0.5 LINK (in wei, e.g., 0.1 LINK = 100000000000000000). + - Fee: 0.1 – 0.5 LINK (in wei, e.g., 0.1 LINK = 100000000000000000). - LINK token address (official Chainlink): - Mainnet: 0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196 - Testnet (Base Sepolia): 0xE4aB69C077896252FAFBD49EFD26B5D171A32410