Chainlinkの基礎
分散型オラクルネットワークであるChainlinkのアーキテクチャと、スマートコントラクトに信頼性の高いデータフィードを提供する仕組みを学びます。
「Chainlinkの基礎」はCoddyKit上の無料Web3 & DApp Development Fundamentalsレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはWeb3 & DApp Development Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Web3 & DApp Development Fundamentalsコースには全3レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
Bridging On-Chain and Off-Chain Worlds
Welcome! In the previous lesson, we learned about the "oracle problem" – how smart contracts on blockchains are isolated and can't access real-world data directly. This is where Chainlink comes in!
Chainlink is a decentralized oracle network that acts as a secure bridge, connecting smart contracts to external data, APIs, and traditional payment systems.
Why Blockchains Need External Data
Remember, blockchains are designed to be secure and deterministic. This means they can't natively "look up" information from the internet, like the current price of Bitcoin, weather data, or election results.
- Smart contracts need external data to make informed decisions.
- Without a reliable bridge, DApps would be very limited.
The Power of Decentralized Oracles
An oracle is essentially a data feed that brings information from the outside world onto the blockchain. But a single oracle can be a single point of failure or manipulation.
Chainlink solves this by being a decentralized oracle network. Instead of one source, it uses many independent data providers and validators to ensure data integrity and reliability.
How Chainlink Connects Everything
Chainlink's architecture involves several key components working together:
- Data Providers: Sources of off-chain information (e.g., exchanges, weather APIs).
- Chainlink Nodes: Independent operators that fetch data and deliver it to blockchains.
- Requesting Contracts: Smart contracts that ask for data.
- Aggregators: Contracts that combine data from multiple nodes.
The Backbone: Chainlink Nodes
Think of Chainlink Nodes as the workers of the network. These are independent servers run by various operators around the world.
Their job is to:
- Listen for data requests from smart contracts.
- Fetch the requested data from specified off-chain sources.
- Format the data and send it back to the blockchain.
They are incentivized to provide accurate data.
Ensuring Trustworthy Data
To prevent a single node from providing incorrect data, Chainlink employs data aggregation. When a smart contract requests data, it often receives responses from multiple Chainlink nodes.
These responses are then aggregated (e.g., by taking the median) to produce a single, highly reliable data point. This makes the data tamper-proof and robust.
Fueling the Network: The LINK Token
The LINK token is the native cryptocurrency of the Chainlink network. It plays a crucial role in its operation:
- Payment: Smart contracts pay Chainlink node operators in LINK for their data services.
- Staking: Node operators can stake LINK as collateral, providing a financial incentive to behave honestly.
It's the economic engine that secures the network.
Essential Data: Chainlink Price Feeds
One of Chainlink's most widely used applications is its Price Feeds. These provide highly reliable and decentralized price data for cryptocurrencies, commodities, and more.
Decentralized Finance (DeFi) applications heavily rely on these feeds for:
- Accurate asset valuation.
- Calculating loan collateral.
- Executing liquidations.
Reading Price Data in Solidity
Smart contracts can easily consume data from Chainlink Price Feeds. Here's a simplified example of a Solidity contract reading the latest ETH/USD price from an existing feed.
This contract uses an interface to interact with a deployed Chainlink Aggregator contract.
pragma solidity ^0.8.0;
import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
contract PriceConsumerV3 {
AggregatorV3Interface internal priceFeed;
constructor() {
// Rinkeby ETH/USD Price Feed address (example)
// (Use appropriate address for your network)
priceFeed = AggregatorV3Interface(
0x8A753747A1Fa494EC906cE90E9f37563A8dC4C99
);
}
function getLatestPrice() public view returns (int) {
(
uint80 roundID,
int price,
uint startedAt,
uint timeStamp,
uint80 answeredInRound
) = priceFeed.latestRoundData();
return price;
}
}Chainlink's Core Function
Chainlink is crucial for enabling smart contracts to interact with the real world securely and reliably. Let's test your understanding.
Summary: Connecting Blockchains to Reality
Great job! In this lesson, you've gained a fundamental understanding of Chainlink and its vital role in the Web3 ecosystem.
- Chainlink solves the "oracle problem" by connecting smart contracts to real-world data.
- It uses a network of decentralized nodes and data aggregation to ensure data reliability.
- The LINK token incentivizes node operators and secures the network.
- Chainlink Price Feeds are a key application, providing essential data for DeFi.
Next, we'll dive into how to fetch this off-chain data in more detail!
よくある質問
「Chainlinkの基礎」レッスンは無料ですか?
はい。「Chainlinkの基礎」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Web3 & DApp Development Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Web3 & DApp Development Fundamentalsコースには全3レッスンが含まれています。
「Chainlinkの基礎」で何を学びますか?
分散型オラクルネットワークであるChainlinkのアーキテクチャと、スマートコントラクトに信頼性の高いデータフィードを提供する仕組みを学びます。 ブラウザで直接実行するハンズオンコードでWeb3 & DApp Development Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Web3 & DApp Development Fundamentalsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのWeb3 & DApp Development Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。
「Chainlinkの基礎」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このWeb3 & DApp Development Fundamentalsレッスンでコードを書いて実行できますか?
はい。すべてのWeb3 & DApp Development Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- オラクル問題
- Chainlinkの基礎
- オフチェーンデータの取得