# SupraOracles

By [Untitled](https://paragraph.com/@0x486f1de0e0c562765a43d4b1e874cf94f25fd6cc) · 2023-02-10

---

![](https://storage.googleapis.com/papyrus_images/c5426896429b22bc3a61b894862d8dc1d6a912485b72d7230ebe484ba32620c4.png)

SupraOracles to nowatorskie, wysokoprzepustowe rozwiązanie Oracle i IntraLayer: pionowo zintegrowany zestaw narzędzi do rozwiązywania międzyłańcuchowego (wyrocznia danych, mosty zasobów, sieć automatyzacji i inne), które łączą wszystkie łańcuchy bloków, publiczne (L1 i L2) lub prywatne (przedsiębiorstwa).

Integracja z Cenami SupraOracle jest szybka i łatwa. SupraOracles obsługuje obecnie kilka sieci opartych na Solidity/EVM, takich jak Shardeum, oraz sieci innych niż EVM, takie jak Sui, Aptos.

Aby zobaczyć wszystkie sieci, w których działa SupraOracles, odwiedź [stronę SupraOracles' Networks](https://supraoracles.com/docs/get-started/networks)!

Aby rozpocząć, odwiedź [stronę dokumentacji SupraOracle](https://supraoracles.com/docs/get-started/) i przejrzyj dokumentację lub postępuj zgodnie z tym przewodnikiem, aby szybko rozpocząć.

Dodaj następujący kod do inteligentnej umowy solidity, którą chcesz pobrać wartość S.

*   Solidność
    

    interface ISupraSValueFeed {
        function checkPrice(string memory marketPair) external view returns (int256 price, uint256 timestamp);
    }
    

Spowoduje to utworzenie interfejsu, który później zastosujesz, aby pobrać cenę od SupraOracles.

Aby pobrać wartość S z inteligentnego kontraktu SupraOracles, należy najpierw znaleźć adres kanału danych S-Value dla wybranego łańcucha.

W przypadku Shardeum Liberty 2.X i 1.X AlphaNet adres to 0x700a89Ba8F908af38834B9Aba238b362CFfB665F

Gdy masz właściwy adres, utwórz instancję S-Value Feed, korzystając z interfejsu, który wcześniej zdefiniowaliśmy dla Shardeum Liberty 2.X lub 1.X AlphaNet:

*   Solidność
    

    contract ISupraSValueFeedExample {
        ISupraSValueFeed internal sValueFeed;
    
        constructor() {
            sValueFeed = ISupraSValueFeed(0x700a89Ba8F908af38834B9Aba238b362CFfB665F);
        }
    }
    

Teraz możesz po prostu uzyskać dostęp do ceny kryptowaluty o wartości S naszych obsługiwanych par rynkowych. W tym kroku uzyskamy cenę ETH / USDT (eth\_usdt), stosując następujący kod do naszego Smart Contract.

*   Solidność
    

    function getEthUsdtPrice() external view returns (int) {
        (
            int price,
            /* uint timestamp */
        ) = sValueFeed.checkPrice("eth_usdt");
    
        return price;
    }
    

Oto przykład tego, jak powinna wyglądać Twoja implementacja:

*   Solidność
    

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.7;
    
    
    interface ISupraSValueFeed {
        function checkPrice(string memory marketPair) external view returns (int256 price, uint256 timestamp);
    }
    
    contract ISupraSValueFeedExample {
        ISupraSValueFeed internal sValueFeed;
    
        constructor() {
            sValueFeed = ISupraSValueFeed(0x700a89Ba8F908af38834B9Aba238b362CFfB665F);
        }
    
        function getEthUsdtPrice() external view returns (int) {
            (
                int price,
                /* uint timestamp */
            ) = sValueFeed.checkPrice("eth_usdt");
    
            return price;
        }
    }
    

Tada! You now have a method in your Smart Contract that you can call at any time to retrieve the price of ETH in USDT!

*   Javascript
    

    // example assumes that the ethers library has been imported and is accessible within your scope
    const getEthUsdtPrice = async () => {
      const provider = new ethers.providers.JsonRpcProvider('https://data-seed-prebsc-1-s1.binance.org:8545/')
      const abi = [{ "inputs": [ { "internalType": "string", "name": "marketPair", "type": "string" } ], "name": "checkPrice", "outputs": [ { "internalType": "int256", "name": "price", "type": "int256" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ]
      const address = '0x700a89Ba8F908af38834B9Aba238b362CFfB665F'
      const sValueFeed = new ethers.Contract(address, abi, provider)
      const price = (await sValueFeed.checkPrice('eth_usdt')).price
    
      console.log(`The price is: ${price.toString()}`)
    }
    
    getEthUsdtPrice()
    

Jeśli chcesz zrobić kolejny krok, rozważ zarejestrowanie się w [programie Supra Network Activate Program (SNAP).](https://join.supraoracles.com/network-activate-program)

Program Supra Network Activate Program (SNAP) oferuje firmom zniżki na kredyty Oracle, dokumentację techniczną i obsługę klienta w celu osadzenia bardzo potrzebnych wyroczni i VRF/RNG. SNAP obsługuje skalowanie i wzrost Web3 w celu buforowania kosztów, które zazwyczaj mogą hamować sukces firmy.

Program SNAP współpracuje z jednymi z najbardziej płodnych nazwisk Web3, które pomagają w wyborze i kwalifikacji projektów.

---

*Originally published on [Untitled](https://paragraph.com/@0x486f1de0e0c562765a43d4b1e874cf94f25fd6cc/supraoracles)*
