SupraOracles는 새로운 고성능 오라클 & 인트라레이어(IntraLayer)로서 모든 퍼블릭(L1 및 L2) 또는 프라이빗(기업용) 블록체인을 상호 연결하는 크로스체인 솔루션(데이터 오라클, 자산 브릿지, 자동화 네트워크 등)의 수직 통합 툴킷입니다. 데이터 정확성, 속도, 확장성 및 보안성이 뛰어난 차세대 크로스 체인 오라클 솔루션을 탑재한 스마트 컨트랙트를 제공합니다.
SupraOracles를 사용하면, 스마트 컨트랙트가 가격 데이터 피드에 접근하여 다양한 탈중앙화 금융(DeFi) 사용 사례를 구축할 수 있습니다. 본 튜토리얼에서, 우리는 SupraOracles를 사용하여 Remix IDE를 통해 Klaytn 블록체인 위에서 쉽게 가격 피드를 가져올 것입니다.
선택한 통화 쌍의 가격 피드를 가져오려면 getEthUsdtPrice() 함수를 실행해야 합니다.
짜잔 🎉! 이제 스마트 컨트랙트에서 통화 가격 피드(ETH/USDT) 요청이 완료되었습니다.
글 작성 시점에서, getEthUsdtPrice()는 소수점 8자리의 정확도를 가지는 "185795966200"을 반환했습니다. 실제 ETH/USD 가격을 얻기위해 이 반환값을 10^8로 나누면 $1857.95966200이 됩니다.
SupraOracles 암호화폐 가격 피드를 사용하는 다양한 방법
Web3.js를 이용한 S-값 피드
// example assumes that the web3 library has been imported and is accessible within your scopeconstgetEthUsdtPrice=async () => {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" } ]
constaddress='0x7f003178060af3904b8b70fEa066AEE28e85043E'constweb3=newWeb3('https://public-en-baobab.klaytn.net')constsValueFeed=newweb3.eth.Contract(abi, address)constprice= (awaitsValueFeed.methods.checkPrice('eth_usdt').call()).priceconsole.log(`The price is: ${price}`)}getEthUsdtPrice()
ethers.js를 이용한 S-값 피드
// example assumes that the ethers library has been imported and is accessible within your scopeconstgetEthUsdtPrice=async () => {////for ethers version 6.0constprovider=newethers.JsonRpcProvider("https://klaytn-baobab-rpc.allthatnode.com:8551")////for ethers version <= 5.7.2//const provider = new ethers.providers.JsonRpcProvider('https://public-en-baobab.klaytn.net')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" } ]
constaddress='0x7f003178060af3904b8b70fEa066AEE28e85043E'constsValueFeed=newethers.Contract(address, abi, provider)constprice= (awaitsValueFeed.checkPrice('eth_usdt')).priceconsole.log(`The price is: ${price.toString()}`)}getEthUsdtPrice()
결론
본 튜토리얼에서는 SupraOracles 가격 피드 솔루션을 사용하여 ETH/USD 가격을 요청하는 방법을 배웠습니다. 덧붙여 SupraOracles를 이용해 스마트 컨트랙트에서 난수도 생성할 수 있습니다. 이 과정이 궁금하다면 Klaytn에 SupraVRF를 통합하는 방법에 대한 가이드를 참조하세요. SupraOracles에 대한 자세한 가이드는 SupraOracles 문서를 참조하세요.