-
bitcoin $78198.635718 USD
-1.33% -
ethereum $2474.500095 USD
-1.46% -
tether $0.999592 USD
-0.03% -
bnb $718.879658 USD
-4.94% -
xrp $1.384527 USD
-3.75% -
usd-coin $0.999855 USD
-0.01% -
solana $101.648741 USD
-3.09% -
tron $0.339659 USD
0.19% -
hyperliquid $83.328014 USD
-3.89% -
zcash $1219.056200 USD
-1.32% -
dogecoin $0.085451 USD
-5.85% -
monero $512.088793 USD
1.62% -
chainlink $11.814290 USD
-6.24% -
unus-sed-leo $9.192787 USD
0.12% -
cardano $0.213806 USD
-3.36%
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.
-
ETHFI Échangez maintenant$0.6953
14.05%
-
FF Échangez maintenant$0.1647
9.12%
-
VET Échangez maintenant$0.008233
8.37%
-
STABLE Échangez maintenant$0.03040
7.50%
-
KAS Échangez maintenant$0.03736
6.68%
-
JST Échangez maintenant$0.1041
1.72%
- Analyste XRP Analyse des actifs cryptographiques : Bird appelle à une cassure à 1,48 $, tandis que d'autres débattent des valorisations à long terme et des modèles cycliques
- 2026-09-10 16:35:01
- Déballage des avis Binance Trustpilot 2026 : séparer les faits de la fiction au milieu des affirmations 1 étoile
- 2026-09-10 16:35:01
- Backpack Securities, Solana et Actions : une nouvelle aube pour l'exposition aux actions en chaîne (mais lisez les petits caractères !)
- 2026-09-10 12:35:01
- Frog Crown & Robinhood Chain : Kermit prend le trône alors que Pons déclenche la folie des millionnaires
- 2026-09-10 12:45:02
- macOS 27, Siri AI et Image Playground : un aperçu de l'avenir mesuré d'Apple
- 2026-09-10 09:00:01
- Prédiction des prix de Cardano : les baleines ADA et le signal du scanner en direct Pepeto d'octobre Bull Run
- 2026-09-10 08:40:01
Connaissances connexes
Comment clôturer une partie d’une position à terme OKX ?
Sep 10,2026 at 10:39am
Comprendre les mécanismes de clôture partielle de position 1. Les contrats à terme OKX prennent en charge la clôture partielle via le placement d'...
Comment ajouter une marge à une position OKX ?
Sep 10,2026 at 07:20am
Modèles de volatilité du marché 1. Des fluctuations de prix supérieures à 15 % sur une fenêtre de 24 heures se sont produites au cours de plus de 68 %...
Comment changer le mode de marge sur OKX Futures ?
Sep 09,2026 at 12:00am
Comprendre les principes fondamentaux du mode marge 1. Le mode Marge détermine la manière dont la garantie est répartie entre les positions dans le tr...
Comment trouver des perpétuels XRP sur OKX ?
Sep 10,2026 at 05:00pm
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 trouver le marché BTC/USDT sur OKX ?
Sep 10,2026 at 01:20am
Cartographie des symboles du marché 1. OKX utilise un format d'identification d'instrument standardisé qui diffère de la notation courante des...
Comment définir un stop suiveur sur les contrats à terme Bybit ?
Sep 09,2026 at 08:20pm
Comprendre la mécanique du Trailing Stop 1. Un stop suiveur sur Bybit Futures est un type d'ordre dynamique qui s'ajuste automatiquement à mes...
Comment clôturer une partie d’une position à terme OKX ?
Sep 10,2026 at 10:39am
Comprendre les mécanismes de clôture partielle de position 1. Les contrats à terme OKX prennent en charge la clôture partielle via le placement d'...
Comment ajouter une marge à une position OKX ?
Sep 10,2026 at 07:20am
Modèles de volatilité du marché 1. Des fluctuations de prix supérieures à 15 % sur une fenêtre de 24 heures se sont produites au cours de plus de 68 %...
Comment changer le mode de marge sur OKX Futures ?
Sep 09,2026 at 12:00am
Comprendre les principes fondamentaux du mode marge 1. Le mode Marge détermine la manière dont la garantie est répartie entre les positions dans le tr...
Comment trouver des perpétuels XRP sur OKX ?
Sep 10,2026 at 05:00pm
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 trouver le marché BTC/USDT sur OKX ?
Sep 10,2026 at 01:20am
Cartographie des symboles du marché 1. OKX utilise un format d'identification d'instrument standardisé qui diffère de la notation courante des...
Comment définir un stop suiveur sur les contrats à terme Bybit ?
Sep 09,2026 at 08:20pm
Comprendre la mécanique du Trailing Stop 1. Un stop suiveur sur Bybit Futures est un type d'ordre dynamique qui s'ajuste automatiquement à mes...
Voir tous les articles














