- Bu konu boş.
1 yazı görüntüleniyor (toplam 1)
-
YazarYazılar
-
Ocak 5, 2025: 5:12 pm #115
admin
Anahtar yöneticiBu kod, Altın Fiyatı (XAU/USD)‘yi Avalanche ağı üzerinden almanızı sağlar. Ayrıca, fiyat verisini aldıktan sonra sayfada güncel fiyat ve son güncelleme tarihi de gösterilecektir.
İşte yeniden yazılmış kod:
altin_fiyati.php:
<?php // PHP kodu burada çalıştırılabilir (isteğe bağlı olarak başka işlemler yapılabilir). ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Altın Fiyatı (XAU/USD) Avalanche</title> <style> body { font-family: Arial, sans-serif; background-color: #f4f4f9; margin: 0; padding: 0; display: flex; justify-content: center; align-items: center; height: 100vh; } .container { text-align: center; background-color: #fff; padding: 20px; border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); width: 300px; } h1 { color: #4CAF50; margin-bottom: 20px; } button { padding: 10px 20px; background-color: #4CAF50; color: white; border: none; border-radius: 5px; cursor: pointer; font-size: 16px; } button:hover { background-color: #45a049; } #goldPrice { font-size: 20px; font-weight: bold; margin-top: 20px; } #lastUpdated { font-size: 14px; color: #555; margin-top: 10px; } </style> </head> <body> <div class="container"> <h1>Altın Fiyatı (XAU/USD)</h1> <p>Güncel Altın Fiyatı:</p> <div id="goldPrice">Yükleniyor...</div> <p id="lastUpdated">Son Güncelleme: Yükleniyor...</p> <button onclick="fetchGoldPrice()">Fiyatı Güncelle</button> </div> <!-- Web3.js --> <script src="https://cdn.jsdelivr.net/npm/web3/dist/web3.min.js"></script> <script> const provider = "https://api.avax.network/ext/bc/C/rpc"; const web3 = new Web3(new Web3.providers.HttpProvider(provider)); // XAU/USD fiyatı sağlayan kontrat adresi const contractAddress = "0x1F41EF93dece881Ad0b98082B2d44D3f6F0C515B"; // Price Feed interface'i (Chainlink tarzında bir fiyat feed arayüzü) const abi = [ { "constant": true, "inputs": [], "name": "latestAnswer", "outputs": [ { "name": "", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "latestTimestamp", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" } ]; const contract = new web3.eth.Contract(abi, contractAddress); // Altın fiyatını ve son güncellenme zamanını alacak fonksiyon async function fetchGoldPrice() { try { // Fiyatı alıyoruz const price = await contract.methods.latestAnswer().call(); // Zaman damgasını alıyoruz const timestamp = await contract.methods.latestTimestamp().call(); // BigInt değeri string'e çevirip ardından sayıya dönüştürme const priceInUsd = parseFloat(price.toString()) / 100000000; // Chainlink feed'inin birimi genellikle 8 ondalıklı // Timestamp'i Number'a dönüştürme ve tarihe çevirmek için milisaniyeye çevirme const timestampNumber = Number(timestamp); // BigInt'ten Number'a dönüştürme const date = new Date(timestampNumber * 1000); // Zaman damgası saniye cinsindendir, milisaniyeye çevirmeliyiz const formattedDate = date.toLocaleString(); // Formatlanmış tarih // Sayfada güncel fiyatı ve son güncellenme tarihini gösteriyoruz document.getElementById('goldPrice').innerText = `Altın Fiyatı: $${priceInUsd.toFixed(2)} USD`; document.getElementById('lastUpdated').innerText = `Son Güncelleme: ${formattedDate}`; } catch (error) { console.error("Fiyat alınırken hata oluştu:", error); document.getElementById('goldPrice').innerText = "Fiyat alınırken bir hata oluştu."; } } // Sayfa yüklendiğinde fiyatı otomatik olarak al window.onload = fetchGoldPrice; </script> </body> </html>Açıklamalar:
- HTML ve CSS:
- Sayfa, kullanıcının rahatça görüntüleyebilmesi için basit bir yapı ve düzenleme ile tasarlanmıştır.
- Kullanıcıların Fiyatı Güncelle butonuna tıklayarak fiyatı güncelleyebileceği bir yapı vardır.
- Web3.js:
- Web3.js, Avalanche ağıyla bağlantı kurmak ve Chainlink fiyat feed‘ini kullanarak altın fiyatını almak için kullanılır.
- Kontrat adresi, XAU/USD fiyatını sağlayan bir Chainlink feed’ine işaret eder. Bu kontrattan alınan fiyat 8 ondalıklı gelir, bu nedenle değeri
100000000‘e bölerek gerçek değeri alıyoruz.
- JavaScript Fonksiyonu:
fetchGoldPrice()fonksiyonu, kontrattan altın fiyatını (latestAnswer()) ve son güncelleme zamanını (latestTimestamp()) alır.- Fiyatı USD cinsinden doğru şekilde hesaplar ve son güncellenme tarihini formatlayarak kullanıcıya gösterir.
- Son Güncelleme:
- Fiyat verisinin alınması sırasında zaman damgası da alınır ve bu zaman, milisaniye cinsine çevrilip yerel tarih formatıyla kullanıcıya gösterilir.
Nasıl Çalıştırılır?
- Bu PHP dosyasını bir PHP destekleyen web sunucusuna yükleyin (Apache, Nginx vb.).
- Dosyayı tarayıcıda açarak Altın Fiyatı (XAU/USD)‘yi ve son güncelleme tarihini görebilirsiniz.
Bu yöntemle, Avalanche ağı üzerinden Chainlink fiyat feed’i kullanarak anlık XAU/USD (Altın Fiyatı) verisini ve güncellenme zamanını alabilirsiniz.
- HTML ve CSS:
-
YazarYazılar
1 yazı görüntüleniyor (toplam 1)
- Bu konuyu yanıtlamak için giriş yapmış olmalısınız.