-
bitcoin $78311.742754 USD
-1.90% -
ethereum $2245.886032 USD
-2.70% -
tether $0.998203 USD
-0.04% -
bnb $712.879778 USD
-5.03% -
xrp $1.258841 USD
-2.42% -
usd-coin $0.999540 USD
-0.01% -
solana $97.855460 USD
-1.96% -
tron $0.331507 USD
0.16% -
hyperliquid $92.902634 USD
17.89% -
zcash $1261.764238 USD
1.85% -
dogecoin $0.076045 USD
-2.24% -
monero $588.272782 USD
-0.06% -
unus-sed-leo $9.437086 USD
-0.19% -
chainlink $11.095621 USD
-2.45% -
cardano $0.193396 USD
-2.04%
Uniswap Price Oracle : Comment l’utiliser ? (Guide du développeur)
Uniswap price oracles use time-weighted average prices (TWAPs) from cumulative reserve data—developers compute averages over custom windows by subtracting and dividing stored `priceCumulativeLast` values by elapsed time.
Apr 04, 2026 at 04:40 pm
Comprendre les oracles de prix Uniswap
1. Les oracles de prix d'Uniswap s'appuient sur des prix moyens pondérés dans le temps (TWAP) dérivés des réserves historiques du pool plutôt que sur des prix au comptant instantanés.
2. Chaque oracle stocke les valeurs de prix cumulées mises à jour à chaque bloc, permettant aux développeurs de calculer des moyennes sur des fenêtres de temps personnalisées.
3. Le mécanisme de base consiste à lire les variables price0CumulativeLast et price1CumulativeLast du contrat de paire.
4. Ces valeurs représentent la somme du prix * du temps écoulé depuis la dernière mise à jour, mesurée en secondes.
5. Les développeurs doivent appeler observer() ou calculer manuellement les différences entre deux instantanés pour obtenir le prix moyen sur une durée souhaitée.
Configuration d'Oracle Observations
1. Les pools doivent être initialisés avec initialize() avant qu'une fonctionnalité Oracle ne devienne active.
2. La fonction #observe() permet de récupérer plusieurs niveaux de prix à la fois, jusqu'à 512 observations par appel.
3. Les slots d'observation sont des tableaux de taille fixe avec des indices modulo 512 ; chaque emplacement contient des données d'horodatage et de prix.
4. Les développeurs doivent s'assurer que la fenêtre horaire demandée ne dépasse pas l'âge de la plus ancienne observation disponible.
5. Si aucune observation n'existe pour un horodatage demandé, le système revient à moins qu'une logique de repli ne soit implémentée hors chaîne.
Calcul des prix moyens pondérés dans le temps
1. Pour calculer le TWAP, soustrayez le prix cumulé à l'heure de début de celui à l'heure de fin, puis divisez par les secondes écoulées.
2. La formule est la suivante : (P_end - P_start) / (t_end - t_start) , où P désigne le prix cumulé et t désigne l'horodatage du bloc.
3. Pour les paires token0/token1, price0CumulativeLast donne le rapport token1 par token0, tandis que price1CumulativeLast donne le ratio token0 par token1.
4. Une perte de précision peut survenir en raison de l'arithmétique à virgule fixe ; les développeurs doivent utiliser le format Q112.112 pour les calculs intermédiaires.
5. Le calcul hors chaîne nécessite souvent une synchronisation avec les horodatages en chaîne et la validation des numéros de bloc pour empêcher toute manipulation via l'usurpation d'horodatage.
Considérations et limites de sécurité
1. Les oracles sont vulnérables aux attaques de prêt flash s'ils sont utilisés sans fenêtres de temps suffisantes, car les attaquants peuvent manipuler les réserves au sein d'un seul bloc.
2. Les courtes périodes d’observation augmentent la sensibilité aux pics de volatilité et aux anticipations en période de faible liquidité.
3. Les développeurs doivent vérifier que le contrat de paire implémente la version correcte de l'interface Oracle Uniswap V2 ou V3.
4. La protection contre la réentrée est intégrée à la fonction d'observation, mais les wrappers personnalisés peuvent réintroduire des risques s'ils ne sont pas audités de manière approfondie.
5. Il n'existe aucune gestion native des erreurs pour les données obsolètes ; les applications doivent implémenter des délais d'attente et des mécanismes de secours lors de l'observation d'emplacements obsolètes.
Foire aux questions
Q : Les oracles Uniswap peuvent-ils être utilisés directement dans les contrats intelligents Solidity sans appels externes ? R : Oui, mais uniquement pour observer les valeurs cumulées stockées ; Le calcul TWAP réel nécessite le calcul des deltas de temps, ce qui nécessite soit un prétraitement hors chaîne, soit une validation d'horodatage en chaîne.
Q : Que se passe-t-il si je demande une observation plus ancienne que le créneau stocké le plus ancien ? R : La fonction observe() revient avec une erreur TooOld à moins que l'appelant ne fournisse un index valide dans la plage du tampon circulaire.
Q : Est-il sûr d'utiliser les oracles Uniswap V2 pour les protocoles DeFi de grande valeur ? R : Cela dépend de la fenêtre horaire sélectionnée ; les protocoles exigeant une résistance à la manipulation doivent utiliser des fenêtres dépassant 24 heures et se combiner avec d'autres sources de données pour la redondance.
Q : Les oracles Uniswap V3 diffèrent-ils considérablement de la V2 en termes de modèles d'utilisation ? R : Oui, la V3 introduit une tarification basée sur les ticks et une liquidité concentrée, obligeant les développeurs à tenir compte des plages de liquidité actives lors de l'interprétation des données de prix cumulées sur des intervalles de temps non uniformes.
Clause de non-responsabilité:info@kdj.com
Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!
Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.
-
XPL Échangez maintenant$0.08006
5.26%
-
NIGHT Échangez maintenant$0.03955
3.38%
-
BCH Échangez maintenant$289.57
2.75%
-
SKY Échangez maintenant$0.06726
1.93%
-
POL Échangez maintenant$0.09306
1.67%
-
ZRO Échangez maintenant$1.69
0.91%
- Bitwise Bitcoin, Pepeto et Pepe Record : une minute new-yorkaise sur la course sauvage de la crypto
- 2026-10-31 04:35:01
- Circle CCTP domine les ponts cryptographiques, le volume de l'USDC monte en flèche dans un paysage inter-chaînes en évolution
- 2026-10-30 21:15:01
- Le CIP-0113 de la Fondation Cardano propulse les titres tokenisés sous le feu des projecteurs en Suisse
- 2026-10-30 20:55:01
- La Banque de Russie choisit NAUFOR comme premier SRO crypto, ouvrant la voie à une nouvelle ère pour les échanges
- 2026-10-30 20:45:01
- Ripple et World Liberty Financial unissent leurs forces à Tether et Circle pour geler les fonds au milieu des inquiétudes liées au piratage de Binance
- 2026-10-30 20:50:01
- PEPE Memecoin : Binance Hacker Dump vs Whale Purchase – Un tour de montagnes russes
- 2026-10-30 20:55:01
Connaissances connexes
Comment exporter des enregistrements de trading au comptant depuis Gate.io
Oct 18,2026 at 03:20am
Accès aux enregistrements de trading au comptant via l'interface Web 1. Connectez-vous à votre compte Gate.io et accédez à la section Spot Trading...
Comment trouver l'historique des retraits de crypto sur KuCoin
Oct 27,2026 at 08:49am
Accéder aux enregistrements de retrait via l'interface Web KuCoin 1. Connectez-vous à votre compte KuCoin à l'aide d'informations d'id...
Comment vérifier le TAEG des économies flexibles USDT sur OKX
Oct 15,2026 at 10:00pm
Comprendre le TAEG dans OKX Flexible Savings 1. APR signifie Annual Pourcentage Rate et reflète le rendement annuel nominal des dépôts USDT sans effet...
Comment afficher vos récompenses de jetons Binance Launchpool
Oct 26,2026 at 06:19am
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel les récompenses de bloc son...
Comment arrêter de copier un trader sur Bitget
Oct 16,2026 at 02:59am
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 15 % sur une fenêtre de 24 heures lors d'annonces macroécono...
Comment vérifier votre part des bénéfices du trading de copie sur Bybit
Oct 16,2026 at 10:19am
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier fixe dans lequel les récompenses de bloc sont réduites de m...
Comment exporter des enregistrements de trading au comptant depuis Gate.io
Oct 18,2026 at 03:20am
Accès aux enregistrements de trading au comptant via l'interface Web 1. Connectez-vous à votre compte Gate.io et accédez à la section Spot Trading...
Comment trouver l'historique des retraits de crypto sur KuCoin
Oct 27,2026 at 08:49am
Accéder aux enregistrements de retrait via l'interface Web KuCoin 1. Connectez-vous à votre compte KuCoin à l'aide d'informations d'id...
Comment vérifier le TAEG des économies flexibles USDT sur OKX
Oct 15,2026 at 10:00pm
Comprendre le TAEG dans OKX Flexible Savings 1. APR signifie Annual Pourcentage Rate et reflète le rendement annuel nominal des dépôts USDT sans effet...
Comment afficher vos récompenses de jetons Binance Launchpool
Oct 26,2026 at 06:19am
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel les récompenses de bloc son...
Comment arrêter de copier un trader sur Bitget
Oct 16,2026 at 02:59am
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 15 % sur une fenêtre de 24 heures lors d'annonces macroécono...
Comment vérifier votre part des bénéfices du trading de copie sur Bybit
Oct 16,2026 at 10:19am
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier fixe dans lequel les récompenses de bloc sont réduites de m...
Voir tous les articles














