-
bitcoin $79248.069182 USD
1.09% -
ethereum $2511.064695 USD
1.53% -
tether $0.999850 USD
0.01% -
bnb $756.247700 USD
0.89% -
xrp $1.438158 USD
3.79% -
usd-coin $0.999958 USD
0.01% -
solana $104.884928 USD
2.06% -
tron $0.339008 USD
0.51% -
hyperliquid $86.722420 USD
3.32% -
zcash $1235.386194 USD
9.84% -
dogecoin $0.090749 USD
1.59% -
monero $503.916600 USD
-2.09% -
chainlink $12.600233 USD
-0.32% -
unus-sed-leo $9.181565 USD
-0.39% -
cardano $0.221251 USD
2.14%
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.
-
NEAR Échangez maintenant$2.58
9.25%
-
ZEC Échangez maintenant$1262.00
9.24%
-
VVV Échangez maintenant$24.45
6.95%
-
ATOM Échangez maintenant$1.88
5.04%
-
PUMP Échangez maintenant$0.004637
4.79%
-
FF Échangez maintenant$0.1502
4.21%
- Bitcoin oscille près de la zone critique de 38 000 $ au milieu de l'évolution du sentiment du marché
- 2026-09-09 16:45:01
- Le prix du XRP est prêt à éclater au milieu d’une nouvelle accumulation de baleines en septembre
- 2026-09-09 12:35:01
- Un cinquième suspect de Zondacrypto inculpé alors que l'enquête polonaise sur la cryptographie s'élargit
- 2026-09-08 20:45:01
- Prédiction de prix Cosmos : $ATOM envisage une cassure majeure au milieu d'un élan multi-chaînes – Les niveaux IMP révélés !
- 2026-09-08 20:45:01
- La mise à niveau des transactions V1 de Solana libère des preuves ZK et une capacité de transaction améliorée, remodelant la confidentialité et la mise à l'échelle de la blockchain
- 2026-09-08 20:40:02
- Surveillance des prix XRP : des dates critiques se profilent alors que les analystes envisagent un objectif de 2 $ au milieu des changements du marché
- 2026-09-08 20:40:02
Connaissances connexes
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 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 changer de mode de marge sur Bybit Futures ?
Sep 09,2026 at 06:00am
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 annuler une commande en attente sur Bybit ?
Sep 09,2026 at 07:40am
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin impose un plafond d'approvisionnement fixe de 21 millions de pièces, avec de n...
Comment vérifier le retour sur investissement d'un lead trader sur Binance ?
Sep 09,2026 at 10:20pm
Accéder au profil du Lead Trader 1. Connectez-vous à votre compte Binance et accédez à la section Copy Trading via la barre de navigation supérieure o...
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 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 changer de mode de marge sur Bybit Futures ?
Sep 09,2026 at 06:00am
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 annuler une commande en attente sur Bybit ?
Sep 09,2026 at 07:40am
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin impose un plafond d'approvisionnement fixe de 21 millions de pièces, avec de n...
Comment vérifier le retour sur investissement d'un lead trader sur Binance ?
Sep 09,2026 at 10:20pm
Accéder au profil du Lead Trader 1. Connectez-vous à votre compte Binance et accédez à la section Copy Trading via la barre de navigation supérieure o...
Voir tous les articles














