Інтеграція Pyth Network (Оракули)
Pyth Network — альтернатива Chainlink з іншою моделлю: first-party дані джерела. Ціни поставляються напрямку від фінансових установ — Jane Street, Jump Trading, Cboe. Sub-second оновлення (400ms затримка). Домінує на Solana, активно зростає в EVM екосистемі через кросс-ланцюгову інфраструктуру.
Pull vs Push oracle модель
Chainlink (Push): оператори періодично оновлюють ціну on-chain. Ціна завжди доступна в смарт-контракті. Оновлення відбуваються за часом або deviation-based triggers. Газ платить протокол Chainlink.
Pyth (Pull): ціни оновлюються off-chain постійно. Для on-chain використання — користувач включає оновлення цени у транзакцію. Користувач платить газ. Дає sub-second свіжість без постійних on-chain транзакцій.
EVM Інтеграція
Встановлення
npm install @pythnetwork/pyth-sdk-solidity
npm install @pythnetwork/pyth-evm-js
Смарт-контракт
import "@pythnetwork/pyth-sdk-solidity/IPyth.sol";
import "@pythnetwork/pyth-sdk-solidity/PythStructs.sol";
contract PythConsumer {
IPyth pyth;
bytes32 constant ETH_USD_PRICE_ID =
0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace;
constructor(address pythAddress) {
pyth = IPyth(pythAddress);
}
function doSomethingWithPrice(bytes[] calldata updateData) external payable {
// Оновити ціну (користувач платить комісію)
uint fee = pyth.getUpdateFee(updateData);
pyth.updatePriceFeeds{value: fee}(updateData);
// Отримати оновлену ціну
PythStructs.Price memory price = pyth.getPriceNoOlderThan(
ETH_USD_PRICE_ID,
60 // max age in seconds
);
int256 ethPrice = price.price * int256(10 ** (18 + price.expo));
}
}
Frontend: отримання updateData
import { PriceServiceConnection } from "@pythnetwork/pyth-evm-js";
const connection = new PriceServiceConnection("https://hermes.pyth.network");
const priceUpdateData = await connection.getLatestVaas([ETH_USD_PRICE_ID]);
// Передати у транзакцію
await contract.doSomethingWithPrice(priceUpdateData, { value: updateFee });
Confidence Interval
Унікально для Pyth — кожна ціна включає confidence interval (conf). Стандартне відхилення по джерелам.
Дозволяє протоколу захистити себе від ненадійних цін.
Pyth чудовий для протоколів, що вимагають high-frequency оновлень цін (perp DEX, lending з ліквідаціями у волатильних умовах).







