{"id":111352,"date":"2025-05-31T10:46:19","date_gmt":"2025-05-31T06:16:19","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/"},"modified":"2025-05-31T10:46:19","modified_gmt":"2025-05-31T06:16:19","slug":"complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/","title":{"rendered":"\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u06a9\u0627\u0645\u0644 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a Coinwatch: \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646 \u0648\u0627\u0642\u0639\u06cc \u0634\u0645\u0627"},"content":{"rendered":"<div data-article-id=\"2547200\" id=\"article-body\">\n<p><em>\u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0642\u0647\u0631\u0645\u0627\u0646: \u0627\u062f\u063a\u0627\u0645 Master API \u060c \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0648 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc \u062f\u0631 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u062d\u0645\u0627\u0633\u06cc!<\/em><\/p>\n<hr\/>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 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-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%F0%9F%93%8B_%D9%81%D9%87%D8%B1%D8%B3%D8%AA_%D9%85%D8%B7%D8%A7%D9%84%D8%A8\" >\ud83d\udccb \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%AE%D9%88%D8%B4_%D8%A2%D9%85%D8%AF%DB%8C%D8%AF_%D8%AA%D9%88%D8%B3%D8%B9%D9%87_%D8%AF%D9%87%D9%86%D8%AF%D9%87_%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C_%D8%A2%DB%8C%D9%86%D8%AF%D9%87_%F0%9F%8E%AF\" >\u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u0622\u06cc\u0646\u062f\u0647! \ud83c\udfaf<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%A2%D9%86%DA%86%D9%87_%D8%B4%D9%85%D8%A7_%D9%85%DB%8C_%D8%B3%D8%A7%D8%B2%DB%8C%D8%AF_%D9%88_%DB%8C%D8%A7%D8%AF_%D8%AE%D9%88%D8%A7%D9%87%DB%8C%D8%AF_%DA%AF%D8%B1%D9%81%D8%AA\" >\u0622\u0646\u0686\u0647 \u0634\u0645\u0627 \u0645\u06cc \u0633\u0627\u0632\u06cc\u062f \u0648 \u06cc\u0627\u062f \u062e\u0648\u0627\u0647\u06cc\u062f \u06af\u0631\u0641\u062a<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D9%85%D8%AD%DB%8C%D8%B7_%D8%AA%D9%88%D8%B3%D8%B9%D9%87_%D8%AE%D9%88%D8%AF_%F0%9F%9B%A0\" >\u062a\u0646\u0638\u06cc\u0645 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u062e\u0648\u062f \ud83d\udee0<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D9%84%DB%8C%D8%B3%D8%AA_%DA%86%DA%A9_%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2%D9%87%D8%A7\" >\u0644\u06cc\u0633\u062a \u0686\u06a9 \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-6\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C_%D8%B3%D8%B1%DB%8C%D8%B9_%D9%85%D8%AD%DB%8C%D8%B7\" >\u0628\u0631\u0631\u0633\u06cc \u0633\u0631\u06cc\u0639 \u0645\u062d\u06cc\u0637:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%AF%D8%B1%DA%A9_API_%D9%87%D8%A7_%D9%BE%D9%84_%D8%AF%D8%A7%D8%AF%D9%87_%D8%B4%D9%85%D8%A7\" >\u062f\u0631\u06a9 API \u0647\u0627: \u067e\u0644 \u062f\u0627\u062f\u0647 \u0634\u0645\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%B4%D8%B1%D9%88%D8%B9_%D8%A8%D8%A7_API_Coingecko\" >\u0634\u0631\u0648\u0639 \u0628\u0627 API Coingecko<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D9%86%D9%82%D8%A7%D8%B7_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%DB%8C_API_%D9%85%D9%87%D9%85\" >\u0646\u0642\u0627\u0637 \u067e\u0627\u06cc\u0627\u0646\u06cc API \u0645\u0647\u0645:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%A7%D9%88%D9%84%DB%8C%D9%86_%D8%AA%D9%85%D8%A7%D8%B3_API_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D8%A2%D8%B2%D9%85%D8%A7%DB%8C%D8%B4_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0627\u0648\u0644\u06cc\u0646 \u062a\u0645\u0627\u0633 API \u062e\u0648\u062f \u0631\u0627 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D9%BE%D8%B1%D9%88%DA%98%D9%87_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_React_%D8%AE%D9%88%D8%AF\" >\u062a\u0646\u0638\u06cc\u0645 \u067e\u0631\u0648\u0698\u0647: \u0627\u06cc\u062c\u0627\u062f \u0628\u0631\u0646\u0627\u0645\u0647 React \u062e\u0648\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%A7%D9%88%D9%84%DB%8C%D9%86_%D8%AA%D9%85%D8%A7%D8%B3_API_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7\" >\u0627\u0648\u0644\u06cc\u0646 \u062a\u0645\u0627\u0633 API \u062e\u0648\u062f \u0631\u0627<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%DB%8C%DA%A9_%D9%85%D8%A4%D9%84%D9%81%D9%87_%D8%AC%D8%AF%DB%8C%D8%AF_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 1: \u06cc\u06a9 \u0645\u0624\u0644\u0641\u0647 \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%D8%AF%D8%B1%DA%A9_%DA%A9%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 2: \u062f\u0631\u06a9 \u06a9\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_%D8%A2%D9%86_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D8%AE%D9%88%D8%AF_%D8%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 3: \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%AF%D8%B3%D8%AA_%D8%B2%D8%AF%D9%86_%D8%A8%D9%87_%D8%AF%D8%A7%D8%AF%D9%87_%D9%87%D8%A7_%D9%85%D8%A7%D9%86%D9%86%D8%AF_%DB%8C%DA%A9_%D8%AD%D8%B1%D9%81%D9%87_%D8%A7%DB%8C\" >\u062f\u0633\u062a \u0632\u062f\u0646 \u0628\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u062d\u0631\u0641\u0647 \u0627\u06cc<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D8%B1%D8%AF%D9%86_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF_%D8%AA%D8%A7%D8%B2%D9%87_%DA%A9%D8%B1%D8%AF%D9%86\" >\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0639\u0645\u0644\u06a9\u0631\u062f \u062a\u0627\u0632\u0647 \u06a9\u0631\u062f\u0646:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%B4%D9%85%D8%A7%D8%B1%D9%87_%D9%87%D8%A7%DB%8C_%D9%82%D8%A7%D9%84%D8%A8_%D8%A8%D9%86%D8%AF%DB%8C\" >\u0634\u0645\u0627\u0631\u0647 \u0647\u0627\u06cc \u0642\u0627\u0644\u0628 \u0628\u0646\u062f\u06cc:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D8%B1%D8%AF%D9%86_%D9%85%D8%AC%D8%AF%D8%AF_%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1\" >\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0645\u062c\u062f\u062f \u062e\u0648\u062f\u06a9\u0627\u0631:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%A7%D9%81%D8%B2%D9%88%D8%AF%D9%86_%D8%A7%D8%AD%D8%B1%D8%A7%D8%B2_%D9%87%D9%88%DB%8C%D8%AA_Firebase\" >\u0627\u0641\u0632\u0648\u062f\u0646 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a Firebase<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%D8%AA%D9%86%D8%B8%DB%8C%D9%85%D8%A7%D8%AA_Firebase\" >\u0645\u0631\u062d\u0644\u0647 1: \u062a\u0646\u0638\u06cc\u0645\u0627\u062a Firebase<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_Firebase\" >\u0645\u0631\u062d\u0644\u0647 2: \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Firebase<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_%D9%85%D8%A4%D9%84%D9%81%D9%87_%D8%A7%D8%AD%D8%B1%D8%A7%D8%B2_%D9%87%D9%88%DB%8C%D8%AA_%D8%B1%D8%A7_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 3: \u0645\u0624\u0644\u0641\u0647 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%DA%86%D8%B1%D8%A7_%D8%AA%D8%A3%DB%8C%DB%8C%D8%AF_%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1_%D9%85%D9%87%D9%85_%D8%A7%D8%B3%D8%AA\" >\u0686\u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u0627\u0639\u062a\u0628\u0627\u0631 \u0645\u0647\u0645 \u0627\u0633\u062a:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%A7%D8%AF%D8%BA%D8%A7%D9%85_%D8%AC%D8%A7%D8%AF%D9%88%DB%8C_AI_%D8%A8%D8%A7_Google_Gemini\" >\u0627\u062f\u063a\u0627\u0645 \u062c\u0627\u062f\u0648\u06cc AI \u0628\u0627 Google Gemini<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%DA%A9%D9%84%DB%8C%D8%AF_API_Gemini_%D8%B1%D8%A7_%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 1: \u06a9\u0644\u06cc\u062f API Gemini \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%D8%A8%D8%B3%D8%AA%D9%87_Google_AI_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 2: \u0628\u0633\u062a\u0647 Google AI \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_%D9%85%D8%A4%D9%84%D9%81%D9%87_AI_Insights_%D8%B1%D8%A7_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 3: \u0645\u0624\u0644\u0641\u0647 AI Insights \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C_%D9%85%D9%86%D8%A7%D8%A8%D8%B9_%D9%88_%D8%A7%D9%84%D9%87%D8%A7%D9%85_%D8%A8%D8%AE%D8%B4\" >\u0637\u0631\u0627\u062d\u06cc \u0645\u0646\u0627\u0628\u0639 \u0648 \u0627\u0644\u0647\u0627\u0645 \u0628\u062e\u0634<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#inspection_%D8%A7%D9%84%D9%87%D8%A7%D9%85_%D8%A8%D8%AE%D8%B4\" >inspection \u0627\u0644\u0647\u0627\u0645 \u0628\u062e\u0634:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#ass_%D8%AF%D8%A7%D8%B1%D8%A7%DB%8C%DB%8C_%D9%87%D8%A7%DB%8C_%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C_%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86\" >ass \u062f\u0627\u0631\u0627\u06cc\u06cc \u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0631\u0627\u06cc\u06af\u0627\u0646:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#tips_%D9%86%DA%A9%D8%A7%D8%AA_%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C_%D8%AF%D8%A7%D8%B4%D8%A8%D9%88%D8%B1%D8%AF\" >tips \u0646\u06a9\u0627\u062a \u0637\u0631\u0627\u062d\u06cc \u062f\u0627\u0634\u0628\u0648\u0631\u062f:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D9%86%DA%A9%D8%A7%D8%AA_%D8%AA%D9%88%D8%B3%D8%B9%D9%87_%D9%85%D8%AD%D9%84%DB%8C_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%AA%D9%88%D8%B3%D8%B9%D9%87_%D8%AF%D9%87%D9%86%D8%AF%DA%AF%D8%A7%D9%86_Bamenda\" >\u0646\u06a9\u0627\u062a \u062a\u0648\u0633\u0639\u0647 \u0645\u062d\u0644\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 Bamenda<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%F0%9F%8C%90_%D8%A8%D9%87%DB%8C%D9%86%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA\" >\ud83c\udf10 \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u0627\u06cc\u0646\u062a\u0631\u0646\u062a:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-35\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%E2%9A%A1_%D9%86%DA%A9%D8%A7%D8%AA_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF\" >\u26a1 \u0646\u06a9\u0627\u062a \u0639\u0645\u0644\u06a9\u0631\u062f:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%F0%9F%94%A7_%D9%85%D8%AD%DB%8C%D8%B7_%D8%AA%D9%88%D8%B3%D8%B9%D9%87\" >\ud83d\udd27 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-37\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D9%85%D8%A7%D9%85%D9%88%D8%B1%DB%8C%D8%AA_%D8%B4%D9%85%D8%A7_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%AF%D8%A7%D8%B4%D8%A8%D9%88%D8%B1%D8%AF_Coinwatch\" >\u0645\u0627\u0645\u0648\u0631\u06cc\u062a \u0634\u0645\u0627: \u0633\u0627\u062e\u062a \u062f\u0627\u0634\u0628\u0648\u0631\u062f Coinwatch<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-38\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#requirements_%D8%A7%D9%84%D8%B2%D8%A7%D9%85%D8%A7%D8%AA_%D8%A7%D8%B5%D9%84%DB%8C\" >requirements \u0627\u0644\u0632\u0627\u0645\u0627\u062a \u0627\u0635\u0644\u06cc:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-39\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%F0%9F%9A%80_%D8%A7%D9%87%D8%AF%D8%A7%D9%81_%DA%A9%D8%B4%D8%B4_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%AC%D8%A7%D9%87_%D8%B7%D9%84%D8%A8\" >\ud83d\ude80 \u0627\u0647\u062f\u0627\u0641 \u06a9\u0634\u0634 (\u0628\u0631\u0627\u06cc \u062c\u0627\u0647 \u0637\u0644\u0628):<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-40\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%F0%9F%92%AA_%D8%B1%D9%88%DB%8C%DA%A9%D8%B1%D8%AF_%D8%AA%D9%88%D8%B3%D8%B9%D9%87\" >\ud83d\udcaa \u0631\u0648\u06cc\u06a9\u0631\u062f \u062a\u0648\u0633\u0639\u0647:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-41\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%F0%9F%8C%9F_%D8%A8%D9%87_%DB%8C%D8%A7%D8%AF_%D8%AF%D8%A7%D8%B4%D8%AA%D9%87_%D8%A8%D8%A7%D8%B4%DB%8C%D8%AF\" >\ud83c\udf1f \u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-42\" href=\"https:\/\/nabfollower.com\/blog\/complete-guide-to-building-coinwatch-your-real-time-crypto-dashboard-nji\/#%D8%B3%D8%AE%D9%86%D8%A7%D9%86_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%DB%8C_%D8%AA%D8%B4%D9%88%DB%8C%D9%82\" >\u0633\u062e\u0646\u0627\u0646 \u067e\u0627\u06cc\u0627\u0646\u06cc \u062a\u0634\u0648\u06cc\u0642<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%93%8B_%D9%81%D9%87%D8%B1%D8%B3%D8%AA_%D9%85%D8%B7%D8%A7%D9%84%D8%A8\"><\/span>\n<p>  \ud83d\udccb \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol>\n<li>\u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u0622\u06cc\u0646\u062f\u0647! \ud83c\udfaf<\/li>\n<li>\u0622\u0646\u0686\u0647 \u0634\u0645\u0627 \u0645\u06cc \u0633\u0627\u0632\u06cc\u062f \u0648 \u06cc\u0627\u062f \u062e\u0648\u0627\u0647\u06cc\u062f \u06af\u0631\u0641\u062a<\/li>\n<li>\u062a\u0646\u0638\u06cc\u0645 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u062e\u0648\u062f \ud83d\udee0<\/li>\n<li>\u062f\u0631\u06a9 API \u0647\u0627: \u067e\u0644 \u062f\u0627\u062f\u0647 \u0634\u0645\u0627<\/li>\n<li>\u0634\u0631\u0648\u0639 \u0628\u0627 API Coingecko<\/li>\n<li>\u062a\u0646\u0638\u06cc\u0645 \u067e\u0631\u0648\u0698\u0647: \u0627\u06cc\u062c\u0627\u062f \u0628\u0631\u0646\u0627\u0645\u0647 React \u062e\u0648\u062f<\/li>\n<li>\u0627\u0648\u0644\u06cc\u0646 \u062a\u0645\u0627\u0633 API \u062e\u0648\u062f \u0631\u0627<\/li>\n<li>\u062f\u0633\u062a \u0632\u062f\u0646 \u0628\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u062d\u0631\u0641\u0647 \u0627\u06cc<\/li>\n<li>\u0627\u0641\u0632\u0648\u062f\u0646 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a Firebase<\/li>\n<li>\u0627\u062f\u063a\u0627\u0645 \u062c\u0627\u062f\u0648\u06cc AI \u0628\u0627 Google Gemini<\/li>\n<li>\u0637\u0631\u0627\u062d\u06cc \u0645\u0646\u0627\u0628\u0639 \u0648 \u0627\u0644\u0647\u0627\u0645 \u0628\u062e\u0634<\/li>\n<li>\u0646\u06a9\u0627\u062a \u062a\u0648\u0633\u0639\u0647 \u0645\u062d\u0644\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 Bamenda<\/li>\n<li>\u0645\u0627\u0645\u0648\u0631\u06cc\u062a \u0634\u0645\u0627: \u0633\u0627\u062e\u062a \u062f\u0627\u0634\u0628\u0648\u0631\u062f Coinwatch<\/li>\n<\/ol>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AE%D9%88%D8%B4_%D8%A2%D9%85%D8%AF%DB%8C%D8%AF_%D8%AA%D9%88%D8%B3%D8%B9%D9%87_%D8%AF%D9%87%D9%86%D8%AF%D9%87_%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C_%D8%A2%DB%8C%D9%86%D8%AF%D9%87_%F0%9F%8E%AF\"><\/span>\n<p>  \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u0622\u06cc\u0646\u062f\u0647! \ud83c\udfaf<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0633\u0644\u0627\u0645 \u060c \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0634\u06af\u0641\u062a \u0627\u0646\u06af\u06cc\u0632! \ud83c\udf1f \u0634\u0645\u0627 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u062f \u06cc\u06a9 \u0633\u0641\u0631 \u0628\u0627\u0648\u0631\u0646\u06a9\u0631\u062f\u0646\u06cc \u0631\u0627 \u0622\u063a\u0627\u0632 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0634\u0645\u0627 \u0631\u0627 \u0627\u0632 \u06cc\u06a9 \u0645\u0628\u062a\u062f\u06cc \u06a9\u0646\u062c\u06a9\u0627\u0648 \u0628\u0647 \u06cc\u06a9 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u062a\u0645\u0627\u0645 \u067e\u0634\u062a\u0647 \u0628\u0627 \u0627\u0639\u062a\u0645\u0627\u062f \u0628\u0647 \u0646\u0641\u0633 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u062f. \u0627\u0645\u0631\u0648\u0632 \u060c \u0645\u0627 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u0686\u06cc\u0632\u06cc \u062e\u0627\u0631\u0642 \u0627\u0644\u0639\u0627\u062f\u0647 \u0628\u0627 \u0647\u0645 \u0628\u0633\u0627\u0632\u06cc\u0645 &#8211; \u06cc\u06a9 \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646 \u0648\u0627\u0642\u0639\u06cc \u06a9\u0647 \u062d\u062a\u06cc \u0628\u0627\u0639\u062b \u062d\u0633\u0627\u062f\u062a \u062c\u0648\u0627\u0646\u0628 \u0645\u062b\u0628\u062a \u0645\u06cc \u0634\u0648\u062f!<\/p>\n<p>\u0627\u0632 \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u0631\u0628\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0634\u062e\u0635\u06cc \u062e\u0648\u062f \u0641\u06a9\u0631 \u06a9\u0646\u06cc\u062f \u060c \u062f\u0631 \u0647\u0631 \u0645\u0631\u062d\u0644\u0647 \u0627\u0632 \u0631\u0627\u0647 \u062f\u0631 \u06a9\u0646\u0627\u0631 \u0634\u0645\u0627 \u0642\u062f\u0645 \u0628\u0632\u0646\u06cc\u062f. \u0645\u0627 \u0645\u0641\u0627\u0647\u06cc\u0645 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0631\u0627 \u0628\u0647 \u0642\u0637\u0639\u0627\u062a \u0627\u0646\u062f\u0627\u0632\u0647 \u0646\u06cc\u0634 \u0648 \u0647\u0636\u0645 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u062d\u062a\u06cc \u0645\u0627\u062f\u0631\u0628\u0632\u0631\u06af \u0634\u0645\u0627 \u0646\u06cc\u0632 \u0645\u06cc \u062a\u0648\u0627\u0646\u0633\u062a \u0622\u0646 \u0631\u0627 \u062f\u0631\u06a9 \u06a9\u0646\u062f (\u062e\u0648\u0628 \u060c \u0634\u0627\u06cc\u062f \u0642\u0633\u0645\u062a API \u0646\u0628\u0627\u0634\u062f \u060c \u0627\u0645\u0627 \u0634\u0645\u0627 \u0627\u06cc\u0646 \u0627\u06cc\u062f\u0647 \u0631\u0627 \u0645\u06cc \u06af\u06cc\u0631\u06cc\u062f! \ud83d\ude04).<\/p>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A2%D9%86%DA%86%D9%87_%D8%B4%D9%85%D8%A7_%D9%85%DB%8C_%D8%B3%D8%A7%D8%B2%DB%8C%D8%AF_%D9%88_%DB%8C%D8%A7%D8%AF_%D8%AE%D9%88%D8%A7%D9%87%DB%8C%D8%AF_%DA%AF%D8%B1%D9%81%D8%AA\"><\/span>\n<p>  \u0622\u0646\u0686\u0647 \u0634\u0645\u0627 \u0645\u06cc \u0633\u0627\u0632\u06cc\u062f \u0648 \u06cc\u0627\u062f \u062e\u0648\u0627\u0647\u06cc\u062f \u06af\u0631\u0641\u062a<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0631 \u067e\u0627\u06cc\u0627\u0646 \u0627\u06cc\u0646 \u0633\u0641\u0631 \u060c \u0634\u0645\u0627 \u062a\u0633\u0644\u0637 \u06cc\u0627\u0641\u062a\u0647 \u0627\u06cc\u062f:<\/p>\n<p><strong>skills \u0645\u0647\u0627\u0631\u062a \u0647\u0627\u06cc \u0627\u0635\u0644\u06cc:<\/strong><\/p>\n<ul>\n<li>\n<strong>\u0627\u062f\u063a\u0627\u0645 API<\/strong>: \u0648\u0627\u06a9\u0634\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646 \u0648\u0627\u0642\u0639\u06cc \u0645\u0627\u0646\u0646\u062f \u062c\u0627\u062f\u0648\u06af\u0631<\/li>\n<li>\n<strong>\u062a\u0633\u0644\u0637<\/strong>: \u0627\u06cc\u062c\u0627\u062f \u0631\u0627\u0628\u0637 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u067e\u0648\u06cc\u0627 \u0648 \u067e\u0627\u0633\u062e\u06af\u0648\n<\/li>\n<li>\n<strong>\u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a<\/strong>: \u062a\u0623\u0645\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0628\u0627 Firebase<\/li>\n<li>\n<strong>\u0627\u062f\u063a\u0627\u0645 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc<\/strong>: \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f \u0628\u0627 Gemini Google<\/li>\n<li>\n<strong>\u062a\u0648\u0633\u0639\u0647 \u062d\u0631\u0641\u0647 \u0627\u06cc<\/strong>: \u0634\u06cc\u0648\u0647 \u0647\u0627\u06cc \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0635\u0646\u0639\u062a<\/li>\n<\/ul>\n<p><strong>\u067e\u0631\u0648\u0698\u0647 \u0646\u0647\u0627\u06cc\u06cc \u0634\u0645\u0627:<\/strong><br \/>\u06cc\u06a9 \u062f\u0627\u0634\u0628\u0648\u0631\u062f cryptocurrency \u06a9\u0627\u0645\u0644\u0627\u064b \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0628\u0647 \u0646\u0627\u0645 &#8220;Coinwatch&#8221; \u06a9\u0647 \u0642\u06cc\u0645\u062a \u0647\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc \u060c \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0628\u0627\u0632\u0627\u0631 \u0648 \u0628\u06cc\u0646\u0634 \u0647\u0627\u06cc \u062f\u0627\u0631\u0627\u06cc \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f-\u0647\u0645\u0647 \u0628\u0627 \u062a\u0623\u06cc\u06cc\u062f \u0627\u0639\u062a\u0628\u0627\u0631 \u06a9\u0627\u0631\u0628\u0631 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc \u0634\u0648\u0646\u062f!<\/p>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D9%85%D8%AD%DB%8C%D8%B7_%D8%AA%D9%88%D8%B3%D8%B9%D9%87_%D8%AE%D9%88%D8%AF_%F0%9F%9B%A0\"><\/span>\n<p>  \u062a\u0646\u0638\u06cc\u0645 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u062e\u0648\u062f \ud83d\udee0<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0628\u0647 \u0686\u06cc\u0632\u0647\u0627\u06cc \u0647\u06cc\u062c\u0627\u0646 \u0627\u0646\u06af\u06cc\u0632 \u0634\u06cc\u0631\u062c\u0647 \u0628\u0632\u0646\u06cc\u0645 \u060c \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0631\u0627\u06cc\u0627\u0646\u0647 \u0634\u0645\u0627 \u0628\u0631\u0627\u06cc \u0628\u0631\u062e\u06cc \u0627\u0632 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u062c\u062f\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0622\u0645\u0627\u062f\u0647 \u0627\u0633\u062a!<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%84%DB%8C%D8%B3%D8%AA_%DA%86%DA%A9_%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2%D9%87%D8%A7\"><\/span>\n<p>  \u0644\u06cc\u0633\u062a \u0686\u06a9 \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\u2705 node.js (\u0646\u0633\u062e\u0647 14 \u06cc\u0627 \u0628\u0627\u0644\u0627\u062a\u0631)<\/li>\n<li>reditor \u06cc\u06a9 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u06a9\u062f (\u062f\u0631 \u0645\u0642\u0627\u0628\u0644 \u06a9\u062f \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc \u0634\u0648\u062f)<\/li>\n<li>\u2705 \u062f\u0627\u0646\u0634 \u0627\u0633\u0627\u0633\u06cc \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0648 \u0648\u0627\u06a9\u0646\u0634 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f<\/li>\n<li>\u2705 \u0630\u0647\u0646 \u0648 \u0639\u0632\u0645 \u06a9\u0646\u062c\u06a9\u0627\u0648 \u0628\u0631\u0627\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc!<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C_%D8%B3%D8%B1%DB%8C%D8%B9_%D9%85%D8%AD%DB%8C%D8%B7\"><\/span>\n<p>  \u0628\u0631\u0631\u0633\u06cc \u0633\u0631\u06cc\u0639 \u0645\u062d\u06cc\u0637:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"c\"># Check if Node.js is installed<\/span>\nnode <span class=\"nt\">--version<\/span>\n\n<span class=\"c\"># Check if npm is installed  <\/span>\nnpm <span class=\"nt\">--version<\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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\u06af\u0631 \u0634\u0645\u0627\u0631\u0647 \u0646\u0633\u062e\u0647 \u0631\u0627 \u0645\u06cc \u0628\u06cc\u0646\u06cc\u062f \u060c \u0637\u0644\u0627\u06cc\u06cc \u0647\u0633\u062a\u06cc\u062f! \u0627\u06af\u0631 \u0627\u06cc\u0646\u0637\u0648\u0631 \u0646\u06cc\u0633\u062a \u060c \u0628\u0647 nodejs.org \u0628\u0631\u0648\u06cc\u062f \u0648 \u0622\u062e\u0631\u06cc\u0646 \u0646\u0633\u062e\u0647 \u0631\u0627 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B1%DA%A9_API_%D9%87%D8%A7_%D9%BE%D9%84_%D8%AF%D8%A7%D8%AF%D9%87_%D8%B4%D9%85%D8%A7\"><\/span>\n<p>  \u062f\u0631\u06a9 API \u0647\u0627: \u067e\u0644 \u062f\u0627\u062f\u0647 \u0634\u0645\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>API \u0686\u06cc\u0633\u062a\u061f<\/strong> <br \/>\u062a\u0635\u0648\u0631 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062f\u0631 \u06cc\u06a9 \u0631\u0633\u062a\u0648\u0631\u0627\u0646 \u0647\u0633\u062a\u06cc\u062f. \u0634\u0645\u0627 (\u062c\u0644\u0648\u06cc) \u063a\u0630\u0627 (\u062f\u0627\u062f\u0647) \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u060c \u0627\u0645\u0627 \u0646\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u0628\u0647 \u0622\u0634\u067e\u0632\u062e\u0627\u0646\u0647 (\u0633\u0631\u0648\u0631) \u0628\u0631\u0648\u06cc\u062f. \u062f\u0631\u0639\u0648\u0636 \u060c \u0634\u0645\u0627 \u0628\u0647 \u067e\u06cc\u0634\u062e\u062f\u0645\u062a (API) \u0645\u06cc \u06af\u0648\u06cc\u06cc\u062f \u0686\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u060c \u0648 \u0622\u0646\u0647\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0634\u0645\u0627 \u0628\u0627\u0632 \u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u0646\u062f. \u0627\u06cc\u0646 \u062f\u0642\u06cc\u0642\u0627\u064b \u0647\u0645\u0627\u0646 \u06a9\u0627\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 \u06cc\u06a9 API \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f &#8211; \u0627\u06cc\u0646 \u067e\u06cc\u0634\u062e\u062f\u0645\u062a \u062f\u0627\u062f\u0647 \u0634\u0645\u0627\u0633\u062a!<\/p>\n<p><strong>Coingecko API:<\/strong><br \/>Coingecko \u0645\u0627\u0646\u0646\u062f \u062f\u0627\u0634\u062a\u0646 \u06cc\u06a9 \u062f\u0648\u0633\u062a \u0641\u0648\u0642 \u0627\u0644\u0639\u0627\u062f\u0647 \u0628\u0627\u0647\u0648\u0634 \u0627\u0633\u062a \u06a9\u0647 \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0631\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f \u0642\u06cc\u0645\u062a \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u060c \u06a9\u0644\u0627\u0647 \u0647\u0627\u06cc \u0628\u0627\u0632\u0627\u0631 \u0648 \u062d\u062c\u0645 \u0645\u0639\u0627\u0645\u0644\u0627\u062a \u0645\u06cc \u062f\u0627\u0646\u062f. \u0628\u0647 \u062c\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u062f\u0633\u062a\u06cc \u0635\u062f\u0647\u0627 \u0648\u0628 \u0633\u0627\u06cc\u062a \u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 API Coingecko \u0628\u067e\u0631\u0633\u06cc\u062f \u060c \u0648 \u0627\u06cc\u0646 \u0647\u0645\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0641\u0648\u0631\u0627\u064b \u0628\u0647 \u0634\u0645\u0627 \u0645\u06cc \u062f\u0647\u062f!<\/p>\n<p><strong>\u0645\u0641\u0627\u0647\u06cc\u0645 \u06a9\u0644\u06cc\u062f\u06cc:<\/strong><\/p>\n<ul>\n<li>\n<strong>\u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646\u06cc<\/strong>: URL \u062e\u0627\u0635 \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u062f\u0627\u062f\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f<\/li>\n<li>\n<strong>\u062f\u0631\u062e\u0648\u0627\u0633\u062a<\/strong>: \u0633\u0648\u0627\u0644 \u0634\u0645\u0627 \u0628\u0647 API<\/li>\n<li>\n<strong>\u067e\u0627\u0633\u062e<\/strong>: \u067e\u0627\u0633\u062e API \u0628\u0627 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0634\u0645\u0627<\/li>\n<li>\n<strong>json<\/strong>: API \u0647\u0627\u06cc \u0632\u0628\u0627\u0646 \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u062f\u0627\u062f\u0647 \u0647\u0627 (\u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0645\u062a\u0631\u062c\u0645 \u062c\u0647\u0627\u0646\u06cc) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0646\u062f<\/li>\n<\/ul>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B4%D8%B1%D9%88%D8%B9_%D8%A8%D8%A7_API_Coingecko\"><\/span>\n<p>  \u0634\u0631\u0648\u0639 \u0628\u0627 API Coingecko<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0646\u06a9\u062a\u0647 \u0632\u06cc\u0628\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f API Coingecko\u061f \u0627\u06cc\u0646 \u0627\u0633\u062a <strong>\u0631\u0627\u06cc\u06af\u0627\u0646<\/strong> \u0648 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0633\u0627\u0633\u06cc \u0628\u0647 \u06cc\u06a9 \u06a9\u0644\u06cc\u062f API \u0627\u062d\u062a\u06cc\u0627\u062c \u0646\u062f\u0627\u0631\u062f! \u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u0633\u0627\u062e\u062a\u0645\u0627\u0646 \u0631\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%86%D9%82%D8%A7%D8%B7_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%DB%8C_API_%D9%85%D9%87%D9%85\"><\/span>\n<p>  \u0646\u0642\u0627\u0637 \u067e\u0627\u06cc\u0627\u0646\u06cc API \u0645\u0647\u0645:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>1. \u0644\u06cc\u0633\u062a \u0647\u0645\u0647 \u0633\u06a9\u0647 \u0647\u0627 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>https:\/\/api.coingecko.com\/api\/v3\/coins\/list\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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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><strong>2. \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0628\u0627\u0632\u0627\u0631 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>https:\/\/api.coingecko.com\/api\/v3\/coins\/markets?vs_currency=usd&amp;order=market_cap_desc&amp;per_page=10&amp;page=1\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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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><strong>3. \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0633\u06a9\u0647 \u062e\u0627\u0635\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>https:\/\/api.coingecko.com\/api\/v3\/coins\/bitcoin\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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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><strong>4. \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0642\u06cc\u0645\u062a \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>https:\/\/api.coingecko.com\/api\/v3\/simple\/price?ids=bitcoin,ethereum&amp;vs_currencies=usd\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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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%A7%D9%88%D9%84%DB%8C%D9%86_%D8%AA%D9%85%D8%A7%D8%B3_API_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7_%D8%A2%D8%B2%D9%85%D8%A7%DB%8C%D8%B4_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0627\u0648\u0644\u06cc\u0646 \u062a\u0645\u0627\u0633 API \u062e\u0648\u062f \u0631\u0627 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0645\u0631\u0648\u0631\u06af\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u06cc\u0646 \u0622\u062f\u0631\u0633 \u0631\u0627 \u0628\u0686\u0633\u0628\u0627\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>https:\/\/api.coingecko.com\/api\/v3\/simple\/price?ids=bitcoin&amp;vs_currencies=usd\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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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>\u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0686\u06cc\u0632\u06cc \u0645\u0627\u0646\u0646\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"p\">{<\/span><span class=\"w\">\n  <\/span><span class=\"nl\">\"bitcoin\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"usd\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"mi\">45000<\/span><span class=\"w\">\n  <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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>\u062a\u0628\u0631\u06cc\u06a9 \u0645\u06cc \u06af\u0648\u06cc\u0645! \u0634\u0645\u0627 \u0641\u0642\u0637 \u0627\u0648\u0644\u06cc\u0646 \u062a\u0645\u0627\u0633 API \u062e\u0648\u062f \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u0647 \u0627\u06cc\u062f! \ud83c\udf89<\/p>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D9%BE%D8%B1%D9%88%DA%98%D9%87_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_React_%D8%AE%D9%88%D8%AF\"><\/span>\n<p>  \u062a\u0646\u0638\u06cc\u0645 \u067e\u0631\u0648\u0698\u0647: \u0627\u06cc\u062c\u0627\u062f \u0628\u0631\u0646\u0627\u0645\u0647 React \u062e\u0648\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0632\u0645\u0627\u0646 \u0627\u06cc\u062c\u0627\u062f \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f! \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0622\u0634\u067e\u0632\u06cc \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"c\"># Create your React app<\/span>\nnpx create-react-app coinwatch-dashboard\n<span class=\"nb\">cd <\/span>coinwatch-dashboard\n\n<span class=\"c\"># Install additional packages we'll need<\/span>\nnpm <span class=\"nb\">install <\/span>axios firebase\n\n<span class=\"c\"># Start your development server<\/span>\nnpm start\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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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><strong>\u0686\u0647 \u0627\u062a\u0641\u0627\u0642\u06cc \u0627\u0641\u062a\u0627\u062f\u0647 \u0627\u0633\u062a\u061f<\/strong><\/p>\n<ul>\n<li>\n<code>create-react-app<\/code>  \u06cc\u06a9 \u0633\u0627\u062e\u062a\u0627\u0631 \u06a9\u0627\u0645\u0644 \u067e\u0631\u0648\u0698\u0647 React \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f<\/li>\n<li>\n<code>axios<\/code>  \u0645\u0634\u062a\u0631\u06cc HTTP \u0645\u0627 \u0628\u0631\u0627\u06cc \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u062a\u0645\u0627\u0633 API \u0627\u0633\u062a (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0627\u0628\u0632\u0627\u0631 \u0628\u0647 \u0631\u0648\u0632 \u0634\u062f\u0647 \u0645\u0627 \u0641\u06a9\u0631 \u06a9\u0646\u06cc\u062f)<\/li>\n<li>\n<code>firebase<\/code>  \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0645\u0627 \u0631\u0627 \u06a9\u0646\u062a\u0631\u0644 \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f<\/li>\n<li>\n<code>npm start<\/code>  \u0633\u0631\u0648\u0631 \u062a\u0648\u0633\u0639\u0647 \u0645\u062d\u0644\u06cc \u062e\u0648\u062f \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc \u06a9\u0646\u062f<\/li>\n<\/ul>\n<p>\u0645\u0631\u0648\u0631\u06af\u0631 \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0628\u0627\u0632 \u0634\u0648\u062f <code>http:\/\/localhost:3000<\/code> \u0646\u0645\u0627\u06cc\u0634 \u0628\u0631\u0646\u0627\u0645\u0647 React Default React. \u0634\u0645\u0627 \u0631\u0633\u0645\u0627 \u062f\u0631 \u0628\u0627\u0632\u06cc \u0647\u0633\u062a\u06cc\u062f! \ud83d\ude80<\/p>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D9%88%D9%84%DB%8C%D9%86_%D8%AA%D9%85%D8%A7%D8%B3_API_%D8%AE%D9%88%D8%AF_%D8%B1%D8%A7\"><\/span>\n<p>  \u0627\u0648\u0644\u06cc\u0646 \u062a\u0645\u0627\u0633 API \u062e\u0648\u062f \u0631\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u0631\u0627\u06cc \u0642\u0633\u0645\u062a \u0647\u06cc\u062c\u0627\u0646 \u0627\u0646\u06af\u06cc\u0632 &#8211; \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0631\u062e\u06cc \u0627\u0632 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u0648\u0627\u0642\u0639\u06cc \u0631\u0627 \u0628\u062f\u0633\u062a \u0622\u0648\u0631\u06cc\u0645!<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%DB%8C%DA%A9_%D9%85%D8%A4%D9%84%D9%81%D9%87_%D8%AC%D8%AF%DB%8C%D8%AF_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0645\u0631\u062d\u0644\u0647 1: \u06cc\u06a9 \u0645\u0624\u0644\u0641\u0647 \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0641\u0627\u06cc\u0644\u06cc \u0628\u0647 \u0646\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>src\/CryptoData.js<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">import<\/span> <span class=\"nx\">React<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">useState<\/span><span class=\"p\">,<\/span> <span class=\"nx\">useEffect<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">react<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"nx\">axios<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">axios<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">function<\/span> <span class=\"nf\">CryptoData<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n  <span class=\"c1\">\/\/ State to store our crypto data<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"p\">[<\/span><span class=\"nx\">cryptoData<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setCryptoData<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">useState<\/span><span class=\"p\">([]);<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"p\">[<\/span><span class=\"nx\">loading<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setLoading<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">useState<\/span><span class=\"p\">(<\/span><span class=\"kc\">true<\/span><span class=\"p\">);<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"p\">[<\/span><span class=\"nx\">error<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setError<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">useState<\/span><span class=\"p\">(<\/span><span class=\"kc\">null<\/span><span class=\"p\">);<\/span>\n\n  <span class=\"c1\">\/\/ Function to fetch crypto data<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"nx\">fetchCryptoData<\/span> <span class=\"o\">=<\/span> <span class=\"k\">async <\/span><span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">try<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nf\">setLoading<\/span><span class=\"p\">(<\/span><span class=\"kc\">true<\/span><span class=\"p\">);<\/span>\n\n      <span class=\"c1\">\/\/ The API endpoint for top 10 cryptocurrencies<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">response<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">axios<\/span><span class=\"p\">.<\/span><span class=\"nf\">get<\/span><span class=\"p\">(<\/span>\n        <span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/api.coingecko.com\/api\/v3\/coins\/markets?vs_currency=usd&amp;order=market_cap_desc&amp;per_page=10&amp;page=1<\/span><span class=\"dl\">'<\/span>\n      <span class=\"p\">);<\/span>\n\n      <span class=\"nf\">setCryptoData<\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span><span class=\"p\">.<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n      <span class=\"nf\">setError<\/span><span class=\"p\">(<\/span><span class=\"kc\">null<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span> <span class=\"k\">catch <\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nf\">setError<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">Failed to fetch crypto data<\/span><span class=\"dl\">'<\/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=\"s1\">Error fetching data:<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"nx\">err<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span> <span class=\"k\">finally<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nf\">setLoading<\/span><span class=\"p\">(<\/span><span class=\"kc\">false<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">};<\/span>\n\n  <span class=\"c1\">\/\/ useEffect runs when component mounts<\/span>\n  <span class=\"nf\">useEffect<\/span><span class=\"p\">(()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nf\">fetchCryptoData<\/span><span class=\"p\">();<\/span>\n  <span class=\"p\">},<\/span> <span class=\"p\">[]);<\/span>\n\n  <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">loading<\/span><span class=\"p\">)<\/span> <span class=\"k\">return<\/span> <span class=\"o\">&lt;<\/span><span class=\"nx\">div<\/span><span class=\"o\">&gt;<\/span><span class=\"nx\">Loading<\/span> <span class=\"nx\">awesome<\/span> <span class=\"nx\">crypto<\/span> <span class=\"nx\">data<\/span><span class=\"p\">...<\/span><span class=\"o\">&lt;<\/span><span class=\"sr\">\/div&gt;<\/span><span class=\"err\">;\n<\/span>  <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">error<\/span><span class=\"p\">)<\/span> <span class=\"k\">return<\/span> <span class=\"o\">&lt;<\/span><span class=\"nx\">div<\/span><span class=\"o\">&gt;<\/span><span class=\"nb\">Error<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span><span class=\"nx\">error<\/span><span class=\"p\">}<\/span><span class=\"o\">&lt;<\/span><span class=\"sr\">\/div&gt;<\/span><span class=\"err\">;\n<\/span>\n  <span class=\"k\">return <\/span><span class=\"p\">(<\/span>\n    <span class=\"o\">&lt;<\/span><span class=\"nx\">div<\/span><span class=\"o\">&gt;<\/span>\n      <span class=\"o\">&lt;<\/span><span class=\"nx\">h2<\/span><span class=\"o\">&gt;<\/span><span class=\"nx\">Top<\/span> <span class=\"mi\">10<\/span> <span class=\"nx\">Cryptocurrencies<\/span><span class=\"o\">&lt;<\/span><span class=\"sr\">\/h2<\/span><span class=\"err\">&gt;\n<\/span>      <span class=\"p\">{<\/span><span class=\"nx\">cryptoData<\/span><span class=\"p\">.<\/span><span class=\"nf\">map<\/span><span class=\"p\">(<\/span><span class=\"nx\">coin<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">(<\/span>\n        <span class=\"o\">&lt;<\/span><span class=\"nx\">div<\/span> <span class=\"nx\">key<\/span><span class=\"o\">=<\/span><span class=\"p\">{<\/span><span class=\"nx\">coin<\/span><span class=\"p\">.<\/span><span class=\"nx\">id<\/span><span class=\"p\">}<\/span> <span class=\"nx\">style<\/span><span class=\"o\">=<\/span><span class=\"p\">{{<\/span> <span class=\"na\">margin<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">10px<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">padding<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">10px<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">border<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">1px solid #ccc<\/span><span class=\"dl\">'<\/span> <span class=\"p\">}}<\/span><span class=\"o\">&gt;<\/span>\n          <span class=\"o\">&lt;<\/span><span class=\"nx\">h3<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">{<\/span><span class=\"nx\">coin<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">}<\/span> <span class=\"p\">({<\/span><span class=\"nx\">coin<\/span><span class=\"p\">.<\/span><span class=\"nx\">symbol<\/span><span class=\"p\">.<\/span><span class=\"nf\">toUpperCase<\/span><span class=\"p\">()})<\/span><span class=\"o\">&lt;<\/span><span class=\"sr\">\/h3<\/span><span class=\"err\">&gt;\n<\/span>          <span class=\"o\">&lt;<\/span><span class=\"nx\">p<\/span><span class=\"o\">&gt;<\/span><span class=\"nx\">Price<\/span><span class=\"p\">:<\/span> <span class=\"nx\">$<\/span><span class=\"p\">{<\/span><span class=\"nx\">coin<\/span><span class=\"p\">.<\/span><span class=\"nx\">current_price<\/span><span class=\"p\">}<\/span><span class=\"o\">&lt;<\/span><span class=\"sr\">\/p<\/span><span class=\"err\">&gt;\n<\/span>          <span class=\"o\">&lt;<\/span><span class=\"nx\">p<\/span><span class=\"o\">&gt;<\/span><span class=\"nx\">Market<\/span> <span class=\"nx\">Cap<\/span><span class=\"p\">:<\/span> <span class=\"nx\">$<\/span><span class=\"p\">{<\/span><span class=\"nx\">coin<\/span><span class=\"p\">.<\/span><span class=\"nx\">market_cap<\/span><span class=\"p\">.<\/span><span class=\"nf\">toLocaleString<\/span><span class=\"p\">()}<\/span><span class=\"o\">&lt;<\/span><span class=\"sr\">\/p<\/span><span class=\"err\">&gt;\n<\/span>          <span class=\"o\">&lt;<\/span><span class=\"nx\">p<\/span><span class=\"o\">&gt;<\/span><span class=\"mi\">24<\/span><span class=\"nx\">h<\/span> <span class=\"nx\">Change<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span><span class=\"nx\">coin<\/span><span class=\"p\">.<\/span><span class=\"nx\">price_change_percentage_24h<\/span><span class=\"p\">?.<\/span><span class=\"nf\">toFixed<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">)}<\/span><span class=\"o\">%&lt;<\/span><span class=\"sr\">\/p<\/span><span class=\"err\">&gt;\n<\/span>        <span class=\"o\">&lt;<\/span><span class=\"sr\">\/div<\/span><span class=\"err\">&gt;\n<\/span>      <span class=\"p\">))}<\/span>\n    <span class=\"o\">&lt;<\/span><span class=\"sr\">\/div<\/span><span class=\"err\">&gt;\n<\/span>  <span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">export<\/span> <span class=\"k\">default<\/span> <span class=\"nx\">CryptoData<\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%D8%AF%D8%B1%DA%A9_%DA%A9%D8%AF\"><\/span>\n<p>  \u0645\u0631\u062d\u0644\u0647 2: \u062f\u0631\u06a9 \u06a9\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0627\u06cc\u0646 \u0631\u0627 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u062f\u0648\u0633\u062a \u062a\u0648\u0636\u06cc\u062d \u062f\u0647\u06cc\u0645:<\/strong><\/p>\n<p><strong>\u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0648\u0644\u062a:<\/strong><\/p>\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\">cryptoData<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setCryptoData<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">useState<\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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>\u0641\u06a9\u0631 \u06a9\u0631\u062f\u0646 <code>useState<\/code> \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u062c\u0639\u0628\u0647 \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a. <code>cryptoData<\/code> \u0645\u062d\u062a\u0648\u0627\u06cc \u0641\u0639\u0644\u06cc \u062c\u0639\u0628\u0647 \u0627\u0633\u062a \u060c \u0648 <code>setCryptoData<\/code> \u062a\u0627\u0628\u0639\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0686\u06cc\u0632\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f\u06cc \u0631\u0627 \u062f\u0631 \u062c\u0639\u0628\u0647 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<p><strong>\u062a\u0645\u0627\u0633 API:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">response<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">axios<\/span><span class=\"p\">.<\/span><span class=\"nf\">get<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">API_URL<\/span><span class=\"dl\">'<\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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 \u0645\u0627\u0646\u0646\u062f \u0627\u0631\u0633\u0627\u0644 \u0646\u0627\u0645\u0647 \u0648 \u0627\u0646\u062a\u0638\u0627\u0631 \u0628\u0631\u0627\u06cc \u067e\u0627\u0633\u062e \u0627\u0633\u062a. <code>await<\/code> \u0628\u0647 \u0645\u0639\u0646\u0627\u06cc &#8220;\u0635\u0628\u0631 \u0628\u0631\u0627\u06cc \u067e\u0627\u0633\u062e \u0642\u0628\u0644 \u0627\u0632 \u0627\u062f\u0627\u0645\u0647&#8221; \u060c \u0648 <code>axios.get()<\/code> \u0631\u0648\u0634 \u0645\u0627 \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a API \u0628\u0631\u0627\u06cc \u062f\u0627\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p><strong>\u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062e\u0637\u0627:<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">try<\/span> <span class=\"p\">{<\/span>\n  <span class=\"c1\">\/\/ Try to get data<\/span>\n<span class=\"p\">}<\/span> <span class=\"k\">catch <\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n  <span class=\"c1\">\/\/ If something goes wrong, handle it gracefully<\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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 \u0645\u0627\u0646\u0646\u062f \u062f\u0627\u0634\u062a\u0646 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646 \u0627\u0633\u062a. \u0627\u06af\u0631 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a \u06a9\u0646\u062f \u0628\u0627\u0634\u062f \u06cc\u0627 API \u067e\u0627\u06cc\u06cc\u0646 \u0628\u0627\u0634\u062f \u060c \u0645\u0627 \u0628\u0647 \u062c\u0627\u06cc \u062e\u0631\u0627\u0628\u06cc \u060c \u06cc\u06a9 \u067e\u06cc\u0627\u0645 \u062e\u0637\u0627\u06cc \u062f\u0648\u0633\u062a\u0627\u0646\u0647 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u06cc\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_%D8%A2%D9%86_%D8%B1%D8%A7_%D8%A8%D9%87_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D8%AE%D9%88%D8%AF_%D8%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0645\u0631\u062d\u0644\u0647 3: \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc <code>src\/App.js<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">import<\/span> <span class=\"nx\">React<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">react<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"nx\">CryptoData<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/CryptoData<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/App.css<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">function<\/span> <span class=\"nf\">App<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n  <span class=\"k\">return <\/span><span class=\"p\">(<\/span>\n    <span class=\"o\">&lt;<\/span><span class=\"nx\">div<\/span> <span class=\"nx\">className<\/span><span class=\"o\">=<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">App<\/span><span class=\"dl\">\"<\/span><span class=\"o\">&gt;<\/span>\n      <span class=\"o\">&lt;<\/span><span class=\"nx\">header<\/span> <span class=\"nx\">className<\/span><span class=\"o\">=<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">App-header<\/span><span class=\"dl\">\"<\/span><span class=\"o\">&gt;<\/span>\n        <span class=\"o\">&lt;<\/span><span class=\"nx\">h1<\/span><span class=\"o\">&gt;<\/span><span class=\"nx\">CoinWatch<\/span> <span class=\"nx\">Dashboard<\/span><span class=\"o\">&lt;<\/span><span class=\"sr\">\/h1<\/span><span class=\"err\">&gt;\n<\/span>        <span class=\"o\">&lt;<\/span><span class=\"nx\">CryptoData<\/span> <span class=\"o\">\/&gt;<\/span>\n      <span class=\"o\">&lt;<\/span><span class=\"sr\">\/header<\/span><span class=\"err\">&gt;\n<\/span>    <span class=\"o\">&lt;<\/span><span class=\"sr\">\/div<\/span><span class=\"err\">&gt;\n<\/span>  <span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">export<\/span> <span class=\"k\">default<\/span> <span class=\"nx\">App<\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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>\u067e\u0631\u0648\u0646\u062f\u0647 \u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0645\u0631\u0648\u0631\u06af\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f. \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc cryptocurrency \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f! \ud83c\udf89<\/p>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B3%D8%AA_%D8%B2%D8%AF%D9%86_%D8%A8%D9%87_%D8%AF%D8%A7%D8%AF%D9%87_%D9%87%D8%A7_%D9%85%D8%A7%D9%86%D9%86%D8%AF_%DB%8C%DA%A9_%D8%AD%D8%B1%D9%81%D9%87_%D8%A7%DB%8C\"><\/span>\n<p>  \u062f\u0633\u062a \u0632\u062f\u0646 \u0628\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u062d\u0631\u0641\u0647 \u0627\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0648\u0627\u06a9\u0634\u06cc \u06a9\u0646\u06cc\u062f \u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0642\u062f\u0631\u062a\u0645\u0646\u062f\u062a\u0631 \u0648 \u06a9\u0627\u0631\u0628\u0631 \u067e\u0633\u0646\u062f \u06a9\u0646\u06cc\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D8%B1%D8%AF%D9%86_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF_%D8%AA%D8%A7%D8%B2%D9%87_%DA%A9%D8%B1%D8%AF%D9%86\"><\/span>\n<p>  \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0639\u0645\u0644\u06a9\u0631\u062f \u062a\u0627\u0632\u0647 \u06a9\u0631\u062f\u0646:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"c1\">\/\/ Add this to your CryptoData component<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">refreshData<\/span> <span class=\"o\">=<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nf\">fetchCryptoData<\/span><span class=\"p\">();<\/span>\n<span class=\"p\">};<\/span>\n\n<span class=\"c1\">\/\/ Add this button in your return statement<\/span>\n<span class=\"o\">&lt;<\/span><span class=\"nx\">button<\/span> <span class=\"nx\">onClick<\/span><span class=\"o\">=<\/span><span class=\"p\">{<\/span><span class=\"nx\">refreshData<\/span><span class=\"p\">}<\/span> <span class=\"nx\">disabled<\/span><span class=\"o\">=<\/span><span class=\"p\">{<\/span><span class=\"nx\">loading<\/span><span class=\"p\">}<\/span><span class=\"o\">&gt;<\/span>\n  <span class=\"p\">{<\/span><span class=\"nx\">loading<\/span> <span class=\"p\">?<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Refreshing...<\/span><span class=\"dl\">'<\/span> <span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Refresh Data<\/span><span class=\"dl\">'<\/span><span class=\"p\">}<\/span>\n<span class=\"o\">&lt;<\/span><span class=\"sr\">\/button<\/span><span class=\"err\">&gt;\n<\/span><\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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%B4%D9%85%D8%A7%D8%B1%D9%87_%D9%87%D8%A7%DB%8C_%D9%82%D8%A7%D9%84%D8%A8_%D8%A8%D9%86%D8%AF%DB%8C\"><\/span>\n<p>  \u0634\u0645\u0627\u0631\u0647 \u0647\u0627\u06cc \u0642\u0627\u0644\u0628 \u0628\u0646\u062f\u06cc:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"c1\">\/\/ Helper function to format large numbers<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">formatNumber<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"nx\">num<\/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\">num<\/span> <span class=\"o\">&gt;=<\/span> <span class=\"mi\">1<\/span><span class=\"nx\">e9<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return <\/span><span class=\"p\">(<\/span><span class=\"nx\">num<\/span> <span class=\"o\">\/<\/span> <span class=\"mi\">1<\/span><span class=\"nx\">e9<\/span><span class=\"p\">).<\/span><span class=\"nf\">toFixed<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">B<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n  <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">num<\/span> <span class=\"o\">&gt;=<\/span> <span class=\"mi\">1<\/span><span class=\"nx\">e6<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return <\/span><span class=\"p\">(<\/span><span class=\"nx\">num<\/span> <span class=\"o\">\/<\/span> <span class=\"mi\">1<\/span><span class=\"nx\">e6<\/span><span class=\"p\">).<\/span><span class=\"nf\">toFixed<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">M<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n  <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">num<\/span> <span class=\"o\">&gt;=<\/span> <span class=\"mi\">1<\/span><span class=\"nx\">e3<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return <\/span><span class=\"p\">(<\/span><span class=\"nx\">num<\/span> <span class=\"o\">\/<\/span> <span class=\"mi\">1<\/span><span class=\"nx\">e3<\/span><span class=\"p\">).<\/span><span class=\"nf\">toFixed<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">K<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n  <span class=\"p\">}<\/span>\n  <span class=\"k\">return<\/span> <span class=\"nx\">num<\/span><span class=\"p\">.<\/span><span class=\"nf\">toFixed<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">};<\/span>\n\n<span class=\"c1\">\/\/ Use it like this:<\/span>\n<span class=\"o\">&lt;<\/span><span class=\"nx\">p<\/span><span class=\"o\">&gt;<\/span><span class=\"nx\">Market<\/span> <span class=\"nx\">Cap<\/span><span class=\"p\">:<\/span> <span class=\"nx\">$<\/span><span class=\"p\">{<\/span><span class=\"nf\">formatNumber<\/span><span class=\"p\">(<\/span><span class=\"nx\">coin<\/span><span class=\"p\">.<\/span><span class=\"nx\">market_cap<\/span><span class=\"p\">)}<\/span><span class=\"o\">&lt;<\/span><span class=\"sr\">\/p<\/span><span class=\"err\">&gt;\n<\/span><\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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%A7%D8%B6%D8%A7%D9%81%D9%87_%DA%A9%D8%B1%D8%AF%D9%86_%D9%85%D8%AC%D8%AF%D8%AF_%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1\"><\/span>\n<p>  \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0645\u062c\u062f\u062f \u062e\u0648\u062f\u06a9\u0627\u0631:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nf\">useEffect<\/span><span class=\"p\">(()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nf\">fetchCryptoData<\/span><span class=\"p\">();<\/span>\n\n  <span class=\"c1\">\/\/ Set up auto-refresh every 30 seconds<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"nx\">interval<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">setInterval<\/span><span class=\"p\">(<\/span><span class=\"nx\">fetchCryptoData<\/span><span class=\"p\">,<\/span> <span class=\"mi\">30000<\/span><span class=\"p\">);<\/span>\n\n  <span class=\"c1\">\/\/ Cleanup function<\/span>\n  <span class=\"k\">return <\/span><span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nf\">clearInterval<\/span><span class=\"p\">(<\/span><span class=\"nx\">interval<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">},<\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D9%81%D8%B2%D9%88%D8%AF%D9%86_%D8%A7%D8%AD%D8%B1%D8%A7%D8%B2_%D9%87%D9%88%DB%8C%D8%AA_Firebase\"><\/span>\n<p>  \u0627\u0641\u0632\u0648\u062f\u0646 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a Firebase<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0648\u0642\u062a \u0622\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u0645\u0646 \u06a9\u0646\u06cc\u062f! \u0645\u0627 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u06a9\u0627\u0631\u0628\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f \u062a\u0627 \u0641\u0642\u0637 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u062b\u0628\u062a \u0646\u0627\u0645 \u0634\u062f\u0647 \u0628\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0647 \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0634\u0645\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0646\u0646\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%D8%AA%D9%86%D8%B8%DB%8C%D9%85%D8%A7%D8%AA_Firebase\"><\/span>\n<p>  \u0645\u0631\u062d\u0644\u0647 1: \u062a\u0646\u0638\u06cc\u0645\u0627\u062a Firebase<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>\u0628\u0647 \u06a9\u0646\u0633\u0648\u0644 Firebase \u0628\u0631\u0648\u06cc\u062f\n<\/li>\n<li>\u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u062c\u062f\u06cc\u062f \u0628\u0647 \u0646\u0627\u0645 &#8220;Coinwatch&#8221; \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/li>\n<li>\u062a\u0623\u06cc\u06cc\u062f \u0627\u0639\u062a\u0628\u0627\u0631 \u2192 \u0631\u0648\u0634 \u0648\u0631\u0648\u062f \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u2192 \u0627\u06cc\u0645\u06cc\u0644\/\u0631\u0645\u0632 \u0639\u0628\u0648\u0631<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_Firebase\"><\/span>\n<p>  \u0645\u0631\u062d\u0644\u0647 2: \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Firebase<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0646 <code>src\/firebase.js<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">initializeApp<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">firebase\/app<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">getAuth<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">firebase\/auth<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">firebaseConfig<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n  <span class=\"c1\">\/\/ Your Firebase config object goes here<\/span>\n  <span class=\"c1\">\/\/ You'll get this from your Firebase project settings<\/span>\n<span class=\"p\">};<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">app<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">initializeApp<\/span><span class=\"p\">(<\/span><span class=\"nx\">firebaseConfig<\/span><span class=\"p\">);<\/span>\n<span class=\"k\">export<\/span> <span class=\"kd\">const<\/span> <span class=\"nx\">auth<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">getAuth<\/span><span class=\"p\">(<\/span><span class=\"nx\">app<\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_%D9%85%D8%A4%D9%84%D9%81%D9%87_%D8%A7%D8%AD%D8%B1%D8%A7%D8%B2_%D9%87%D9%88%DB%8C%D8%AA_%D8%B1%D8%A7_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0645\u0631\u062d\u0644\u0647 3: \u0645\u0624\u0644\u0641\u0647 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0646 <code>src\/Auth.js<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">import<\/span> <span class=\"nx\">React<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">useState<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">react<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">createUserWithEmailAndPassword<\/span><span class=\"p\">,<\/span> <span class=\"nx\">signInWithEmailAndPassword<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">firebase\/auth<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">auth<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">.\/firebase<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">function<\/span> <span class=\"nf\">Auth<\/span><span class=\"p\">({<\/span> <span class=\"nx\">onAuthSuccess<\/span> <span class=\"p\">})<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"p\">[<\/span><span class=\"nx\">email<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setEmail<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">useState<\/span><span class=\"p\">(<\/span><span class=\"dl\">''<\/span><span class=\"p\">);<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"p\">[<\/span><span class=\"nx\">password<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setPassword<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">useState<\/span><span class=\"p\">(<\/span><span class=\"dl\">''<\/span><span class=\"p\">);<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"p\">[<\/span><span class=\"nx\">isLogin<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setIsLogin<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">useState<\/span><span class=\"p\">(<\/span><span class=\"kc\">true<\/span><span class=\"p\">);<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"p\">[<\/span><span class=\"nx\">loading<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setLoading<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">useState<\/span><span class=\"p\">(<\/span><span class=\"kc\">false<\/span><span class=\"p\">);<\/span>\n\n  <span class=\"kd\">const<\/span> <span class=\"nx\">handleSubmit<\/span> <span class=\"o\">=<\/span> <span class=\"k\">async <\/span><span class=\"p\">(<\/span><span class=\"nx\">e<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">e<\/span><span class=\"p\">.<\/span><span class=\"nf\">preventDefault<\/span><span class=\"p\">();<\/span>\n    <span class=\"nf\">setLoading<\/span><span class=\"p\">(<\/span><span class=\"kc\">true<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"k\">try<\/span> <span class=\"p\">{<\/span>\n      <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">isLogin<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">await<\/span> <span class=\"nf\">signInWithEmailAndPassword<\/span><span class=\"p\">(<\/span><span class=\"nx\">auth<\/span><span class=\"p\">,<\/span> <span class=\"nx\">email<\/span><span class=\"p\">,<\/span> <span class=\"nx\">password<\/span><span class=\"p\">);<\/span>\n      <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">await<\/span> <span class=\"nf\">createUserWithEmailAndPassword<\/span><span class=\"p\">(<\/span><span class=\"nx\">auth<\/span><span class=\"p\">,<\/span> <span class=\"nx\">email<\/span><span class=\"p\">,<\/span> <span class=\"nx\">password<\/span><span class=\"p\">);<\/span>\n      <span class=\"p\">}<\/span>\n      <span class=\"nf\">onAuthSuccess<\/span><span class=\"p\">();<\/span>\n    <span class=\"p\">}<\/span> <span class=\"k\">catch <\/span><span class=\"p\">(<\/span><span class=\"nx\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nf\">alert<\/span><span class=\"p\">(<\/span><span class=\"nx\">error<\/span><span class=\"p\">.<\/span><span class=\"nx\">message<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span> <span class=\"k\">finally<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nf\">setLoading<\/span><span class=\"p\">(<\/span><span class=\"kc\">false<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">};<\/span>\n\n  <span class=\"k\">return <\/span><span class=\"p\">(<\/span>\n    <span class=\"o\">&lt;<\/span><span class=\"nx\">div<\/span> <span class=\"nx\">style<\/span><span class=\"o\">=<\/span><span class=\"p\">{{<\/span> <span class=\"na\">maxWidth<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">400px<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">margin<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">0 auto<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">padding<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">20px<\/span><span class=\"dl\">'<\/span> <span class=\"p\">}}<\/span><span class=\"o\">&gt;<\/span>\n      <span class=\"o\">&lt;<\/span><span class=\"nx\">h2<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">{<\/span><span class=\"nx\">isLogin<\/span> <span class=\"p\">?<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Login<\/span><span class=\"dl\">'<\/span> <span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Sign Up<\/span><span class=\"dl\">'<\/span><span class=\"p\">}<\/span> <span class=\"nx\">to<\/span> <span class=\"nx\">CoinWatch<\/span><span class=\"o\">&lt;<\/span><span class=\"sr\">\/h2<\/span><span class=\"err\">&gt;\n<\/span>      <span class=\"o\">&lt;<\/span><span class=\"nx\">form<\/span> <span class=\"nx\">onSubmit<\/span><span class=\"o\">=<\/span><span class=\"p\">{<\/span><span class=\"nx\">handleSubmit<\/span><span class=\"p\">}<\/span><span class=\"o\">&gt;<\/span>\n        <span class=\"o\">&lt;<\/span><span class=\"nx\">input<\/span>\n          <span class=\"nx\">type<\/span><span class=\"o\">=<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">email<\/span><span class=\"dl\">\"<\/span>\n          <span class=\"nx\">placeholder<\/span><span class=\"o\">=<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Email<\/span><span class=\"dl\">\"<\/span>\n          <span class=\"nx\">value<\/span><span class=\"o\">=<\/span><span class=\"p\">{<\/span><span class=\"nx\">email<\/span><span class=\"p\">}<\/span>\n          <span class=\"nx\">onChange<\/span><span class=\"o\">=<\/span><span class=\"p\">{(<\/span><span class=\"nx\">e<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nf\">setEmail<\/span><span class=\"p\">(<\/span><span class=\"nx\">e<\/span><span class=\"p\">.<\/span><span class=\"nx\">target<\/span><span class=\"p\">.<\/span><span class=\"nx\">value<\/span><span class=\"p\">)}<\/span>\n          <span class=\"nx\">required<\/span>\n          <span class=\"nx\">style<\/span><span class=\"o\">=<\/span><span class=\"p\">{{<\/span> <span class=\"na\">width<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">100%<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">padding<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">10px<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">margin<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">10px 0<\/span><span class=\"dl\">'<\/span> <span class=\"p\">}}<\/span>\n        <span class=\"sr\">\/<\/span><span class=\"err\">&gt;\n<\/span>        <span class=\"o\">&lt;<\/span><span class=\"nx\">input<\/span>\n          <span class=\"nx\">type<\/span><span class=\"o\">=<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">password<\/span><span class=\"dl\">\"<\/span>\n          <span class=\"nx\">placeholder<\/span><span class=\"o\">=<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Password<\/span><span class=\"dl\">\"<\/span>\n          <span class=\"nx\">value<\/span><span class=\"o\">=<\/span><span class=\"p\">{<\/span><span class=\"nx\">password<\/span><span class=\"p\">}<\/span>\n          <span class=\"nx\">onChange<\/span><span class=\"o\">=<\/span><span class=\"p\">{(<\/span><span class=\"nx\">e<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nf\">setPassword<\/span><span class=\"p\">(<\/span><span class=\"nx\">e<\/span><span class=\"p\">.<\/span><span class=\"nx\">target<\/span><span class=\"p\">.<\/span><span class=\"nx\">value<\/span><span class=\"p\">)}<\/span>\n          <span class=\"nx\">required<\/span>\n          <span class=\"nx\">style<\/span><span class=\"o\">=<\/span><span class=\"p\">{{<\/span> <span class=\"na\">width<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">100%<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">padding<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">10px<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">margin<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">10px 0<\/span><span class=\"dl\">'<\/span> <span class=\"p\">}}<\/span>\n        <span class=\"sr\">\/<\/span><span class=\"err\">&gt;\n<\/span>        <span class=\"o\">&lt;<\/span><span class=\"nx\">button<\/span> \n          <span class=\"nx\">type<\/span><span class=\"o\">=<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">submit<\/span><span class=\"dl\">\"<\/span> \n          <span class=\"nx\">disabled<\/span><span class=\"o\">=<\/span><span class=\"p\">{<\/span><span class=\"nx\">loading<\/span><span class=\"p\">}<\/span>\n          <span class=\"nx\">style<\/span><span class=\"o\">=<\/span><span class=\"p\">{{<\/span> <span class=\"na\">width<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">100%<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">padding<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">10px<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">margin<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">10px 0<\/span><span class=\"dl\">'<\/span> <span class=\"p\">}}<\/span>\n        <span class=\"o\">&gt;<\/span>\n          <span class=\"p\">{<\/span><span class=\"nx\">loading<\/span> <span class=\"p\">?<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Processing...<\/span><span class=\"dl\">'<\/span> <span class=\"p\">:<\/span> <span class=\"p\">(<\/span><span class=\"nx\">isLogin<\/span> <span class=\"p\">?<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Login<\/span><span class=\"dl\">'<\/span> <span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Sign Up<\/span><span class=\"dl\">'<\/span><span class=\"p\">)}<\/span>\n        <span class=\"o\">&lt;<\/span><span class=\"sr\">\/button<\/span><span class=\"err\">&gt;\n<\/span>      <span class=\"o\">&lt;<\/span><span class=\"sr\">\/form<\/span><span class=\"err\">&gt;\n<\/span>      <span class=\"o\">&lt;<\/span><span class=\"nx\">p<\/span><span class=\"o\">&gt;<\/span>\n        <span class=\"p\">{<\/span><span class=\"nx\">isLogin<\/span> <span class=\"p\">?<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">Don't have an account? <\/span><span class=\"dl\">\"<\/span> <span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">Already have an account? <\/span><span class=\"dl\">\"<\/span><span class=\"p\">}<\/span>\n        <span class=\"o\">&lt;<\/span><span class=\"nx\">button<\/span> \n          <span class=\"nx\">type<\/span><span class=\"o\">=<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">button<\/span><span class=\"dl\">\"<\/span> \n          <span class=\"nx\">onClick<\/span><span class=\"o\">=<\/span><span class=\"p\">{()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nf\">setIsLogin<\/span><span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"nx\">isLogin<\/span><span class=\"p\">)}<\/span>\n          <span class=\"nx\">style<\/span><span class=\"o\">=<\/span><span class=\"p\">{{<\/span> <span class=\"na\">background<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">none<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">border<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">none<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">color<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">blue<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">cursor<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">pointer<\/span><span class=\"dl\">'<\/span> <span class=\"p\">}}<\/span>\n        <span class=\"o\">&gt;<\/span>\n          <span class=\"p\">{<\/span><span class=\"nx\">isLogin<\/span> <span class=\"p\">?<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Sign Up<\/span><span class=\"dl\">'<\/span> <span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Login<\/span><span class=\"dl\">'<\/span><span class=\"p\">}<\/span>\n        <span class=\"o\">&lt;<\/span><span class=\"sr\">\/button<\/span><span class=\"err\">&gt;\n<\/span>      <span class=\"o\">&lt;<\/span><span class=\"sr\">\/p<\/span><span class=\"err\">&gt;\n<\/span>    <span class=\"o\">&lt;<\/span><span class=\"sr\">\/div<\/span><span class=\"err\">&gt;\n<\/span>  <span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">export<\/span> <span class=\"k\">default<\/span> <span class=\"nx\">Auth<\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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=\"%DA%86%D8%B1%D8%A7_%D8%AA%D8%A3%DB%8C%DB%8C%D8%AF_%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1_%D9%85%D9%87%D9%85_%D8%A7%D8%B3%D8%AA\"><\/span>\n<p>  \u0686\u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u0627\u0639\u062a\u0628\u0627\u0631 \u0645\u0647\u0645 \u0627\u0633\u062a:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\n<strong>\u0627\u0645\u0646\u06cc\u062a<\/strong>: \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0631\u0627 \u0627\u0632 \u062f\u0633\u062a\u0631\u0633\u06cc \u063a\u06cc\u0631\u0645\u062c\u0627\u0632 \u0645\u062d\u0627\u0641\u0638\u062a \u0645\u06cc \u06a9\u0646\u062f<\/li>\n<li>\n<strong>\u0634\u062e\u0635\u06cc \u0633\u0627\u0632\u06cc<\/strong>: \u0647\u0631 \u06a9\u0627\u0631\u0628\u0631 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062a\u062c\u0631\u0628\u0647 \u062e\u0627\u0635 \u062e\u0648\u062f \u0631\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f<\/li>\n<li>\n<strong>\u062d\u0641\u0627\u0638\u062a \u062f\u0627\u062f\u0647 \u0647\u0627<\/strong>: \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062e\u0627\u0635 \u06a9\u0627\u0631\u0628\u0631<\/li>\n<li>\n<strong>\u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f\u0647\u0627\u06cc \u062d\u0631\u0641\u0647 \u0627\u06cc<\/strong>: \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc \u0647\u0645\u06cc\u0634\u0647 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u062f\u0627\u0631\u0646\u062f<\/li>\n<\/ul>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%AF%D8%BA%D8%A7%D9%85_%D8%AC%D8%A7%D8%AF%D9%88%DB%8C_AI_%D8%A8%D8%A7_Google_Gemini\"><\/span>\n<p>  \u0627\u062f\u063a\u0627\u0645 \u062c\u0627\u062f\u0648\u06cc AI \u0628\u0627 Google Gemini<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062d\u0627\u0644 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0631\u062e\u06cc \u0627\u0632 \u0627\u0628\u0631\u0642\u062f\u0631\u062a \u0647\u0627\u06cc \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc \u0631\u0627 \u0628\u0647 \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645! \u0645\u0627 \u0627\u0632 Gemini AI Google \u0628\u0631\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u0628\u06cc\u0646\u0634 \u0647\u0648\u0634\u0645\u0646\u062f\u0627\u0646\u0647 \u062f\u0631 \u0645\u0648\u0631\u062f \u0631\u0648\u0646\u062f cryptocurrency \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%DA%A9%D9%84%DB%8C%D8%AF_API_Gemini_%D8%B1%D8%A7_%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0645\u0631\u062d\u0644\u0647 1: \u06a9\u0644\u06cc\u062f API Gemini \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>\u0628\u0647 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc Google AI \u0628\u0631\u0648\u06cc\u062f\n<\/li>\n<li>\u06cc\u06a9 \u06a9\u0644\u06cc\u062f API \u0628\u0631\u0627\u06cc \u062c\u0645\u06cc\u0646\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%D8%A8%D8%B3%D8%AA%D9%87_Google_AI_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0645\u0631\u062d\u0644\u0647 2: \u0628\u0633\u062a\u0647 Google AI \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>npm <span class=\"nb\">install<\/span> @google\/generative-ai\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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_%D9%85%D8%A4%D9%84%D9%81%D9%87_AI_Insights_%D8%B1%D8%A7_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0645\u0631\u062d\u0644\u0647 3: \u0645\u0624\u0644\u0641\u0647 AI Insights \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0646 <code>src\/AIInsights.js<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">import<\/span> <span class=\"nx\">React<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">useState<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">react<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">GoogleGenerativeAI<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">@google\/generative-ai<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">function<\/span> <span class=\"nf\">AIInsights<\/span><span class=\"p\">({<\/span> <span class=\"nx\">cryptoData<\/span> <span class=\"p\">})<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"p\">[<\/span><span class=\"nx\">insights<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setInsights<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">useState<\/span><span class=\"p\">(<\/span><span class=\"dl\">''<\/span><span class=\"p\">);<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"p\">[<\/span><span class=\"nx\">loading<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setLoading<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">useState<\/span><span class=\"p\">(<\/span><span class=\"kc\">false<\/span><span class=\"p\">);<\/span>\n\n  <span class=\"kd\">const<\/span> <span class=\"nx\">generateInsights<\/span> <span class=\"o\">=<\/span> <span class=\"k\">async <\/span><span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nf\">setLoading<\/span><span class=\"p\">(<\/span><span class=\"kc\">true<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"k\">try<\/span> <span class=\"p\">{<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">genAI<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">GoogleGenerativeAI<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">YOUR_GEMINI_API_KEY<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">model<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">genAI<\/span><span class=\"p\">.<\/span><span class=\"nf\">getGenerativeModel<\/span><span class=\"p\">({<\/span> <span class=\"na\">model<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">gemini-pro<\/span><span class=\"dl\">\"<\/span> <span class=\"p\">});<\/span>\n\n      <span class=\"c1\">\/\/ Create a prompt with current crypto data<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">topCoins<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">cryptoData<\/span><span class=\"p\">.<\/span><span class=\"nf\">slice<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">).<\/span><span class=\"nf\">map<\/span><span class=\"p\">(<\/span><span class=\"nx\">coin<\/span> <span class=\"o\">=&gt;<\/span> \n        <span class=\"s2\">`<\/span><span class=\"p\">${<\/span><span class=\"nx\">coin<\/span><span class=\"p\">.<\/span><span class=\"nx\">name<\/span><span class=\"p\">}<\/span><span class=\"s2\">: $<\/span><span class=\"p\">${<\/span><span class=\"nx\">coin<\/span><span class=\"p\">.<\/span><span class=\"nx\">current_price<\/span><span class=\"p\">}<\/span><span class=\"s2\"> (<\/span><span class=\"p\">${<\/span><span class=\"nx\">coin<\/span><span class=\"p\">.<\/span><span class=\"nx\">price_change_percentage_24h<\/span><span class=\"p\">?.<\/span><span class=\"nf\">toFixed<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">)}<\/span><span class=\"s2\">% change)`<\/span>\n      <span class=\"p\">).<\/span><span class=\"nf\">join<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">, <\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n\n      <span class=\"kd\">const<\/span> <span class=\"nx\">prompt<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">`Analyze these top 5 cryptocurrency prices and provide brief insights: <\/span><span class=\"p\">${<\/span><span class=\"nx\">topCoins<\/span><span class=\"p\">}<\/span><span class=\"s2\">. Give market analysis and trends in 2-3 sentences.`<\/span><span class=\"p\">;<\/span>\n\n      <span class=\"kd\">const<\/span> <span class=\"nx\">result<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">model<\/span><span class=\"p\">.<\/span><span class=\"nf\">generateContent<\/span><span class=\"p\">(<\/span><span class=\"nx\">prompt<\/span><span class=\"p\">);<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">response<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">result<\/span><span class=\"p\">.<\/span><span class=\"nx\">response<\/span><span class=\"p\">;<\/span>\n      <span class=\"nf\">setInsights<\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span><span class=\"p\">.<\/span><span class=\"nf\">text<\/span><span class=\"p\">());<\/span>\n    <span class=\"p\">}<\/span> <span class=\"k\">catch <\/span><span class=\"p\">(<\/span><span class=\"nx\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nf\">setInsights<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">Unable to generate insights at the moment.<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span> <span class=\"k\">finally<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nf\">setLoading<\/span><span class=\"p\">(<\/span><span class=\"kc\">false<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">};<\/span>\n\n  <span class=\"k\">return <\/span><span class=\"p\">(<\/span>\n    <span class=\"o\">&lt;<\/span><span class=\"nx\">div<\/span> <span class=\"nx\">style<\/span><span class=\"o\">=<\/span><span class=\"p\">{{<\/span> <span class=\"na\">margin<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">20px 0<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">padding<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">15px<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">backgroundColor<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">#f5f5f5<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">borderRadius<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">8px<\/span><span class=\"dl\">'<\/span> <span class=\"p\">}}<\/span><span class=\"o\">&gt;<\/span>\n      <span class=\"o\">&lt;<\/span><span class=\"nx\">h3<\/span><span class=\"o\">&gt;<\/span><span class=\"err\">\ud83e\udd16<\/span> <span class=\"nx\">AI<\/span> <span class=\"nx\">Market<\/span> <span class=\"nx\">Insights<\/span><span class=\"o\">&lt;<\/span><span class=\"sr\">\/h3<\/span><span class=\"err\">&gt;\n<\/span>      <span class=\"o\">&lt;<\/span><span class=\"nx\">button<\/span> <span class=\"nx\">onClick<\/span><span class=\"o\">=<\/span><span class=\"p\">{<\/span><span class=\"nx\">generateInsights<\/span><span class=\"p\">}<\/span> <span class=\"nx\">disabled<\/span><span class=\"o\">=<\/span><span class=\"p\">{<\/span><span class=\"nx\">loading<\/span> <span class=\"o\">||<\/span> <span class=\"nx\">cryptoData<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span> <span class=\"o\">===<\/span> <span class=\"mi\">0<\/span><span class=\"p\">}<\/span><span class=\"o\">&gt;<\/span>\n        <span class=\"p\">{<\/span><span class=\"nx\">loading<\/span> <span class=\"p\">?<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Analyzing...<\/span><span class=\"dl\">'<\/span> <span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Get AI Insights<\/span><span class=\"dl\">'<\/span><span class=\"p\">}<\/span>\n      <span class=\"o\">&lt;<\/span><span class=\"sr\">\/button<\/span><span class=\"err\">&gt;\n<\/span>      <span class=\"p\">{<\/span><span class=\"nx\">insights<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"p\">(<\/span>\n        <span class=\"o\">&lt;<\/span><span class=\"nx\">div<\/span> <span class=\"nx\">style<\/span><span class=\"o\">=<\/span><span class=\"p\">{{<\/span> <span class=\"na\">marginTop<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">15px<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">padding<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">10px<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">backgroundColor<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">white<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"na\">borderRadius<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">5px<\/span><span class=\"dl\">'<\/span> <span class=\"p\">}}<\/span><span class=\"o\">&gt;<\/span>\n          <span class=\"o\">&lt;<\/span><span class=\"nx\">p<\/span><span class=\"o\">&gt;<\/span><span class=\"p\">{<\/span><span class=\"nx\">insights<\/span><span class=\"p\">}<\/span><span class=\"o\">&lt;<\/span><span class=\"sr\">\/p<\/span><span class=\"err\">&gt;\n<\/span>        <span class=\"o\">&lt;<\/span><span class=\"sr\">\/div<\/span><span class=\"err\">&gt;\n<\/span>      <span class=\"p\">)}<\/span>\n    <span class=\"o\">&lt;<\/span><span class=\"sr\">\/div<\/span><span class=\"err\">&gt;\n<\/span>  <span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">export<\/span> <span class=\"k\">default<\/span> <span class=\"nx\">AIInsights<\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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><strong>\u0633\u062d\u0631 \u0648 \u062c\u0627\u062f\u0648 \u062f\u0631 \u067e\u0634\u062a \u0627\u062f\u063a\u0627\u0645 AI:<\/strong><\/p>\n<ul>\n<li>\n<strong>\u0622\u06af\u0627\u0647\u06cc \u0627\u0632 \u0645\u062a\u0646<\/strong>: AI \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u0641\u0639\u0644\u06cc \u0634\u0645\u0627 \u0631\u0627 \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u062f<\/li>\n<li>\n<strong>\u0628\u06cc\u0646\u0634 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0648\u0627\u0642\u0639\u06cc<\/strong>: \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u062a\u0627\u0632\u0647 \u0628\u0631 \u0627\u0633\u0627\u0633 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0628\u0627\u0632\u0627\u0631 \u0632\u0646\u062f\u0647<\/li>\n<li>\n<strong>\u062a\u062c\u0631\u0628\u0647 \u06a9\u0627\u0631\u0628\u0631<\/strong>: \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u062d\u0631\u0641\u0647 \u0627\u06cc \u0648 \u0647\u0648\u0634\u0645\u0646\u062f \u0631\u0627 \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u062f<\/li>\n<\/ul>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C_%D9%85%D9%86%D8%A7%D8%A8%D8%B9_%D9%88_%D8%A7%D9%84%D9%87%D8%A7%D9%85_%D8%A8%D8%AE%D8%B4\"><\/span>\n<p>  \u0637\u0631\u0627\u062d\u06cc \u0645\u0646\u0627\u0628\u0639 \u0648 \u0627\u0644\u0647\u0627\u0645 \u0628\u062e\u0634<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0628\u0647 \u0647\u0645\u0627\u0646 \u0627\u0646\u062f\u0627\u0632\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u0634\u06af\u0641\u062a \u0627\u0646\u06af\u06cc\u0632 \u0628\u0647 \u0646\u0638\u0631 \u0628\u0631\u0633\u062f! \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u0646\u0627\u0628\u0639 \u062e\u0627\u0631\u0642 \u0627\u0644\u0639\u0627\u062f\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0627\u0644\u0647\u0627\u0645 \u0628\u062e\u0634 \u0637\u0631\u0627\u062d\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"inspection_%D8%A7%D9%84%D9%87%D8%A7%D9%85_%D8%A8%D8%AE%D8%B4\"><\/span>\n<p>  inspection \u0627\u0644\u0647\u0627\u0645 \u0628\u062e\u0634:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\n<strong>\u062f\u0631\u06cc\u0628\u0644<\/strong>: &#8220;\u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc&#8221; \u0631\u0627 \u0628\u0631\u0627\u06cc \u0637\u0631\u062d \u0647\u0627\u06cc \u062e\u06cc\u0631\u0647 \u06a9\u0646\u0646\u062f\u0647 \u062c\u0633\u062a\u062c\u0648 \u06a9\u0646\u06cc\u062f<\/li>\n<li>\n<strong>\u0639\u0648\u062f<\/strong>: \u0637\u0631\u062d \u0647\u0627\u06cc \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u062d\u0631\u0641\u0647 \u0627\u06cc \u0648 \u0637\u0631\u062d \u0647\u0627\u06cc \u0631\u0646\u06af\u06cc\n<\/li>\n<li>\n<strong>\u0627\u0633\u062a \u060c<\/strong>: \u0627\u0644\u06af\u0648\u0647\u0627 \u0648 \u0627\u062c\u0632\u0627\u06cc \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u062d\u0642 \u0628\u06cc\u0645\u0647<\/li>\n<li>\n<strong>\u062c\u0627\u0645\u0639\u0647 \u0627\u0646\u062c\u06cc\u0631<\/strong>: \u067e\u0631\u0648\u0646\u062f\u0647 \u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0631\u0627\u06cc\u06af\u0627\u0646<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"ass_%D8%AF%D8%A7%D8%B1%D8%A7%DB%8C%DB%8C_%D9%87%D8%A7%DB%8C_%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C_%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86\"><\/span>\n<p>  ass \u062f\u0627\u0631\u0627\u06cc\u06cc \u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0631\u0627\u06cc\u06af\u0627\u0646:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\n<strong>\u0628\u06cc \u062a\u0638\u0627\u0647\u0631 \u06a9\u0631\u062f\u0646<\/strong>: \u062a\u0635\u0627\u0648\u06cc\u0631 \u067e\u0633 \u0632\u0645\u06cc\u0646\u0647 \u0628\u0627 \u06a9\u06cc\u0641\u06cc\u062a \u0628\u0627\u0644\u0627<\/li>\n<li>\n<strong>\u0646\u0645\u0627\u062f\u0647\u0627\u06cc \u067e\u0631<\/strong>: \u0646\u0645\u0627\u062f\u0647\u0627\u06cc \u0645\u062f\u0631\u0646 \u0628\u0631\u0627\u06cc \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0634\u0645\u0627<\/li>\n<li>\n<strong>\u0642\u0644\u0645 \u0647\u0627\u06cc \u06af\u0648\u06af\u0644<\/strong>: \u062a\u0627\u06cc\u067e\u0648\u06af\u0631\u0627\u0641\u06cc \u062d\u0631\u0641\u0647 \u0627\u06cc (\u0633\u0639\u06cc \u06a9\u0646\u06cc\u062f Inter \u060c Roboto \u06cc\u0627 Poppins)<\/li>\n<li>\n<strong>coolors.co<\/strong>: \u067e\u0627\u0644\u062a \u0647\u0627\u06cc \u0631\u0646\u06af\u06cc \u06a9\u0627\u0645\u0644 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"tips_%D9%86%DA%A9%D8%A7%D8%AA_%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C_%D8%AF%D8%A7%D8%B4%D8%A8%D9%88%D8%B1%D8%AF\"><\/span>\n<p>  tips \u0646\u06a9\u0627\u062a \u0637\u0631\u0627\u062d\u06cc \u062f\u0627\u0634\u0628\u0648\u0631\u062f:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\n<strong>\u062a\u0645\u06cc\u0632 \u0646\u06af\u0647 \u062f\u0627\u0631\u06cc\u062f<\/strong>: \u0641\u0636\u0627\u06cc \u0633\u0641\u06cc\u062f \u062f\u0648\u0633\u062a \u0634\u0645\u0627\u0633\u062a<\/li>\n<li>\n<strong>\u06a9\u0627\u0631\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<\/strong>: \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0631\u062a\u0628\u0637 \u0628\u0627 \u06af\u0631\u0648\u0647 \u062f\u0631 \u0637\u0631\u062d \u0628\u0646\u062f\u06cc \u06a9\u0627\u0631\u062a<\/li>\n<li>\n<strong>\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0631\u0646\u06af\u06cc<\/strong>: \u0633\u0628\u0632 \u0628\u0631\u0627\u06cc \u0633\u0648\u062f \u060c \u0642\u0631\u0645\u0632 \u0628\u0631\u0627\u06cc \u0636\u0631\u0631<\/li>\n<li>\n<strong>\u0637\u0631\u0627\u062d\u06cc \u067e\u0627\u0633\u062e\u06af\u0648<\/strong>: \u0622\u0646 \u0631\u0627 \u062f\u0631 \u062f\u0633\u062a\u06af\u0627\u0647 \u0647\u0627\u06cc \u062a\u0644\u0641\u0646 \u0647\u0645\u0631\u0627\u0647 \u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f<\/li>\n<li>\n<strong>\u062a\u062c\u0633\u0645 \u062f\u0627\u062f\u0647 \u0647\u0627<\/strong>: \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627 \u0628\u0627 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f Chart.js<\/li>\n<\/ul>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%DA%A9%D8%A7%D8%AA_%D8%AA%D9%88%D8%B3%D8%B9%D9%87_%D9%85%D8%AD%D9%84%DB%8C_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%AA%D9%88%D8%B3%D8%B9%D9%87_%D8%AF%D9%87%D9%86%D8%AF%DA%AF%D8%A7%D9%86_Bamenda\"><\/span>\n<p>  \u0646\u06a9\u0627\u062a \u062a\u0648\u0633\u0639\u0647 \u0645\u062d\u0644\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 Bamenda<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u06a9\u0627\u0631 \u0627\u0632 \u0628\u0627\u0645\u0646\u062f\u0627\u061f \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0631\u062e\u06cc \u0627\u0632 \u0646\u06a9\u0627\u062a \u062d\u0631\u0641\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u062a\u0648\u0633\u0639\u0647 \u0635\u0627\u0641 \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%8C%90_%D8%A8%D9%87%DB%8C%D9%86%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA\"><\/span>\n<p>  \ud83c\udf10 \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u0627\u06cc\u0646\u062a\u0631\u0646\u062a:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\n<strong>\u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc API<\/strong>: \u0628\u0631\u0627\u06cc \u06a9\u0627\u0647\u0634 \u062a\u0645\u0627\u0633 \u0647\u0627\u06cc API \u060c \u062d\u0627\u0641\u0638\u0647 \u067e\u0646\u0647\u0627\u0646 \u0645\u062d\u0644\u06cc \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f<\/li>\n<li>\n<strong>\u062d\u0627\u0644\u062a \u0622\u0641\u0644\u0627\u06cc\u0646<\/strong>: \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0622\u0641\u0644\u0627\u06cc\u0646 \u06a9\u0627\u0631\u06af\u0631\u0627\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f<\/li>\n<li>\n<strong>\u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u062f\u0633\u062a\u0647 \u0627\u06cc<\/strong>: \u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u0645\u06a9\u0627\u0646 \u0686\u0646\u062f\u06cc\u0646 \u062a\u0645\u0627\u0633 API \u0631\u0627 \u0628\u0627 \u0647\u0645 \u062a\u0631\u06a9\u06cc\u0628 \u06a9\u0646\u06cc\u062f<\/li>\n<li>\n<strong>\u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062e\u0637\u0627<\/strong>: \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062e\u0637\u0627\u06cc \u0642\u0648\u06cc \u0628\u0631\u0627\u06cc \u0645\u0634\u06a9\u0644\u0627\u062a \u0627\u062a\u0635\u0627\u0644<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%E2%9A%A1_%D9%86%DA%A9%D8%A7%D8%AA_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF\"><\/span>\n<p>  \u26a1 \u0646\u06a9\u0627\u062a \u0639\u0645\u0644\u06a9\u0631\u062f:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"c1\">\/\/ Cache API responses<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">CACHE_DURATION<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">30000<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ 30 seconds<\/span>\n<span class=\"kd\">let<\/span> <span class=\"nx\">cachedData<\/span> <span class=\"o\">=<\/span> <span class=\"kc\">null<\/span><span class=\"p\">;<\/span>\n<span class=\"kd\">let<\/span> <span class=\"nx\">lastFetch<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">fetchWithCache<\/span> <span class=\"o\">=<\/span> <span class=\"k\">async <\/span><span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"nx\">now<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">Date<\/span><span class=\"p\">.<\/span><span class=\"nf\">now<\/span><span class=\"p\">();<\/span>\n  <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">cachedData<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"p\">(<\/span><span class=\"nx\">now<\/span> <span class=\"o\">-<\/span> <span class=\"nx\">lastFetch<\/span><span class=\"p\">)<\/span> <span class=\"o\">&lt;<\/span> <span class=\"nx\">CACHE_DURATION<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return<\/span> <span class=\"nx\">cachedData<\/span><span class=\"p\">;<\/span>\n  <span class=\"p\">}<\/span>\n\n  <span class=\"kd\">const<\/span> <span class=\"nx\">response<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">axios<\/span><span class=\"p\">.<\/span><span class=\"nf\">get<\/span><span class=\"p\">(<\/span><span class=\"nx\">API_URL<\/span><span class=\"p\">);<\/span>\n  <span class=\"nx\">cachedData<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">response<\/span><span class=\"p\">.<\/span><span class=\"nx\">data<\/span><span class=\"p\">;<\/span>\n  <span class=\"nx\">lastFetch<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">now<\/span><span class=\"p\">;<\/span>\n  <span class=\"k\">return<\/span> <span class=\"nx\">cachedData<\/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>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\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=\"%F0%9F%94%A7_%D9%85%D8%AD%DB%8C%D8%B7_%D8%AA%D9%88%D8%B3%D8%B9%D9%87\"><\/span>\n<p>  \ud83d\udd27 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u0646 <strong>\u0645\u0631\u06a9\u0632 \u0645\u062d\u0644\u06cc<\/strong> \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 (\u0628\u0647 \u0635\u0648\u0631\u062a \u0622\u0641\u0644\u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f)<\/li>\n<li>\u0622\u0632\u0645\u0648\u0646 \u0628\u0627 <strong>\u0634\u0631\u0627\u06cc\u0637 \u0622\u0647\u0633\u062a\u0647 \u0634\u0628\u06a9\u0647<\/strong> \u062f\u0631 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0631\u0648\u0631\u06af\u0631 DEV<\/li>\n<li>\u0627\u062c\u0631\u0627 <strong>\u062d\u0627\u0644\u062a \u0647\u0627\u06cc \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc<\/strong> \u0628\u0631\u0627\u06cc \u062a\u062c\u0631\u0628\u0647 \u0628\u0647\u062a\u0631 \u06a9\u0627\u0631\u0628\u0631<\/li>\n<li>\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 <strong>\u0645\u06a9\u0627\u0646\u06cc\u0633\u0645 \u0647\u0627\u06cc \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0631\u062f\u0646<\/strong> \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc \u0646\u0627\u0645\u0648\u0641\u0642<\/li>\n<\/ul>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D8%A7%D9%85%D9%88%D8%B1%DB%8C%D8%AA_%D8%B4%D9%85%D8%A7_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%AF%D8%A7%D8%B4%D8%A8%D9%88%D8%B1%D8%AF_Coinwatch\"><\/span>\n<p>  \u0645\u0627\u0645\u0648\u0631\u06cc\u062a \u0634\u0645\u0627: \u0633\u0627\u062e\u062a \u062f\u0627\u0634\u0628\u0648\u0631\u062f Coinwatch<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062a\u0628\u0631\u06cc\u06a9 \u0645\u06cc \u06af\u0648\u06cc\u0645 \u060c \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647! \u0634\u0645\u0627 \u0627\u06a9\u0646\u0648\u0646 \u062a\u0645\u0627\u0645 \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0648 \u062f\u0627\u0646\u0634 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a\u0646 \u06cc\u06a9 \u062f\u0627\u0634\u0628\u0648\u0631\u062f Cryptocurrency \u0628\u0627\u0648\u0631\u0646\u06a9\u0631\u062f\u0646\u06cc \u062f\u0627\u0631\u06cc\u062f. \u0627\u06cc\u0646 \u0645\u0623\u0645\u0648\u0631\u06cc\u062a \u0634\u0645\u0627\u0633\u062a:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"requirements_%D8%A7%D9%84%D8%B2%D8%A7%D9%85%D8%A7%D8%AA_%D8%A7%D8%B5%D9%84%DB%8C\"><\/span>\n<p>  requirements \u0627\u0644\u0632\u0627\u0645\u0627\u062a \u0627\u0635\u0644\u06cc:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>\n<strong>\u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646 \u0648\u0627\u0642\u0639\u06cc<\/strong> \u0627\u0632 API Coingecko<\/li>\n<li>\n<strong>\u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u06a9\u0627\u0631\u0628\u0631<\/strong> \u0628\u0627 \u067e\u0627\u06cc\u06af\u0627\u0647 \u0622\u062a\u0634<\/li>\n<li>\n<strong>\u0628\u06cc\u0646\u0634 \u0647\u0627\u06cc \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc<\/strong> \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Google Gemini<\/li>\n<li>\n<strong>\u0637\u0631\u0627\u062d\u06cc \u062d\u0631\u0641\u0647 \u0627\u06cc<\/strong> \u0627\u06cc\u0646 \u0647\u0631 \u06a9\u0627\u0631\u0641\u0631\u0645\u0627 \u0631\u0627 \u062a\u062d\u062a \u062a\u0623\u062b\u06cc\u0631 \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u062f<\/li>\n<li>\n<strong>\u0637\u0631\u062d \u067e\u0627\u0633\u062e\u06af\u0648<\/strong> \u06a9\u0647 \u0631\u0648\u06cc \u0647\u0645\u0647 \u062f\u0633\u062a\u06af\u0627\u0647 \u0647\u0627 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%9A%80_%D8%A7%D9%87%D8%AF%D8%A7%D9%81_%DA%A9%D8%B4%D8%B4_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%AC%D8%A7%D9%87_%D8%B7%D9%84%D8%A8\"><\/span>\n<p>  \ud83d\ude80 \u0627\u0647\u062f\u0627\u0641 \u06a9\u0634\u0634 (\u0628\u0631\u0627\u06cc \u062c\u0627\u0647 \u0637\u0644\u0628):<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\u0639\u0645\u0644\u06a9\u0631\u062f \u0633\u06a9\u0647 \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0639\u0644\u0627\u0642\u0647 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f<\/li>\n<li>\u0647\u0634\u062f\u0627\u0631\u0647\u0627\u06cc \u0642\u06cc\u0645\u062a \u0631\u0627 \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/li>\n<li>\u0631\u062f\u06cc\u0627\u0628\u06cc \u0646\u0645\u0648\u0646\u0647 \u06a9\u0627\u0631\u0647\u0627 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/li>\n<li>\u0636\u0627\u0645\u0646 \u062d\u0627\u0644\u062a \u062a\u06cc\u0631\u0647\/\u0646\u0648\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f<\/li>\n<li>\u0634\u0627\u0645\u0644 \u0627\u062f\u063a\u0627\u0645 \u0627\u062e\u0628\u0627\u0631 \u0628\u0627\u0632\u0627\u0631<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%92%AA_%D8%B1%D9%88%DB%8C%DA%A9%D8%B1%D8%AF_%D8%AA%D9%88%D8%B3%D8%B9%D9%87\"><\/span>\n<p>  \ud83d\udcaa \u0631\u0648\u06cc\u06a9\u0631\u062f \u062a\u0648\u0633\u0639\u0647:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>\n<strong>\u0633\u0627\u062f\u0647 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f<\/strong>: \u0627\u0628\u062a\u062f\u0627 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0627\u0633\u0627\u0633\u06cc \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f<\/li>\n<li>\n<strong>\u0628\u0647 \u062a\u062f\u0631\u06cc\u062c \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f<\/strong>: \u0633\u0639\u06cc \u0646\u06a9\u0646\u06cc\u062f \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0631\u0627 \u06cc\u06a9\u0628\u0627\u0631\u0647 \u0628\u0633\u0627\u0632\u06cc\u062f<\/li>\n<li>\n<strong>\u0628\u0647 \u0637\u0648\u0631 \u0645\u06a9\u0631\u0631 \u0622\u0632\u0645\u0648\u0646<\/strong>: \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0647\u0631 \u0648\u06cc\u0698\u06af\u06cc \u0642\u0628\u0644 \u0627\u0632 \u062d\u0631\u06a9\u062a \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f<\/li>\n<li>\n<strong>\u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0645\u06a9 \u06a9\u0646\u06cc\u062f<\/strong>: \u0628\u0647 \u062c\u0648\u0627\u0645\u0639 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0628\u067e\u06cc\u0648\u0646\u062f\u06cc\u062f \u060c \u0633\u0624\u0627\u0644 \u06a9\u0646\u06cc\u062f<\/li>\n<li>\n<strong>\u0628\u0631\u0646\u062f\u0647 \u0647\u0627 \u0631\u0627 \u062c\u0634\u0646 \u0628\u06af\u06cc\u0631\u06cc\u062f<\/strong>: \u0647\u0631 \u067e\u06cc\u0631\u0648\u0632\u06cc \u06a9\u0648\u0686\u06a9 \u067e\u06cc\u0634\u0631\u0641\u062a \u0627\u0633\u062a!<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%8C%9F_%D8%A8%D9%87_%DB%8C%D8%A7%D8%AF_%D8%AF%D8%A7%D8%B4%D8%AA%D9%87_%D8%A8%D8%A7%D8%B4%DB%8C%D8%AF\"><\/span>\n<p>  \ud83c\udf1f \u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\u0647\u0631 \u0645\u062a\u062e\u0635\u0635 \u0632\u0645\u0627\u0646\u06cc \u0645\u0628\u062a\u062f\u06cc \u0628\u0648\u062f<\/li>\n<li>\u0628\u0647 \u0645\u0639\u0646\u0627\u06cc \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u0648 \u0628\u0647\u0628\u0648\u062f \u06cc\u0627\u0641\u062a\u0647 \u0627\u0633\u062a<\/li>\n<li>\u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647 \u0628\u0631\u0627\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0633\u0627\u062e\u062a \u0648 \u0633\u0627\u0632 \u0627\u0633\u062a<\/li>\n<li>\u0646\u0633\u062e\u0647 \u0627\u0648\u0644 \u0634\u0645\u0627 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u06a9\u0627\u0645\u0644 \u0628\u0648\u062f\u0646 \u0646\u062f\u0627\u0631\u062f<\/li>\n<li>\u0647\u0631 \u0627\u0634\u06a9\u0627\u0644\u06cc \u06a9\u0647 \u0628\u0631\u0637\u0631\u0641 \u0645\u06cc \u06a9\u0646\u06cc\u062f \u060c \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0628\u0647\u062a\u0631 \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u062f<\/li>\n<\/ul>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B3%D8%AE%D9%86%D8%A7%D9%86_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%DB%8C_%D8%AA%D8%B4%D9%88%DB%8C%D9%82\"><\/span>\n<p>  \u0633\u062e\u0646\u0627\u0646 \u067e\u0627\u06cc\u0627\u0646\u06cc \u062a\u0634\u0648\u06cc\u0642<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0634\u0645\u0627 \u0641\u0642\u0637 \u062f\u0631 \u062d\u0627\u0644 \u0633\u0627\u062e\u062a\u0646 \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0646\u06cc\u0633\u062a\u06cc\u062f &#8211; \u0634\u0645\u0627 \u0622\u06cc\u0646\u062f\u0647 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0645\u06cc \u0633\u0627\u0632\u06cc\u062f! \u0647\u0631 \u062e\u0637 \u06a9\u062f\u06cc \u06a9\u0647 \u0645\u06cc \u0646\u0648\u06cc\u0633\u06cc\u062f \u060c \u0647\u0631 \u0627\u0634\u06a9\u0627\u0644\u06cc \u06a9\u0647 \u062d\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u0647\u0631 \u0648\u06cc\u0698\u06af\u06cc \u0627\u06cc \u06a9\u0647 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u06cc\u062f \u0628\u0627\u0639\u062b \u0642\u0648\u06cc \u062a\u0631 \u060c \u0628\u0627\u0647\u0648\u0634 \u062a\u0631 \u0648 \u062a\u0648\u0627\u0646\u0627\u062a\u0631 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>\u0645\u0647\u0627\u0631\u062a\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u0645\u0631\u0648\u0632\u0647 \u0645\u06cc \u0622\u0645\u0648\u0632\u06cc\u062f &#8211; \u0627\u062f\u063a\u0627\u0645 API \u060c \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u060c \u0627\u062c\u0631\u0627\u06cc \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc \u0648 \u062a\u0648\u0633\u0639\u0647 React \u0645\u062f\u0631\u0646 &#8211; \u062f\u0642\u06cc\u0642\u0627\u064b \u0647\u0645\u0627\u0646 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0634\u0631\u06a9\u062a \u0647\u0627\u06cc \u0628\u0631\u062a\u0631 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0622\u0646 \u0647\u0633\u062a\u0646\u062f. \u0634\u0645\u0627 \u0641\u0642\u0637 \u06cc\u06a9 \u0622\u0645\u0648\u0632\u0634 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u0646\u0645\u06cc \u06a9\u0646\u06cc\u062f. \u0634\u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u062a\u0633\u0644\u0637 \u0628\u0631 \u0641\u0646 \u0622\u0648\u0631\u06cc \u0647\u0627\u06cc \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0635\u0646\u0639\u062a \u0647\u0633\u062a\u06cc\u062f \u06a9\u0647 \u062f\u0631 \u06a9\u0644 \u062d\u0631\u0641\u0647 \u0634\u0645\u0627 \u0628\u0647 \u0634\u0645\u0627 \u062e\u062f\u0645\u062a \u0645\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<p>\u0627\u0632 \u0647\u0645\u0647 \u0645\u0627 \u0628\u0631\u0627\u06cc \u0645\u0648\u0641\u0642\u06cc\u062a \u0634\u0645\u0627 \u067e\u06cc\u0634 \u0628\u06cc\u0646\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645: <strong>\u0634\u0645\u0627 \u0627\u06cc\u0646 \u0631\u0627 \u06af\u0631\u0641\u062a\u06cc\u062f!<\/strong> \ud83d\ude80<\/p>\n<p>\u062d\u0627\u0644\u0627 \u0628\u0631\u0648 \u0686\u06cc\u0632\u06cc \u0634\u06af\u0641\u062a \u0627\u0646\u06af\u06cc\u0632 \u0628\u0633\u0627\u0632 \u062f\u0646\u06cc\u0627\u06cc \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u0645\u0646\u062a\u0638\u0631 \u062f\u0627\u0634\u0628\u0648\u0631\u062f Coinwatch \u0634\u0645\u0627 \u0627\u0633\u062a!<\/p>\n<hr\/>\n<p><em>\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0645\u0628\u0627\u0631\u06a9 \u060c \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u062a\u0645\u0627\u0645 \u067e\u0634\u062a\u0647 \u0622\u06cc\u0646\u062f\u0647! \ud83c\udf89<\/em><\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0642\u0647\u0631\u0645\u0627\u0646: \u0627\u062f\u063a\u0627\u0645 Master API \u060c \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0648 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc \u062f\u0631 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u062d\u0645\u0627\u0633\u06cc! \ud83d\udccb \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628 \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647 \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u0622\u06cc\u0646\u062f\u0647! \ud83c\udfaf \u0622\u0646\u0686\u0647 \u0634\u0645\u0627 \u0645\u06cc \u0633\u0627\u0632\u06cc\u062f \u0648 \u06cc\u0627\u062f \u062e\u0648\u0627\u0647\u06cc\u062f \u06af\u0631\u0641\u062a \u062a\u0646\u0638\u06cc\u0645 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u062e\u0648\u062f \ud83d\udee0 \u062f\u0631\u06a9 API \u0647\u0627: \u067e\u0644 \u062f\u0627\u062f\u0647 \u0634\u0645\u0627 \u0634\u0631\u0648\u0639 \u0628\u0627 API Coingecko \u062a\u0646\u0638\u06cc\u0645 \u067e\u0631\u0648\u0698\u0647: \u0627\u06cc\u062c\u0627\u062f \u0628\u0631\u0646\u0627\u0645\u0647 React &hellip;<\/p>\n","protected":false},"author":2,"featured_media":111353,"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-111352","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\/111352","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=111352"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/111352\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/111353"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=111352"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=111352"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=111352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}