Skip to content

Comments

feat: Add Base deployment guide and examples#9

Open
ukml wants to merge 7 commits intotruflation:mainfrom
ukml:git-checkout--b-add-base-deployment-guide
Open

feat: Add Base deployment guide and examples#9
ukml wants to merge 7 commits intotruflation:mainfrom
ukml:git-checkout--b-add-base-deployment-guide

Conversation

@ukml
Copy link

@ukml ukml commented Dec 19, 2025

This PR adds a dedicated section for deploying and using Truflation oracles on Base – Coinbase's Layer 2 where Truflation is natively supported and funded via the Base Ecosystem Fund.

Changes:

  • New "Deploying on Base" section in README.md
  • Hardhat/Remix config examples
  • Notes on Chainlink CCIP and LINK funding on Base

Benefits:

  • Lowers barrier for Base ecosystem developers
  • Supports onchain farming and RWA projects using real-time economic data
  • Aligns with Truflation's strategic Base integration and Brian Armstrong's praise

Happy to adjust or add more examples! 🚀 @truflation

Summary by CodeRabbit

  • Documentation
    • Added README section on deploying to Base (Coinbase Layer 2) and using Chainlink CCIP for cross‑chain access.
    • Recommends Chainlink Data Streams or marketplace-based streams over legacy Any API; notes limited public Any API IDs on Base mainnet.
    • Adds quick setup steps: selecting streams, updating oracle/job settings, funding with LINK on Base (testnet/mainnet guidance), and sample network config.
    • No functional code changes.

✏️ Tip: You can customize this high-level summary in your review settings.

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.
@coderabbitai
Copy link

coderabbitai bot commented Dec 19, 2025

Walkthrough

Added a "Deploying on Base (Coinbase's Layer 2)" section to README.md describing Base compatibility, Chainlink CCIP cross-chain options, recommendation to prefer Chainlink Data Streams or marketplace streams over legacy Any API, quick deployment steps (oracle/job ID, LINK funding), and a sample Hardhat/Remix network snippet. No code changes.

Changes

Cohort / File(s) Summary
Documentation Updates
README.md
Added "Deploying on Base (Coinbase's Layer 2)" section covering Base compatibility and Chainlink CCIP cross-chain access; recommends Chainlink Data Streams or marketplace streams over legacy Any API; notes absence of public Any API IDs for Base mainnet; includes quick steps for Remix/Hardhat (update TruflationTester.sol oracle address & job ID, fund with LINK) and a sample Hardhat network config snippet.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

  • Documentation-only change with no functional code modifications
  • Suggested quick checks:
    • Verify formatting and placeholders in the Hardhat/Remix network snippet
    • Confirm external doc links and terminology (Chainlink CCIP, Data Streams, marketplace) are accurate
    • Ensure any example oracle addresses/job IDs are clearly marked as placeholders

Poem

🐰 I nibble docs beneath the moon,

Hop to Base with a cheerful tune,
CCIP bridges span the night,
Streams and markets guiding light,
Hop, deploy — the data's soon.

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: Add Base deployment guide and examples' directly and accurately reflects the main change: adding a new deployment guide section for Base (Coinbase's Layer 2) to the README with configuration examples.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ab0146b and c7179f4.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • README.md

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6f8487b and 5669e45.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🔇 Additional comments (1)
README.md (1)

126-130: The Hardhat config snippet is incomplete and will not execute.

The configuration block is missing a closing brace and appears truncated. Additionally, the chainId property is typically required for network configurations.

🔎 Proposed fix for complete Hardhat config
   base: {
     url: "https://mainnet.base.org",
     accounts: [process.env.PRIVATE_KEY]
+    chainId: 8453,
+  }

(Note: Adjust chainId if targeting Base Sepolia testnet, which uses 84532)

Likely an incorrect or invalid review comment.

…acle 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
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5669e45 and 3747b14.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
README.md

123-123: Bare URL used

(MD034, no-bare-urls)


124-124: Bare URL used

(MD034, no-bare-urls)


125-125: Bare URL used

(MD034, no-bare-urls)

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
Copy link
Author

@ukml ukml left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
README.md (1)

128-134: Step 2 guidance is improved but could be more explicit.

The updated step 2 (lines 130–133) is significantly clearer than the previous "update with the latest parameters" guidance. However, it could be strengthened:

  • Clarify where in the contract code to paste the oracle address and job ID. For example: "In TruflationTester.sol, update the ORACLE_ADDRESS and JOB_ID variables at the top of the contract, or pass them to the constructor."
  • Step 3 mentions "use faucets for testnet like Base Sepolia, or bridges for mainnet" but doesn't provide links. Consider adding: "For Base Sepolia testnet, use Base faucets or Chainlink faucet. For mainnet, bridge LINK via Stargate or another cross-chain bridge."

This would remove ambiguity for developers less familiar with the Chainlink ecosystem.

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3747b14 and 64b8ef3.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🔇 Additional comments (2)
README.md (2)

136-140: Hardhat config is correct.

The configuration snippet is syntactically correct and the notes about Base mainnet (8453) and testnet (84532) chain IDs are accurate and helpful. The use of process.env.PRIVATE_KEY for account management follows security best practices.


117-127: The Base section uses an intentionally different, modern approach from Arbitrum—comparison is not applicable.

The document explicitly directs users to the Marketplace for current oracle configurations on Base, which is the stated recommendation for Base mainnet as of December 2025. Unlike Arbitrum's static legacy parameters, Base uses dynamic sourcing via Chainlink Data Streams and the Marketplace to avoid stale configurations. Step 2 clearly instructs users to retrieve the oracle address and job ID from the Marketplace, and Step 3 covers LINK funding. This approach is appropriate and aligns with Chainlink's modern data delivery model. No additional static parameters needed.

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.
Copy link
Author

@ukml ukml left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 64b8ef3 and e278673.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🔇 Additional comments (1)
README.md (1)

117-126: Good resource linking and documentation structure.

Lines 117-126 properly format the markdown links and clearly explain the Base integration with helpful context about the transition from legacy Any API to modern Data Streams.

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.
Copy link
Author

@ukml ukml left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
README.md (1)

133-133: Minor typographical suggestion: use en dash in numeric range.

The range "0.1 - 0.5 LINK" uses a hyphen; consider an en dash for better typography: "0.1 – 0.5 LINK". This is a stylistic note and not blocking.

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e278673 and ab0146b.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md

[typographical] ~133-~133: Consider using an en dash here instead of a hyphen.
Context: ...ct index + Base chain). - Use fee: 0.1 - 0.5 LINK (in wei, e.g., 10000000000000000...

(QB_NEW_EN_DASH_RULE_EN)

🔇 Additional comments (1)
README.md (1)

117-147: Well-structured Base deployment guide with verified accuracy.

The RPC endpoint, chain IDs, and faucet references are correct, and the Base Sepolia LINK token address is verified. The documentation successfully addresses past reviewer feedback by:

  • Providing specific LINK token addresses for testnet and mainnet
  • Including concrete fee ranges (0.1–0.5 LINK in wei)
  • Referencing the correct Chainlink faucet for Base Sepolia
  • Distinguishing clearly between legacy Any API (testnets) and modern Data Streams (mainnet)

Once the mainnet LINK address is corrected, this section will be a strong addition for Base developers.

- 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
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Incorrect Base mainnet LINK token address.

The correct LINK token contract address for Base mainnet is 0xcbc8a9e1073cfac0f5d0e52ff96fe47b2adaf480, not the address currently listed. Using the incorrect address will cause token transfer failures when users attempt to fund their contracts.

🔎 Proposed fix
-     - Mainnet: 0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196
+     - Mainnet: 0xcbc8a9e1073cfac0f5d0e52ff96fe47b2adaf480
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Mainnet: 0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196
- Mainnet: 0xcbc8a9e1073cfac0f5d0e52ff96fe47b2adaf480
🤖 Prompt for AI Agents
In README.md around line 135, the listed Base mainnet LINK token address is
incorrect (0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196); replace it with the
correct address 0xcbc8a9e1073cfac0f5d0e52ff96fe47b2adaf480 so users funding
contracts use the right token contract and avoid transfer failures. Ensure the
address is updated exactly in the Mainnet entry and verify there are no other
occurrences of the old address elsewhere in the README.

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
Copy link
Author

@ukml ukml left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Minor style improvement: Replace hyphen with en dash in fee range (0.1–0.5 LINK) as suggested by CodeRabbit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant