-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
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.
-
RAIN Échangez maintenant$0.007852
113.00%
-
PIPPIN Échangez maintenant$0.06097
51.96%
-
PARTI Échangez maintenant$0.1396
42.04%
-
WAVES Échangez maintenant$0.9141
41.69%
-
ARC Échangez maintenant$0.04302
35.73%
-
HONEY Échangez maintenant$0.01029
21.80%
- Bitcoin, eCash Fork et Airdrop Dynamics : une plongée approfondie dans les dernières controverses de la cryptographie
- 2026-05-03 12:55:01
- Consensus 2026 Miami : Web3, Blockchain, Crypto-monnaie, NFT, Metaverse, conférence, 5 mai — Là où Wall Street rencontre la frontière numérique
- 2026-05-02 12:45:01
- La Fed maintient ses taux stables, déclenchant une baisse du prix du Bitcoin dans un contexte de tensions géopolitiques
- 2026-05-01 06:45:01
- Les mineurs de Bitcoin électrifient le réseau : l'acquisition d'une usine à gaz dans l'Ohio ouvre une nouvelle ère pour l'or numérique
- 2026-05-01 00:45:01
- Le jeton MEGA de MegaETH arrive dans la Big Apple : définition de nouveaux critères de performance pour la blockchain en temps réel
- 2026-05-01 00:55:01
- La pente glissante de Solana : les prévisions de prix indiquent une perte de résistance et de nouvelles baisses potentielles
- 2026-05-01 06:45:01
Connaissances connexes
Comment utiliser la preuve de réserves de Kraken pour vérifier que mes fonds sont garantis ?
Jun 02,2026 at 08:59am
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin impose une réduction des récompenses de bloc tous les 210 000 blocs, environ tous ...
Comment corriger « échec de la vérification de sécurité » lors du retrait de Bybit après un changement d'appareil ?
May 28,2026 at 06:59pm
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel la récompense de bloc est r...
Comment corriger « Impossible de lier la banque – incompatibilité de nom » sur Coinbase ?
May 29,2026 at 06:19am
Comprendre l'erreur d'incompatibilité de nom 1. L'erreur se produit lorsque le nom légal enregistré sur un compte Coinbase ne correspond p...
Comment réparer la « maintenance du réseau » provoquant des retards dans les dépôts sur OKX ?
May 31,2026 at 10:00pm
Comprendre l'impact de la maintenance du réseau sur les dépôts OKX 1. Les événements de maintenance du réseau sur OKX ne sont pas des interruption...
Comment utiliser le Bybit Insurance Fund et comment protège-t-il les traders ?
May 28,2026 at 10:19pm
Architecture du fonds d’assurance 1. Le Bybit Insurance Fund fonctionne comme un pool de réserve spécialement conçu pour couvrir les pertes résultant ...
Comment corriger le « compte restreint au trading P2P » sur Binance après un litige ?
Jun 06,2026 at 05:00am
Comprendre les restrictions du trading P2P sur Binance 1. Une restriction de trading P2P est déclenchée lorsque l'une des parties dépose un litige...
Comment utiliser la preuve de réserves de Kraken pour vérifier que mes fonds sont garantis ?
Jun 02,2026 at 08:59am
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin impose une réduction des récompenses de bloc tous les 210 000 blocs, environ tous ...
Comment corriger « échec de la vérification de sécurité » lors du retrait de Bybit après un changement d'appareil ?
May 28,2026 at 06:59pm
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel la récompense de bloc est r...
Comment corriger « Impossible de lier la banque – incompatibilité de nom » sur Coinbase ?
May 29,2026 at 06:19am
Comprendre l'erreur d'incompatibilité de nom 1. L'erreur se produit lorsque le nom légal enregistré sur un compte Coinbase ne correspond p...
Comment réparer la « maintenance du réseau » provoquant des retards dans les dépôts sur OKX ?
May 31,2026 at 10:00pm
Comprendre l'impact de la maintenance du réseau sur les dépôts OKX 1. Les événements de maintenance du réseau sur OKX ne sont pas des interruption...
Comment utiliser le Bybit Insurance Fund et comment protège-t-il les traders ?
May 28,2026 at 10:19pm
Architecture du fonds d’assurance 1. Le Bybit Insurance Fund fonctionne comme un pool de réserve spécialement conçu pour couvrir les pertes résultant ...
Comment corriger le « compte restreint au trading P2P » sur Binance après un litige ?
Jun 06,2026 at 05:00am
Comprendre les restrictions du trading P2P sur Binance 1. Une restriction de trading P2P est déclenchée lorsque l'une des parties dépose un litige...
Voir tous les articles














