{"id":64905,"date":"2024-06-03T05:16:55","date_gmt":"2024-06-03T01:46:55","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/building-with-supra-powering-decentralized-applications-with-better-data-5d3c\/"},"modified":"2024-06-03T05:16:55","modified_gmt":"2024-06-03T01:46:55","slug":"building-with-supra-powering-decentralized-applications-with-better-data-5d3c","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/building-with-supra-powering-decentralized-applications-with-better-data-5d3c\/","title":{"rendered":"\u0633\u0627\u062e\u062a \u0628\u0627 \u0633\u0648\u067e\u0631\u0627: \u062a\u0642\u0648\u06cc\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u063a\u06cc\u0631\u0645\u062a\u0645\u0631\u06a9\u0632 \u0628\u0627 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0628\u0647\u062a\u0631"},"content":{"rendered":"<div data-article-id=\"1873152\" id=\"article-body\">\n<p>\u0633\u0648\u067e\u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0628\u0631\u062c\u0633\u062a\u0647 \u062f\u0631 \u0642\u0644\u0645\u0631\u0648 \u0627\u0648\u0631\u0627\u06a9\u0644\u200c\u0647\u0627\u06cc \u063a\u06cc\u0631\u0645\u062a\u0645\u0631\u06a9\u0632 \u0627\u06cc\u0633\u062a\u0627\u062f\u0647 \u0627\u0633\u062a \u0648 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u062d\u06cc\u0627\u062a\u06cc \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc DeFi \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f: \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0627\u0645\u0646 \u0648 \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f \u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637\u200c\u0647\u0627\u06cc \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646.  \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627 \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc \u0633\u0648\u067e\u0631\u0627 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f \u0648 \u0646\u062d\u0648\u0647 \u0627\u06cc\u062c\u0627\u062f \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc DeFi \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f \u0631\u0627 \u0628\u0647 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u062a\u0648\u0627\u0646\u0645\u0646\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f.  \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0634\u06cc\u0631\u062c\u0647 \u0628\u0632\u0646\u06cc\u0645<\/p>\n<p><\/p>\n<p>\u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u0647\u0627\u060c \u0627\u06af\u0631\u0686\u0647 \u0627\u0646\u0642\u0644\u0627\u0628\u06cc \u0628\u0631\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a \u0648 \u062a\u063a\u06cc\u06cc\u0631 \u0646\u0627\u067e\u0630\u06cc\u0631\u06cc \u0647\u0633\u062a\u0646\u062f\u060c \u0627\u0645\u0627 \u0627\u06a9\u0648\u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u06cc \u062c\u062f\u0627 \u0634\u062f\u0647 \u0627\u06cc \u0647\u0633\u062a\u0646\u062f.  \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f\u060c \u0645\u0648\u062a\u0648\u0631\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc DeFi\u060c \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0647 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u062f\u0646\u06cc\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u0646\u062f\u060c \u0627\u06cc\u0646 \u0646\u0642\u0637\u0647 \u0636\u0639\u0641 \u0628\u0647 \u0646\u0642\u0637\u0647 \u0636\u0639\u0641 \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f.  \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc \u0628\u0631\u0627\u06cc \u0645\u0648\u0627\u0631\u062f \u0645\u062e\u062a\u0644\u0641 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 DeFi \u0628\u0633\u06cc\u0627\u0631 \u0645\u0647\u0645 \u0627\u0633\u062a:<\/p>\n<ul>\n<li>  <strong>\u0635\u0631\u0627\u0641\u06cc \u0647\u0627\u06cc \u063a\u06cc\u0631\u0645\u062a\u0645\u0631\u06a9\u0632 (DEX):<\/strong> \u0641\u06cc\u062f \u0642\u06cc\u0645\u062a \u062f\u0642\u06cc\u0642 \u0648 \u0628\u0647 \u0645\u0648\u0642\u0639 \u0628\u0631\u0627\u06cc DEX \u0647\u0627 \u0628\u0631\u0627\u06cc \u062a\u0633\u0647\u06cc\u0644 \u0645\u0628\u0627\u062f\u0644\u0647 \u062a\u0648\u06a9\u0646 \u0647\u0627\u06cc \u0645\u0646\u0635\u0641\u0627\u0646\u0647 \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u0636\u0631\u0648\u0631\u06cc \u0627\u0633\u062a.<\/li>\n<li>  <strong>\u067e\u0631\u0648\u062a\u06a9\u0644 \u0647\u0627\u06cc \u0648\u0627\u0645 \u062f\u0647\u06cc:<\/strong> \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u0631\u0632\u0634 \u062f\u0627\u0631\u0627\u06cc\u06cc \u0647\u0627 \u0628\u0631\u0627\u06cc \u0645\u062d\u0627\u0633\u0628\u0627\u062a \u0648\u062b\u06cc\u0642\u0647 \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0631\u06cc\u0633\u06a9 \u062f\u0631 \u0628\u0633\u062a\u0631\u0647\u0627\u06cc \u0648\u0627\u0645 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0636 \u0636\u0631\u0648\u0631\u06cc \u0627\u0633\u062a.<\/li>\n<li>  <strong>\u067e\u06cc\u0634 \u0628\u06cc\u0646\u06cc \u0628\u0627\u0632\u0627\u0631\u0647\u0627:<\/strong> \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc \u0645\u0627\u0646\u0646\u062f \u0627\u0645\u062a\u06cc\u0627\u0632\u0627\u062a \u0648\u0631\u0632\u0634\u06cc \u06cc\u0627 \u0646\u062a\u0627\u06cc\u062c \u0627\u0646\u062a\u062e\u0627\u0628\u0627\u062a \u0628\u0631\u0627\u06cc \u062a\u0633\u0648\u06cc\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0628\u0627\u0632\u0627\u0631 \u067e\u06cc\u0634 \u0628\u06cc\u0646\u06cc \u0628\u0633\u06cc\u0627\u0631 \u0645\u0647\u0645 \u0647\u0633\u062a\u0646\u062f.<\/li>\n<\/ul>\n<p>\u0631\u0627\u0647\u200c\u062d\u0644\u200c\u0647\u0627\u06cc \u0627\u0648\u0631\u0627\u06a9\u0644 \u0645\u0648\u062c\u0648\u062f \u0627\u063a\u0644\u0628 \u0628\u0627 \u0686\u0627\u0644\u0634\u200c\u0647\u0627\u06cc\u06cc \u0627\u0632 \u0646\u0638\u0631 \u0645\u0642\u06cc\u0627\u0633\u200c\u067e\u0630\u06cc\u0631\u06cc \u0648 \u0627\u0645\u0646\u06cc\u062a \u0645\u0648\u0627\u062c\u0647 \u0647\u0633\u062a\u0646\u062f\u060c \u06a9\u0647 \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u062f \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc DeFi \u062e\u0648\u062f\u060c \u0634\u06a9\u0627\u0641\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u067e\u0631 \u06a9\u0631\u062f\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u0646\u062f.<\/p>\n<p>Enter Supra\u060c \u06cc\u06a9 \u0631\u0627\u0647 \u062d\u0644 \u0627\u0648\u0631\u0627\u06a9\u0644 \u0646\u0633\u0644 \u0628\u0639\u062f\u06cc\u060c \u0627\u06cc\u0646 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0647\u0627 \u0631\u0627 \u0628\u0631\u0637\u0631\u0641 \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0631\u062e\u0644\u0627\u0641 \u0627\u0648\u0631\u0627\u06a9\u0644\u200c\u0647\u0627\u06cc \u0633\u0646\u062a\u06cc \u06a9\u0647 \u0628\u0647 \u0634\u062f\u062a \u0628\u0647 \u0627\u0641\u0632\u0648\u062f\u0646 \u06af\u0631\u0647\u200c\u0647\u0627\u06cc \u0628\u06cc\u0634\u062a\u0631 (\u0645\u0642\u06cc\u0627\u0633\u200c\u0628\u0646\u062f\u06cc \u0627\u0641\u0642\u06cc) \u0645\u062a\u06a9\u06cc \u0647\u0633\u062a\u0646\u062f\u060c \u0633\u0648\u067e\u0631\u0627 \u0627\u0648\u0644\u0648\u06cc\u062a\u200c\u0628\u0646\u062f\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. <strong>\u0645\u0642\u06cc\u0627\u0633 \u0628\u0646\u062f\u06cc \u0639\u0645\u0648\u062f\u06cc<\/strong>.  \u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u0627\u0633\u062a \u06a9\u0647 \u0633\u0648\u067e\u0631\u0627 \u0628\u0631 \u0631\u0648\u06cc \u0628\u0633\u062a\u0647 \u0628\u0646\u062f\u06cc \u0642\u062f\u0631\u062a \u067e\u0631\u062f\u0627\u0632\u0634\u06cc \u0648 \u0645\u0646\u0627\u0628\u0639 \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0647\u0631 \u06af\u0631\u0647 \u0645\u062c\u0632\u0627 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u062e\u0648\u062f \u062a\u0645\u0631\u06a9\u0632 \u0645\u06cc \u06a9\u0646\u062f.  \u0627\u06cc\u0646 \u0631\u0648\u06cc\u06a9\u0631\u062f \u0686\u0646\u062f\u06cc\u0646 \u0645\u0632\u06cc\u062a \u0628\u0627\u0644\u0642\u0648\u0647 \u0628\u0631\u0627\u06cc \u062a\u062d\u0648\u06cc\u0644 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc DeFi \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f:<\/p>\n<ul>\n<li>  <strong>\u0633\u0631\u0639\u062a \u0647\u0627\u06cc \u0628\u06cc\u0634\u062a\u0631:<\/strong> \u0628\u0627 \u06af\u0631\u0647 \u0647\u0627\u06cc \u0642\u062f\u0631\u062a\u0645\u0646\u062f\u062a\u0631\u060c \u0633\u0648\u067e\u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0628\u0627\u0644\u0642\u0648\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u0633\u0631\u06cc\u0639\u062a\u0631 \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u0648 \u067e\u0631\u062f\u0627\u0632\u0634 \u06a9\u0646\u062f.  \u0627\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0628\u0644\u0627\u062f\u0631\u0646\u06af \u062f\u0631 DeFi\u060c \u0645\u0627\u0646\u0646\u062f \u0646\u0648\u0633\u0627\u0646 \u062f\u0627\u0626\u0645\u06cc \u0642\u06cc\u0645\u062a \u0627\u0631\u0632\u0647\u0627\u06cc \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644 \u06cc\u0627 \u0646\u0631\u062e \u0628\u0647\u0631\u0647 \u067e\u0648\u06cc\u0627\u060c \u0628\u0633\u06cc\u0627\u0631 \u0645\u0647\u0645 \u0627\u0633\u062a.<\/li>\n<li>  <strong>\u062a\u0627\u062e\u06cc\u0631 \u06a9\u0627\u0647\u0634 \u06cc\u0627\u0641\u062a\u0647:<\/strong> \u0628\u0627 \u0628\u0647 \u062d\u062f\u0627\u0642\u0644 \u0631\u0633\u0627\u0646\u062f\u0646 \u062a\u0639\u062f\u0627\u062f \u0627\u0631\u062a\u0628\u0627\u0637\u0627\u062a \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0628\u06cc\u0646 \u06af\u0631\u0647 \u0647\u0627\u060c \u0645\u0642\u06cc\u0627\u0633 \u0628\u0646\u062f\u06cc \u0639\u0645\u0648\u062f\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0645\u0646\u062c\u0631 \u0628\u0647 \u062a\u0627\u062e\u06cc\u0631 \u06a9\u0645\u062a\u0631 \u062f\u0631 \u062a\u062d\u0648\u06cc\u0644 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f.  \u0627\u06cc\u0646 \u0628\u0647 \u0645\u0639\u0646\u06cc \u0632\u0645\u0627\u0646 \u06a9\u0645\u062a\u0631\u06cc \u0628\u06cc\u0646 \u0632\u0645\u0627\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u062f\u0627\u062f\u0647 \u062a\u0627 \u0631\u0633\u06cc\u062f\u0646 \u0628\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0627\u0633\u062a \u0648 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627 \u0628\u0627 \u0628\u06cc\u0634\u062a\u0631\u06cc\u0646 \u062f\u0627\u062f\u0647 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0648\u0627\u0642\u0639\u06cc \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.<\/li>\n<li>  <strong>\u06a9\u0627\u0631\u0627\u06cc\u06cc \u0628\u0627\u0644\u0642\u0648\u0647 \u0647\u0632\u06cc\u0646\u0647:<\/strong> \u06cc\u06a9 \u0634\u0628\u06a9\u0647 \u06a9\u0648\u0686\u06a9\u062a\u0631 \u0627\u0632 \u06af\u0631\u0647\u200c\u0647\u0627\u06cc \u0642\u062f\u0631\u062a\u0645\u0646\u062f\u062a\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0647\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u067e\u0627\u06cc\u06cc\u0646\u200c\u062a\u0631 \u0628\u0631\u0627\u06cc Supra \u062a\u0631\u062c\u0645\u0647 \u0634\u0648\u062f \u0648 \u0627\u06cc\u0646 \u0628\u0647 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0633\u0648\u062f \u0645\u06cc\u200c\u0631\u0633\u0627\u0646\u062f \u06a9\u0647 \u0628\u0647 \u0637\u0648\u0631 \u0628\u0627\u0644\u0642\u0648\u0647 \u0645\u0646\u062c\u0631 \u0628\u0647 \u0642\u06cc\u0645\u062a\u200c\u06af\u0630\u0627\u0631\u06cc \u0631\u0642\u0627\u0628\u062a\u06cc\u200c\u062a\u0631 \u0628\u0631\u0627\u06cc \u0641\u06cc\u062f\u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u062f\u0631 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0628\u0627 \u0627\u0648\u0631\u0627\u06a9\u0644\u200c\u0647\u0627 \u0628\u0627 \u0634\u0628\u06a9\u0647 \u0628\u0632\u0631\u06af\u200c\u062a\u0631 \u0648 \u0645\u0642\u06cc\u0627\u0633 \u0627\u0641\u0642\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f.<\/li>\n<\/ul>\n<p>\u0642\u062f\u0631\u062a \u0627\u0635\u0644\u06cc \u0633\u0648\u067e\u0631\u0627 \u062f\u0631 \u0622\u0646 \u0646\u0647\u0641\u062a\u0647 \u0627\u0633\u062a <strong>\u0641\u06cc\u062f\u0647\u0627\u06cc \u0642\u06cc\u0645\u062a \u063a\u06cc\u0631\u0645\u062a\u0645\u0631\u06a9\u0632 \u0627\u0648\u0631\u0627\u06a9\u0644<\/strong>.  \u0627\u06cc\u0646 \u0627\u0648\u0631\u0627\u06a9\u0644\u200c\u0647\u0627 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u067e\u0644\u200c\u0647\u0627\u06cc \u0627\u0645\u0646 \u0639\u0645\u0644 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0648 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u062f\u0646\u06cc\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc \u0631\u0627 \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc DeFi \u062f\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0632\u0646\u062c\u06cc\u0631\u0647\u200c\u0627\u06cc \u0648 \u062e\u0627\u0631\u062c \u0627\u0632 \u0632\u0646\u062c\u06cc\u0631\u0647 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.  \u0627\u06cc\u0646 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 DeFi \u0631\u0627 \u062a\u0627\u0645\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u062f\u0642\u06cc\u0642 \u0648 \u0642\u0627\u0628\u0644 \u062a\u0623\u06cc\u06cc\u062f \u0627\u0633\u062a\u060c \u06cc\u06a9 \u0646\u06cc\u0627\u0632 \u062d\u06cc\u0627\u062a\u06cc \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u0644\u0627\u062f\u0631\u0646\u06af \u0645\u062a\u06a9\u06cc \u0647\u0633\u062a\u0646\u062f\u060c \u0645\u0627\u0646\u0646\u062f \u0642\u06cc\u0645\u062a\u200c\u0647\u0627\u06cc \u0627\u0631\u0632\u0647\u0627\u06cc \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644 \u06cc\u0627 \u062d\u0631\u06a9\u0627\u062a \u0628\u0627\u0632\u0627\u0631.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/building-with-supra-powering-decentralized-applications-with-better-data-5d3c\/#%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D9%87%D8%A7%DB%8C_%DA%A9%D9%84%DB%8C%D8%AF%DB%8C_%D9%81%DB%8C%D8%AF%D9%87%D8%A7%DB%8C_%D8%AF%D8%A7%D8%AF%D9%87_%D8%B3%D9%88%D9%BE%D8%B1%D8%A7\" >\u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u06a9\u0644\u06cc\u062f\u06cc \u0641\u06cc\u062f\u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u0633\u0648\u067e\u0631\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/building-with-supra-powering-decentralized-applications-with-better-data-5d3c\/#%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2%D9%87%D8%A7\" >\u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/building-with-supra-powering-decentralized-applications-with-better-data-5d3c\/#%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D9%85%D8%AD%DB%8C%D8%B7\" >\u062a\u0646\u0638\u06cc\u0645 \u0645\u062d\u06cc\u0637<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/building-with-supra-powering-decentralized-applications-with-better-data-5d3c\/#%D8%AF%D8%B1_%D8%AD%D8%A7%D9%84_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_%D8%A8%D9%87_Sepolia\" >\u062f\u0631 \u062d\u0627\u0644 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0628\u0647 Sepolia<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D9%87%D8%A7%DB%8C_%DA%A9%D9%84%DB%8C%D8%AF%DB%8C_%D9%81%DB%8C%D8%AF%D9%87%D8%A7%DB%8C_%D8%AF%D8%A7%D8%AF%D9%87_%D8%B3%D9%88%D9%BE%D8%B1%D8%A7\"><\/span>\n<p>  \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u06a9\u0644\u06cc\u062f\u06cc \u0641\u06cc\u062f\u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u0633\u0648\u067e\u0631\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\n<strong>\u0627\u0648\u0631\u0627\u06a9\u0644\u0632 \u0631\u0627 \u0628\u06a9\u0634\u06cc\u062f<\/strong>: Pull Oracles \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u062a\u062d\u0648\u06cc\u0644 \u062f\u0627\u062f\u0647 \u0628\u0647 \u0645\u0648\u0642\u0639 \u0628\u0631\u0627\u06cc \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f \u0639\u0645\u0644 \u0645\u06cc \u06a9\u0646\u062f.  \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f \u0628\u0647 \u062c\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u062c\u0631\u06cc\u0627\u0646 \u062f\u0627\u0626\u0645\u06cc \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0647\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0647 \u0628\u0647 \u0622\u0646 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0646\u062f\u060c \u0628\u0647 \u0637\u0648\u0631 \u0641\u0639\u0627\u0644 \u0646\u0642\u0627\u0637 \u062f\u0627\u062f\u0647 \u062e\u0627\u0635\u06cc \u0631\u0627 \u0627\u0632 \u0634\u0628\u06a9\u0647 \u0633\u0648\u067e\u0631\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0646\u0646\u062f \u0648 \u0627\u0632\u062f\u062d\u0627\u0645 \u063a\u06cc\u0631\u0636\u0631\u0648\u0631\u06cc \u0634\u0628\u06a9\u0647 \u0631\u0627 \u0628\u0647 \u062d\u062f\u0627\u0642\u0644 \u0628\u0631\u0633\u0627\u0646\u0646\u062f \u0648 \u0647\u0632\u06cc\u0646\u0647 \u0647\u0627\u06cc \u06af\u0627\u0632 \u0631\u0627 \u06a9\u0627\u0647\u0634 \u062f\u0647\u0646\u062f.  &#8211;   <strong>V1<\/strong>: \u0646\u0633\u062e\u0647 \u0627\u0648\u0644\u06cc\u0647\u060c \u0627\u0631\u0627\u0626\u0647 \u062e\u062f\u0645\u0627\u062a \u067e\u0627\u06cc\u0647 \u062f\u0627\u062f\u0647 \u0628\u0631 \u0627\u0633\u0627\u0633 \u062a\u0642\u0627\u0636\u0627.  &#8211;   <strong>V2<\/strong>: \u0646\u0633\u062e\u0647 \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u0628\u0627 \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0647\u0628\u0648\u062f \u06cc\u0627\u0641\u062a\u0647 \u0648 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc.<\/li>\n<li>\n<strong>\u0627\u0648\u0631\u0627\u06a9\u0644\u0632 \u0631\u0627 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f<\/strong>: \u0646\u06cc\u0627\u0632\u06cc \u0646\u06cc\u0633\u062a \u06a9\u0647 \u0647\u0645\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627 \u062f\u0627\u0626\u0645\u0627\u064b \u0628\u0647 \u0631\u0648\u0632 \u0634\u0648\u0646\u062f.  \u0628\u0631\u062e\u06cc \u0627\u0632 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc DeFi\u060c \u0645\u0627\u0646\u0646\u062f \u067e\u0631\u0648\u062a\u06a9\u0644\u200c\u0647\u0627\u06cc \u0648\u0627\u0645\u200c\u062f\u0647\u06cc \u06a9\u0647 \u0646\u0631\u062e\u200c\u0647\u0627\u06cc \u0628\u0647\u0631\u0647 \u0631\u0627 \u0628\u0647 \u0645\u0639\u06cc\u0627\u0631\u0647\u0627\u06cc \u062a\u0639\u06cc\u06cc\u0646\u200c\u0634\u062f\u0647 \u0645\u0631\u062a\u0628\u0637 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0627 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc \u0645\u0646\u0638\u0645 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0628\u0647 \u062e\u0648\u0628\u06cc \u0639\u0645\u0644 \u06a9\u0646\u0646\u062f.  Push Oracles \u0628\u0627 \u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 \u0641\u0639\u0627\u0644\u0627\u0646\u0647 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627 \u0627\u0632 \u0634\u0628\u06a9\u0647 \u0633\u0648\u067e\u0631\u0627 \u0628\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f \u062f\u0631 \u0641\u0648\u0627\u0635\u0644 \u0627\u0632 \u067e\u06cc\u0634 \u062a\u0639\u06cc\u06cc\u0646 \u0634\u062f\u0647\u060c \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f.  \u0627\u06cc\u0646 \u06cc\u06a9 \u0631\u0648\u06cc\u06a9\u0631\u062f \u06a9\u0627\u0631\u0622\u0645\u062f\u062a\u0631 \u0628\u0631\u0627\u06cc \u0645\u0648\u0642\u0639\u06cc\u062a\u200c\u0647\u0627\u06cc\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0628\u06cc\u200c\u062f\u0631\u0646\u06af \u0627\u0647\u0645\u06cc\u062a\u06cc \u0646\u062f\u0627\u0631\u0646\u062f \u0648 \u0628\u0627\u0639\u062b \u0635\u0631\u0641\u0647\u200c\u062c\u0648\u06cc\u06cc \u062f\u0631 \u0645\u0646\u0627\u0628\u0639 \u0648 \u06a9\u0627\u0647\u0634 \u062a\u0631\u0627\u06a9\u0645 \u0634\u0628\u06a9\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/media.dev.to\/cdn-cgi\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbw1nnino5y2gd7592r3p.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"781\" height=\"233\" title=\"\"><\/p>\n<ul>\n<li>\n<strong>VRF \u063a\u06cc\u0631\u0645\u062a\u0645\u0631\u06a9\u0632<\/strong><br \/>\ndVRF \u0633\u0648\u067e\u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0648\u0644\u06cc\u062f \u0627\u0639\u062f\u0627\u062f \u062a\u0635\u0627\u062f\u0641\u06cc \u0627\u06cc\u0645\u0646\u060c \u0642\u0627\u0628\u0644 \u062a\u0627\u06cc\u06cc\u062f \u0648 \u063a\u06cc\u0631\u0645\u062a\u0645\u0631\u06a9\u0632 \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a \u0648 \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc DeFi \u0645\u0646\u0628\u0639 \u0627\u0645\u0646 \u0648 \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f\u06cc \u0627\u0632 \u0627\u0639\u062f\u0627\u062f \u062a\u0635\u0627\u062f\u0641\u06cc \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.  \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0627\u0632 \u0627\u06cc\u0646 \u062a\u0635\u0627\u062f\u0641\u06cc \u0628\u0648\u062f\u0646 \u0628\u0631\u0627\u06cc \u0627\u0647\u062f\u0627\u0641 \u0645\u062e\u062a\u0644\u0641 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f \u0648 \u0627\u0632 \u0639\u062f\u0627\u0644\u062a \u0648 \u0634\u0641\u0627\u0641\u06cc\u062a \u062f\u0631 \u06cc\u06a9 \u0627\u06a9\u0648\u0633\u06cc\u0633\u062a\u0645 \u063a\u06cc\u0631\u0645\u062a\u0645\u0631\u06a9\u0632 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u0646\u062f.<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/media.dev.to\/cdn-cgi\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnbbinbvovchq9666m4f4.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"800\" height=\"352\" title=\"\"><\/p>\n<p>\u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0647\u0633\u062a\u06cc\u0645 \u06a9\u0647 \u0641\u06cc\u062f\u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u0642\u06cc\u0645\u062a \u0631\u0627 \u0648\u0627\u06a9\u0634\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0648 \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0647\u0627\u0631\u062f\u0647\u0627\u062a \u0648 \u0627\u062a\u0631\u0647\u0627 \u0628\u0647 \u0622\u0633\u062a\u0627\u0646\u0647 \u062e\u0627\u0635\u06cc \u0628\u0631\u0633\u062f\u060c \u0631\u0648\u06cc\u062f\u0627\u062f\u06cc \u0631\u0627 \u0645\u0646\u062a\u0634\u0631 \u0645\u06cc \u06a9\u0646\u062f.  \u06a9\u062f \u0628\u0627 \u0645\u0646!<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2%D9%87%D8%A7\"><\/span>\n<p>  \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u063a\u0648\u0627\u0635\u06cc\u060c \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0648 \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u062f\u0627\u0631\u06cc\u062f:<\/p>\n<ul>\n<li>    Node.js<\/li>\n<li>    \u0627\u0645\u0631\u0648\u0632<\/li>\n<li>    \u06a9\u06cc\u0641 \u067e\u0648\u0644 Metamask: \u0645\u062a\u0627\u0645\u0627\u0633\u06a9 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0634\u0628\u06a9\u0647 Sepolia \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f <\/li>\n<li>    \u06a9\u06cc\u0645\u06cc\u0627\u06af\u0631\u06cc \u06cc\u0627 Infura: \u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646\u06cc HTTP \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u0634\u0628\u06a9\u0647 \u062a\u0633\u062a Sepolia \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f.  \u0627\u06cc\u0646\u062c\u0627 \u0631\u0627 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u06a9\u0646\u06cc\u062f\n<\/li>\n<li>    \u0646\u0634\u0627\u0646\u0647 \u0647\u0627\u06cc \u062a\u0633\u062a: \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u062a\u0633\u062a Sepolia <\/li>\n<li>\n<p>\u0622\u062f\u0631\u0633 \u0633\u0631\u0648\u0631 gRPC \u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u0646\u062a<\/li>\n<li>\u0622\u062f\u0631\u0633 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0631\u0627 \u0627\u0632 \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 Supra Docs \u0628\u06a9\u0634\u06cc\u062f.  \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0633\u0627\u06cc\u0631 \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D9%85%D8%AD%DB%8C%D8%B7\"><\/span>\n<p>  \u062a\u0646\u0638\u06cc\u0645 \u0645\u062d\u06cc\u0637<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u06a9\u0647 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u062c\u0645\u0639 \u0622\u0648\u0631\u06cc \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645\u060c \u0632\u0645\u0627\u0646 \u0622\u0646 \u0631\u0633\u06cc\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u062e\u0648\u062f \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645.  \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<ul>\n<li>    \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nb\">mkdir <\/span>auction\n<span class=\"nb\">cd <\/span>auction\nnpm init <span class=\"nt\">-y<\/span>\nnpm <span class=\"nb\">install<\/span> <span class=\"nt\">--save-dev<\/span> hardhat\nnpx hardhat init\nnpm <span class=\"nb\">install<\/span> <span class=\"nt\">--save-dev<\/span> @nomicfoundation\/hardhat-toolbox\nnpm i dotenv\ncode <span class=\"nb\">.<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>\u06af\u0627\u0645 \u0628\u0639\u062f\u06cc \u06a9\u0644\u0648\u0646 \u06a9\u0631\u062f\u0646 \u06a9\u062f \u0646\u0645\u0648\u0646\u0647 \u0628\u0631\u062f\u0627\u0631\u06cc Oracle \u0627\u0632 GitHub \u0648 \u0646\u0635\u0628 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u0644\u0627\u0632\u0645 \u0627\u0633\u062a.\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>git clone https:\/\/github.com\/Entropy-Foundation\/oracle-pull-example\n<span class=\"nb\">cd <\/span>oracle-pull-example\/javascript\/evm_client\nnpm <span class=\"nb\">install<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>\u0628\u0631\u0627\u06cc \u0627\u06cc\u0645\u0646 \u0646\u06af\u0647 \u062f\u0627\u0634\u062a\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633 \u0645\u0627\u0646\u0646\u062f \u06a9\u0644\u06cc\u062f \u062e\u0635\u0648\u0635\u06cc Metamask \u0648 URL RPC\u060c \u06cc\u06a9 \u0641\u0627\u06cc\u0644 .env \u062f\u0631 \u0641\u0647\u0631\u0633\u062a \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u0648 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0642\u0627\u0644\u0628 \u0632\u06cc\u0631 \u062f\u0631 \u0622\u0646\u062c\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nx\">PRIVATE_KEY<\/span><span class=\"o\">=<\/span><span class=\"dl\">\"\"<\/span>\n<span class=\"nx\">RPC_URL<\/span><span class=\"o\">=<\/span><span class=\"dl\">\"\"<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>\u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Hardhat \u062e\u0648\u062f (hardhat.config.js) \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f \u062a\u0627 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u0641\u0627\u06cc\u0644 .env \u062e\u0648\u062f \u0631\u0627 \u062a\u0634\u062e\u06cc\u0635 \u062f\u0647\u06cc\u062f.  \u0647\u0645\u0686\u0646\u06cc\u0646\u060c sepolia \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0634\u0628\u06a9\u0647 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f.\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nf\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">@nomicfoundation\/hardhat-toolbox<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n<span class=\"nf\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">dotenv<\/span><span class=\"dl\">\"<\/span><span class=\"p\">).<\/span><span class=\"nf\">config<\/span><span class=\"p\">();<\/span>  \n\n<span class=\"nx\">module<\/span><span class=\"p\">.<\/span><span class=\"nx\">exports<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n    <span class=\"na\">solidity<\/span><span class=\"p\">:<\/span>  <span class=\"dl\">\"<\/span><span class=\"s2\">0.8.19<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">networks<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n        <span class=\"na\">sepolia<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n            <span class=\"na\">url<\/span><span class=\"p\">:<\/span>  <span class=\"nx\">process<\/span><span class=\"p\">.<\/span><span class=\"nx\">env<\/span><span class=\"p\">.<\/span><span class=\"nx\">RPC_URL<\/span><span class=\"p\">,<\/span>\n            <span class=\"na\">accounts<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"nx\">process<\/span><span class=\"p\">.<\/span><span class=\"nx\">env<\/span><span class=\"p\">.<\/span><span class=\"nx\">PRIVATE_KEY<\/span><span class=\"p\">],<\/span>\n        <span class=\"p\">},<\/span>\n    <span class=\"p\">},<\/span>\n<span class=\"p\">};<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u062e\u0634 \u0628\u0639\u062f\u06cc \u0628\u0647 \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0645\u06cc \u067e\u0631\u062f\u0627\u0632\u062f \u06a9\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Hardhat \u0628\u0627 \u0633\u0648\u067e\u0631\u0627 \u0627\u0648\u0631\u0627\u06a9\u0644\u0632 \u062a\u0639\u0627\u0645\u0644 \u062f\u0627\u0631\u062f.  \u0645\u0627 \u0634\u0645\u0627 \u0631\u0627 \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u0628\u0627 \u06a9\u062f \u0622\u0634\u0646\u0627 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f \u0648 \u0646\u062d\u0648\u0647 \u0648\u0627\u06a9\u0634\u06cc \u0641\u06cc\u062f\u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u0642\u06cc\u0645\u062a \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627 \u0631\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0622\u0633\u062a\u0627\u0646\u0647\u200c\u0647\u0627\u06cc \u062e\u0627\u0635 \u0646\u0634\u0627\u0646 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u062f.  \u0645\u0646 \u0628\u0631\u062e\u06cc \u0627\u0632 \u0646\u0638\u0631\u0627\u062a \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0647 \u0627\u0645 \u062a\u0627 \u062c\u0632\u0626\u06cc\u0627\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u0627\u0632 \u0622\u0646\u0686\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0648\u0642\u0648\u0639 \u0627\u0633\u062a \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0645.<\/p>\n<ul>\n<li>\u0627\u0648\u0644\u060c \u0645\u0627 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645 <code>ISupraOraclePull<\/code> \u06a9\u0647 \u0634\u0627\u0645\u0644 <code>verifyOracleProof<\/code> \u062a\u0627\u0628\u0639\u06cc \u06a9\u0647 \u062a\u0623\u06cc\u06cc\u062f \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f \u0648 a \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f <code>PriceData<\/code> \u0633\u0627\u062e\u062a\u0627\u0631 \u062d\u0627\u0648\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0642\u06cc\u0645\u062a \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0634\u062f\u0647 \u0627\u0633\u062a.\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kr\">interface<\/span>  <span class=\"nx\">ISupraOraclePull<\/span> <span class=\"p\">{<\/span>\n    <span class=\"cm\">\/**\n    * @dev Verified price data structure.\n    * @param  pairs List of pairs.\n    * @param  prices List of prices corresponding to the pairs.\n    * @param  decimals List of decimals corresponding to the pairs.\n    *\/<\/span>\n\n    <span class=\"nx\">struct<\/span>  <span class=\"nx\">PriceData<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nx\">uint256<\/span><span class=\"p\">[]<\/span> <span class=\"nx\">pairs<\/span><span class=\"p\">;<\/span>\n        <span class=\"nx\">uint256<\/span><span class=\"p\">[]<\/span> <span class=\"nx\">prices<\/span><span class=\"p\">;<\/span>\n        <span class=\"nx\">uint256<\/span><span class=\"p\">[]<\/span> <span class=\"nx\">decimals<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"cm\">\/**\n    * @dev Verifies oracle proof and returns price data.\n    * @param  _bytesproof The proof data in bytes.\n    * @return PriceData Verified price data.\n    *\/<\/span>\n    <span class=\"kd\">function<\/span>  <span class=\"nf\">verifyOracleProof<\/span><span class=\"p\">(<\/span>\n        <span class=\"nx\">bytes<\/span>  <span class=\"nx\">calldata<\/span>  <span class=\"nx\">_bytesproof<\/span>\n    <span class=\"p\">)<\/span> <span class=\"nx\">external<\/span>  <span class=\"nf\">returns <\/span><span class=\"p\">(<\/span><span class=\"nx\">PriceData<\/span>  <span class=\"nx\">memory<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>  \u0628\u0631\u0627\u06cc \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0645\u0627\u0646\u060c \u06cc\u06a9 \u0645\u062a\u063a\u06cc\u0631 \u062f\u0627\u062e\u0644\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 <code>oracle<\/code> \u0628\u0631\u0627\u06cc \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0646 \u0631\u0627\u0628\u0637.  \u0628\u0627 \u0627\u06cc\u0646 \u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0648\u0631\u0627\u06a9\u0644 \u0631\u0627 \u0635\u062f\u0627 \u06a9\u0646\u06cc\u0645 <code>verifyOracleProof<\/code> \u062a\u0627\u0628\u0639\u06cc \u0628\u0631\u0627\u06cc \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u0627\u062b\u0628\u0627\u062a \u0647\u0627\u06cc \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0642\u06cc\u0645\u062a (\u0628\u0647 \u0635\u0648\u0631\u062a \u0631\u0634\u062a\u0647 \u0647\u0627\u06cc \u0628\u0627\u06cc\u062a\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u0634\u0648\u062f).  \u067e\u0633 \u0627\u0632 \u062a\u0623\u06cc\u06cc\u062f\u060c \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0642\u06cc\u0645\u062a (\u0634\u0627\u0645\u0644 \u0634\u0646\u0627\u0633\u0647\u200c\u0647\u0627\u06cc \u062c\u0641\u062a\u060c \u0642\u06cc\u0645\u062a\u200c\u0647\u0627 \u0648 \u0627\u0639\u0634\u0627\u0631) \u0631\u0627 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0646\u06af\u0627\u0634\u062a\u200c\u0647\u0627\u06cc \u062f\u0627\u062e\u0644\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. <code>latestPrices<\/code> \u0648  <code>latestDecimal<\/code>.\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nx\">contract<\/span>  <span class=\"nx\">Supra<\/span> <span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/ The oracle contract<\/span>\n    <span class=\"nx\">ISupraOraclePull<\/span>  <span class=\"nx\">internal<\/span> <span class=\"nx\">oracle<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"c1\">\/\/ Stores the latest price data for a specific pair<\/span>\n    <span class=\"nf\">mapping<\/span><span class=\"p\">(<\/span><span class=\"nx\">uint256<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">uint256<\/span><span class=\"p\">)<\/span> <span class=\"kr\">public<\/span> <span class=\"nx\">latestPrices<\/span><span class=\"p\">;<\/span>\n    <span class=\"nf\">mapping<\/span><span class=\"p\">(<\/span><span class=\"nx\">uint256<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">uint256<\/span><span class=\"p\">)<\/span> <span class=\"kr\">public<\/span> <span class=\"nx\">latestDecimals<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"c1\">\/\/ Event to notify when a price threshold is met<\/span>\n    <span class=\"nx\">event<\/span>  <span class=\"nc\">PriceThresholdMet<\/span><span class=\"p\">(<\/span><span class=\"nx\">uint256<\/span>  <span class=\"nx\">pairId<\/span><span class=\"p\">,<\/span> <span class=\"nx\">uint256<\/span>  <span class=\"nx\">price<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"cm\">\/**\n    * @dev Sets the oracle contract address.\n    * @param  oracle_ The address of the oracle contract.\n    *\/<\/span>\n    <span class=\"nf\">constructor<\/span><span class=\"p\">(<\/span><span class=\"nx\">address<\/span>  <span class=\"nx\">oracle_<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nx\">oracle<\/span> <span class=\"o\">=<\/span> <span class=\"nc\">ISupraOraclePull<\/span><span class=\"p\">(<\/span><span class=\"nx\">oracle_<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"cm\">\/**\n    * @dev Extracts price data from the bytes proof data.\n    * @param  _bytesProof The proof data in bytes.\n    *\/<\/span>\n    <span class=\"kd\">function<\/span>  <span class=\"nf\">deliverPriceData<\/span><span class=\"p\">(<\/span><span class=\"nx\">bytes<\/span>  <span class=\"nx\">calldata<\/span>  <span class=\"nx\">_bytesProof<\/span><span class=\"p\">)<\/span> <span class=\"nx\">external<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nx\">ISupraOraclePull<\/span><span class=\"p\">.<\/span><span class=\"nx\">PriceData<\/span>  <span class=\"nx\">memory<\/span> <span class=\"nx\">prices<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">oracle<\/span><span class=\"p\">.<\/span><span class=\"nf\">verifyOracleProof<\/span><span class=\"p\">(<\/span>\n            <span class=\"nx\">_bytesProof<\/span>\n        <span class=\"p\">);<\/span>\n\n        <span class=\"c1\">\/\/ Iterate over all the extracted prices and store them<\/span>\n        <span class=\"k\">for <\/span><span class=\"p\">(<\/span><span class=\"nx\">uint256<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">&lt;<\/span> <span class=\"nx\">prices<\/span><span class=\"p\">.<\/span><span class=\"nx\">pairs<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n            <span class=\"nx\">uint256<\/span> <span class=\"nx\">pairId<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">prices<\/span><span class=\"p\">.<\/span><span class=\"nx\">pairs<\/span><span class=\"p\">[<\/span><span class=\"nx\">i<\/span><span class=\"p\">];<\/span>\n            <span class=\"nx\">uint256<\/span> <span class=\"nx\">price<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">prices<\/span><span class=\"p\">.<\/span><span class=\"nx\">prices<\/span><span class=\"p\">[<\/span><span class=\"nx\">i<\/span><span class=\"p\">];<\/span>\n            <span class=\"nx\">uint256<\/span> <span class=\"nx\">decimals<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">prices<\/span><span class=\"p\">.<\/span><span class=\"nx\">decimals<\/span><span class=\"p\">[<\/span><span class=\"nx\">i<\/span><span class=\"p\">];<\/span>\n\n            <span class=\"c1\">\/\/ Update the latest price and decimals for the pair<\/span>\n            <span class=\"nx\">latestPrices<\/span><span class=\"p\">[<\/span><span class=\"nx\">pairId<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">price<\/span><span class=\"p\">;<\/span>\n            <span class=\"nx\">latestDecimals<\/span><span class=\"p\">[<\/span><span class=\"nx\">pairId<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">decimals<\/span><span class=\"p\">;<\/span>\n\n\n            <span class=\"c1\">\/\/ Example utility: Trigger an event if the price meets a certain threshold<\/span>\n            <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">price<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">1000<\/span> <span class=\"o\">*<\/span> <span class=\"p\">(<\/span><span class=\"mi\">10<\/span> <span class=\"o\">**<\/span> <span class=\"nx\">decimals<\/span><span class=\"p\">))<\/span> <span class=\"p\">{<\/span>\n            <span class=\"c1\">\/\/ Example threshold<\/span>\n            <span class=\"nx\">emit<\/span>  <span class=\"nc\">PriceThresholdMet<\/span><span class=\"p\">(<\/span><span class=\"nx\">pairId<\/span><span class=\"p\">,<\/span> <span class=\"nx\">price<\/span><span class=\"p\">);<\/span>\n            <span class=\"p\">}<\/span>\n        <span class=\"p\">}<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"cm\">\/**\n    * @dev Updates the oracle contract address.\n    * @param  oracle_ The new address of the oracle contract.\n    *\/<\/span>\n    <span class=\"kd\">function<\/span>  <span class=\"nf\">updatePullAddress<\/span><span class=\"p\">(<\/span><span class=\"nx\">address<\/span>  <span class=\"nx\">oracle_<\/span><span class=\"p\">)<\/span> <span class=\"nx\">external<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nx\">oracle<\/span> <span class=\"o\">=<\/span> <span class=\"nc\">ISupraOraclePull<\/span><span class=\"p\">(<\/span><span class=\"nx\">oracle_<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"cm\">\/**\n    * @dev Returns the latest price and decimals for a given pair ID.\n    * @param  pairId The ID of the pair.\n    * @return  price The latest price of the pair.\n    * @return  decimals The decimals of the pair.\n    *\/<\/span>\n    <span class=\"kd\">function<\/span>  <span class=\"nf\">getLatestPrice<\/span><span class=\"p\">(<\/span>\n        <span class=\"nx\">uint256<\/span>  <span class=\"nx\">pairId<\/span>\n    <span class=\"p\">)<\/span> <span class=\"nx\">external<\/span>  <span class=\"nx\">view<\/span>  <span class=\"nf\">returns <\/span><span class=\"p\">(<\/span><span class=\"nx\">uint256<\/span>  <span class=\"nx\">price<\/span><span class=\"p\">,<\/span> <span class=\"nx\">uint256<\/span>  <span class=\"nx\">decimals<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nx\">price<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">latestPrices<\/span><span class=\"p\">[<\/span><span class=\"nx\">pairId<\/span><span class=\"p\">];<\/span>\n        <span class=\"nx\">decimals<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">latestDecimals<\/span><span class=\"p\">[<\/span><span class=\"nx\">pairId<\/span><span class=\"p\">];<\/span>\n    <span class=\"p\">}<\/span>\n\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 <code>getLatestPrice<\/code> \u062a\u0627\u0628\u0639 woula \u0628\u0647 \u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0622\u062e\u0631\u06cc\u0646 \u0642\u06cc\u0645\u062a \u0648 \u0627\u0639\u0634\u0627\u0631 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0622\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0634\u0646\u0627\u0633\u0647 \u062c\u0641\u062a \u062e\u0627\u0635\u06cc \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u06a9\u0646\u06cc\u0645.<br \/>\u0642\u0631\u0627\u0631\u062f\u0627\u062f \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u06a9\u0646\u06cc\u062f: <code>npx hardhat compile<\/code><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>npx hardhat compile \nCompiled 1 Solidity file successfully\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>\u0627\u06a9\u0646\u0648\u0646 \u06a9\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u062e\u0648\u062f \u0631\u0627 \u062c\u0645\u0639 \u0622\u0648\u0631\u06cc \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f\u060c \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627\u06cc \u0644\u0627\u0632\u0645 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0647 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u0645\u0627 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u062e\u0648\u062f \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc \u06a9\u0646\u06cc\u0645.\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">ethers<\/span> <span class=\"p\">}<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">hardhat<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n<span class=\"kd\">const<\/span>  <span class=\"nx\">PullServiceClient<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">..\/oracle-pull-example\/javascript\/evm_client\/pullServiceClient<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n<span class=\"nf\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">dotenv<\/span><span class=\"dl\">\"<\/span><span class=\"p\">).<\/span><span class=\"nf\">config<\/span><span class=\"p\">();<\/span>\n\n<span class=\"kd\">const<\/span>  <span class=\"nx\">address<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">testnet-dora.supraoracles.com<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"kd\">const<\/span>  <span class=\"nx\">pairIndexes<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">21<\/span><span class=\"p\">,<\/span> <span class=\"mi\">61<\/span><span class=\"p\">,<\/span> <span class=\"mi\">49<\/span><span class=\"p\">];<\/span>\n<span class=\"kd\">const<\/span>  <span class=\"nx\">sepoliaPullContractAdress<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">0x6Cd59830AAD978446e6cc7f6cc173aF7656Fb917<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/Update for V1 or V2<\/span>\n<span class=\"kd\">const<\/span>  <span class=\"nx\">privateKey<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">process<\/span><span class=\"p\">.<\/span><span class=\"nx\">env<\/span><span class=\"p\">.<\/span><span class=\"nx\">PRIVATE_KEY<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>\u062f\u0631 \u0645\u0627 <code>main<\/code> \u062a\u0627\u0628\u0639\u060c \u0645\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u06cc\u0645 <code>PullServiceClient<\/code> \u0646\u0645\u0648\u0646\u0647\u060c \u0645\u062b\u0627\u0644 (<code>client<\/code>) \u0628\u0631\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 \u0633\u0631\u0648\u06cc\u0633 \u0633\u0648\u067e\u0631\u0627 \u0627\u0648\u0631\u0627\u06a9\u0644.  \u0645\u0627 \u0627\u0632 \u0627\u06cc\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645 <code>client<\/code> \u0628\u0631\u0627\u06cc \u062a\u0645\u0627\u0633 \u0628\u0627 <code>getProof<\/code> \u0631\u0648\u0634 \u0628\u0631 \u0631\u0648\u06cc <code>client<\/code> \u0634\u06cc\u0621\u060c \u0627\u0631\u0633\u0627\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a (\u06a9\u0647 \u0634\u0627\u0645\u0644 \u0634\u0627\u062e\u0635 \u0647\u0627 \u0648 \u0646\u0648\u0639 \u0632\u0646\u062c\u06cc\u0631\u0647 \u0627\u0633\u062a) \u0648 \u06cc\u06a9 \u062a\u0627\u0628\u0639 callback \u06a9\u0647 \u062f\u0648 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0648 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0631\u0627 \u0646\u06cc\u0632 \u0645\u06cc \u067e\u0630\u06cc\u0631\u062f. <code>err<\/code> \u0648 <code>response<\/code> .  \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0627 \u0622\u0646 \u062a\u0645\u0627\u0633 \u0628\u06af\u06cc\u0631\u06cc\u0645 <code>calContract<\/code> \u062a\u0627\u0628\u0639\u060c \u0627\u0631\u0633\u0627\u0644 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0627\u062b\u0628\u0627\u062a \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u0634\u062f\u0647 (<code>response.evm<\/code>) \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0627\u0633\u062a\u062f\u0644\u0627\u0644.\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">async<\/span>  <span class=\"kd\">function<\/span>  <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">client<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span>  <span class=\"nc\">PullServiceClient<\/span><span class=\"p\">(<\/span><span class=\"nx\">address<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">request<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n        <span class=\"na\">pair_indexes<\/span><span class=\"p\">:<\/span>  <span class=\"nx\">pairIndexes<\/span><span class=\"p\">,<\/span>\n        <span class=\"na\">chain_type<\/span><span class=\"p\">:<\/span>  <span class=\"dl\">\"<\/span><span class=\"s2\">evm<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n    <span class=\"p\">};<\/span>\n\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Getting proof....<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">proof<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">client<\/span><span class=\"p\">.<\/span><span class=\"nf\">getProof<\/span><span class=\"p\">(<\/span><span class=\"nx\">request<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">,<\/span> <span class=\"nx\">response<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">error<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Error getting proof:<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"nx\">err<\/span><span class=\"p\">.<\/span><span class=\"nx\">details<\/span><span class=\"p\">);<\/span>\n        <span class=\"k\">return<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span>\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Calling contract to verify the proofs.. <\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n    <span class=\"nf\">callContract<\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span><span class=\"p\">.<\/span><span class=\"nx\">evm<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">});<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ul>\n<li>\u0627\u06cc\u0646 <code>callContract<\/code> \u062a\u0627\u0628\u0639\u060c \u0627\u062b\u0628\u0627\u062a \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0642\u06cc\u0645\u062a \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u0634\u062f\u0647 \u0631\u0627 \u0645\u06cc \u06af\u06cc\u0631\u062f (<code>response<\/code>) \u0648 \u062a\u0631\u0627\u06a9\u0646\u0634\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0639\u0627\u0645\u0644 \u0628\u0627 \u0645\u0633\u062a\u0642\u0631 \u0622\u0645\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f <code>Supra<\/code> \u0642\u0631\u0627\u0631\u062f\u0627\u062f.\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">async<\/span>  <span class=\"kd\">function<\/span>  <span class=\"nf\">callContract<\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">Supra<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span>  <span class=\"nx\">ethers<\/span><span class=\"p\">.<\/span><span class=\"nf\">getContractFactory<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Supra<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">supra<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span>  <span class=\"nx\">Supra<\/span><span class=\"p\">.<\/span><span class=\"nf\">deploy<\/span><span class=\"p\">(<\/span><span class=\"nx\">sepoliaPullContractAdress<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">contractAddress<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span>  <span class=\"nx\">supra<\/span><span class=\"p\">.<\/span><span class=\"nf\">getAddress<\/span><span class=\"p\">();<\/span>\n\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Supra deployed to: <\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"nx\">contractAdress<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">hex<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">ethers<\/span><span class=\"p\">.<\/span><span class=\"nf\">hexlify<\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span><span class=\"p\">);<\/span>    \n    <span class=\"kd\">const<\/span>  <span class=\"nx\">txData<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span>  <span class=\"nx\">supra<\/span><span class=\"p\">.<\/span><span class=\"nf\">deliverPriceData<\/span><span class=\"p\">(<\/span><span class=\"nx\">hex<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">gasEstimate<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span>  <span class=\"nx\">supra<\/span><span class=\"p\">.<\/span><span class=\"nx\">estimateGas<\/span><span class=\"p\">.<\/span><span class=\"nf\">deliverPriceData<\/span><span class=\"p\">(<\/span><span class=\"nx\">hex<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">gasPrice<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span>  <span class=\"nx\">ethers<\/span><span class=\"p\">.<\/span><span class=\"nx\">provider<\/span><span class=\"p\">.<\/span><span class=\"nf\">getGasPrice<\/span><span class=\"p\">();<\/span>\n\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Estimated gas for deliverPriceData:<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"nx\">gasEstimate<\/span><span class=\"p\">.<\/span><span class=\"nf\">toString<\/span><span class=\"p\">());<\/span>\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Estimated gas price:<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"nx\">gasPrice<\/span><span class=\"p\">.<\/span><span class=\"nf\">toString<\/span><span class=\"p\">());<\/span>  \n\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">tx<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n        <span class=\"na\">from<\/span><span class=\"p\">:<\/span>  <span class=\"dl\">\"<\/span><span class=\"s2\">0xDA01D79Ca36b493C7906F3C032D2365Fb3470aEC<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n        <span class=\"na\">to<\/span><span class=\"p\">:<\/span>  <span class=\"nx\">contractAddress<\/span><span class=\"p\">,<\/span>\n        <span class=\"na\">data<\/span><span class=\"p\">:<\/span>  <span class=\"nx\">txData<\/span><span class=\"p\">,<\/span>\n        <span class=\"na\">gas<\/span><span class=\"p\">:<\/span>  <span class=\"nx\">gasEstimate<\/span><span class=\"p\">,<\/span>\n        <span class=\"na\">gasPrice<\/span><span class=\"p\">:<\/span>  <span class=\"nx\">gasPrice<\/span><span class=\"p\">,<\/span>\n    <span class=\"p\">};<\/span>\n\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">wallet<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span>  <span class=\"nx\">ethers<\/span><span class=\"p\">.<\/span><span class=\"nc\">Wallet<\/span><span class=\"p\">(<\/span><span class=\"nx\">privateKey<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">signedTransaction<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span>  <span class=\"nx\">wallet<\/span><span class=\"p\">.<\/span><span class=\"nf\">signTransaction<\/span><span class=\"p\">(<\/span><span class=\"nx\">tx<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">txResponse<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span>  <span class=\"nx\">wallet<\/span><span class=\"p\">.<\/span><span class=\"nf\">sendTransaction<\/span><span class=\"p\">(<\/span><span class=\"nx\">tx<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Transaction sent! Hash:<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"nx\">txResponse<\/span><span class=\"p\">.<\/span><span class=\"nx\">hash<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"c1\">\/\/ (Optional) Wait for transaction confirmation (e.g., 1 block confirmation)<\/span>\n    <span class=\"kd\">const<\/span>  <span class=\"nx\">receipt<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span>  <span class=\"nx\">txResponse<\/span><span class=\"p\">.<\/span><span class=\"nf\">wait<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">);<\/span>\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Transaction receipt:<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"nx\">receipt<\/span><span class=\"p\">);<\/span>\n\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B1_%D8%AD%D8%A7%D9%84_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_%D8%A8%D9%87_Sepolia\"><\/span>\n<p>  \u062f\u0631 \u062d\u0627\u0644 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0628\u0647 Sepolia<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 sepolia\u060c \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>npx hardhat run scripts\/run-supra.js --network sepolia\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u0628\u0627\u06cc\u062f \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0641\u06cc\u062f\u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u0642\u06cc\u0645\u062a \u0633\u0648\u067e\u0631\u0627 \u0628\u0627 Hardhat \u062f\u0631 \u0633\u0627\u062e\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u063a\u06cc\u0631\u0645\u062a\u0645\u0631\u06a9\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.  \u06a9\u062f \u06a9\u0627\u0645\u0644 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0627\u06cc\u0646\u062c\u0627 \u0628\u06cc\u0627\u0628\u06cc\u062f.<\/p>\n<p>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0633\u0648\u067e\u0631\u0627 \u0627\u0648\u0631\u0627\u06a9\u0644\u0632\u060c \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc DeFi \u0627\u06cc\u0645\u0646 \u0648 \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0641\u06cc\u062f\u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f \u0648 \u0628\u0647 \u0645\u0648\u0642\u0639 \u0628\u0633\u0627\u0632\u0646\u062f.  \u0628\u0631\u0627\u06cc \u0627\u062f\u0627\u0645\u0647 \u0633\u0627\u062e\u062a \u0628\u0627 \u0633\u0648\u067e\u0631\u0627 \u0648 \u06a9\u0627\u0648\u0634 \u0633\u0627\u06cc\u0631 \u062e\u062f\u0645\u0627\u062a\u060c \u0645\u0646\u0627\u0628\u0639 \u0632\u06cc\u0631 \u0631\u0627 \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc \u06a9\u0646\u0645:<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0633\u0648\u067e\u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0628\u0631\u062c\u0633\u062a\u0647 \u062f\u0631 \u0642\u0644\u0645\u0631\u0648 \u0627\u0648\u0631\u0627\u06a9\u0644\u200c\u0647\u0627\u06cc \u063a\u06cc\u0631\u0645\u062a\u0645\u0631\u06a9\u0632 \u0627\u06cc\u0633\u062a\u0627\u062f\u0647 \u0627\u0633\u062a \u0648 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u062d\u06cc\u0627\u062a\u06cc \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc DeFi \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f: \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0627\u0645\u0646 \u0648 \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f \u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637\u200c\u0647\u0627\u06cc \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646. \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627 \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc \u0633\u0648\u067e\u0631\u0627 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f \u0648 \u0646\u062d\u0648\u0647 \u0627\u06cc\u062c\u0627\u062f \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc DeFi \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f \u0631\u0627 \u0628\u0647 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u062a\u0648\u0627\u0646\u0645\u0646\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0634\u06cc\u0631\u062c\u0647 \u0628\u0632\u0646\u06cc\u0645 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":64906,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-64905","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/64905","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=64905"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/64905\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/64906"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=64905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=64905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=64905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}