{"id":29487,"date":"2023-07-06T19:27:27","date_gmt":"2023-07-06T15:57:27","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/"},"modified":"2023-07-06T19:27:27","modified_gmt":"2023-07-06T15:57:27","slug":"build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/","title":{"rendered":"\u0628\u0627 Next.js\u060c Solidity \u0648 Axelar \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Interchain Full Stack \u0628\u0633\u0627\u0632\u06cc\u062f"},"content":{"rendered":"<div data-article-id=\"1528144\" id=\"article-body\">\n<p>\u0627\u06a9\u0648\u0633\u06cc\u0633\u062a\u0645 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u0627\u0645\u0631\u0648\u0632\u06cc \u0628\u0627 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u06a9\u0647 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u062a\u0642\u0644 \u0641\u0639\u0627\u0644\u06cc\u062a \u0645\u06cc \u06a9\u0646\u0646\u062f\u060c \u0645\u0634\u062e\u0635 \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u0647\u0631 \u06a9\u062f\u0627\u0645 \u062f\u0627\u0631\u0627\u06cc \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627 \u0648 \u0639\u0645\u0644\u06a9\u0631\u062f\u0647\u0627\u06cc \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f\u06cc \u0647\u0633\u062a\u0646\u062f.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0627\u06cc\u0646 \u067e\u0631\u0627\u06a9\u0646\u062f\u06af\u06cc \u0686\u0627\u0644\u0634 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u062f\u0631 \u0631\u0627\u0628\u0637\u0647 \u0628\u0627 \u0627\u0631\u062a\u0628\u0627\u0637 \u0648 \u0647\u0645\u06a9\u0627\u0631\u06cc \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0628\u06cc\u0646 \u0627\u06cc\u0646 \u0634\u0628\u06a9\u0647 \u0647\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0631\u0627\u06cc \u063a\u0644\u0628\u0647 \u0628\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0627\u0646\u0639\u060c \u06cc\u06a9 \u0639\u0646\u0635\u0631 \u062d\u06cc\u0627\u062a\u06cc \u06a9\u0647 \u067e\u062f\u06cc\u062f \u0622\u0645\u062f\u0647 \u0627\u0633\u062a\u060c \u06cc\u06a9 \u0644\u0627\u06cc\u0647 \u0642\u0627\u0628\u0644\u06cc\u062a \u0647\u0645\u06a9\u0627\u0631\u06cc \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u0642\u0627\u0628\u0644 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u06cc\u0632\u06cc \u0627\u0633\u062a.<\/p>\n<p>\u0644\u0627\u06cc\u0647 \u0642\u0627\u0628\u0644\u06cc\u062a \u0647\u0645\u06a9\u0627\u0631\u06cc \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u0642\u0627\u0628\u0644 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u06cc\u0632\u06cc\u060c \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u0631\u0627 \u067e\u0644 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u062a\u0628\u0627\u062f\u0644 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0648 \u062f\u0627\u0631\u0627\u06cc\u06cc \u0647\u0627 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u06cc\u0645\u0646 \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u062a\u0633\u0647\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0627 \u0627\u0631\u0627\u0626\u0647 \u06cc\u06a9 \u0686\u0627\u0631\u0686\u0648\u0628 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0634\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637\u0627\u062a \u0645\u062a\u0642\u0627\u0628\u0644 \u0632\u0646\u062c\u06cc\u0631\u0647 \u0627\u06cc\u060c \u062a\u0639\u0627\u0645\u0644 \u0635\u0627\u0641 \u0631\u0627 \u0627\u0645\u06a9\u0627\u0646 \u067e\u0630\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0628\u0647 \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0628\u0647 \u0637\u0648\u0631 \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0647\u0645\u06a9\u0627\u0631\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u06cc\u0627\u062f \u062e\u0648\u0627\u0647\u06cc\u062f \u06af\u0631\u0641\u062a \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u063a\u06cc\u0631\u0645\u062a\u0645\u0631\u06a9\u0632 \u0632\u0646\u062c\u06cc\u0631\u0647 \u0627\u06cc \u06a9\u0627\u0645\u0644 \u0628\u0633\u0627\u0632\u06cc\u062f \u0628\u0627 \u067e\u06cc\u0627\u0645 \u0647\u0627\u06cc Next.js\u060c Solidity \u0648 Axelar General \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u067e\u06cc\u0627\u0645 \u0627\u0632 \u06cc\u06a9 \u0628\u0644\u0627\u06a9\u0686\u06cc\u0646 \u0628\u0647 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u062f\u06cc\u06af\u0631.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0633\u0631\u06cc\u0639\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06a9\u062f \u06a9\u0627\u0645\u0644 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0631\u0627 \u062f\u0631 GitHub \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u062f\u0631 \u0648\u06cc\u062f\u06cc\u0648\u06cc \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u062f\u0631 \u0632\u06cc\u0631\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u062a\u06a9\u0645\u06cc\u0644 \u0634\u062f\u0647 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0631\u0627 \u0645\u06cc \u062f\u0647\u062f:<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=o-OrYvyN38M\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=o-OrYvyN38M<\/a><br \/>\n<\/iframe>\n <\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u062a\u063a\u06cc\u06cc\u0631 \u0648\u0636\u0639\u06cc\u062a \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628\"><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\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D8%B4%D8%B1%D9%88%D8%B9_%D8%A8%D8%A7_%DA%AF%D8%B0%D8%B1%D8%A7%D9%86%D8%AF%D9%86_%D9%BE%DB%8C%D8%A7%D9%85_%D8%B9%D9%85%D9%88%D9%85%DB%8C_Axelar\" >\u0634\u0631\u0648\u0639 \u0628\u0627 \u06af\u0630\u0631\u0627\u0646\u062f\u0646 \u067e\u06cc\u0627\u0645 \u0639\u0645\u0648\u0645\u06cc Axelar<\/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\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D9%BE%D9%8A%D8%B4_%D9%86%D9%8A%D8%A7%D8%B2\" >\u067e\u064a\u0634 \u0646\u064a\u0627\u0632<\/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\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%88_%D9%86%D8%B5%D8%A8_%D9%BE%D8%B1%D9%88%DA%98%D9%87\" >\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0648 \u0646\u0635\u0628 \u067e\u0631\u0648\u0698\u0647<\/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\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D8%B3%D8%A7%D8%AE%D8%AA_%DB%8C%DA%A9_%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF_%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF_%D8%A8%D8%A7_Hardhat_%D9%88_Axelar_GMP\" >\u0633\u0627\u062e\u062a \u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0628\u0627 Hardhat \u0648 Axelar GMP<\/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\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1\" >\u062a\u0646\u0638\u06cc\u0645 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0633\u062a\u0642\u0631\u0627\u0631<\/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\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D8%AA%D9%85%D8%A7%D8%B3_%D8%B1%D9%88%DB%8C%D9%87_%D8%A7%D8%B2_%D8%B1%D8%A7%D9%87_%D8%AF%D9%88%D8%B1_RPC_%D8%AF%D8%B1_Testnet\" >\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u062a\u0645\u0627\u0633 \u0631\u0648\u06cc\u0647 \u0627\u0632 \u0631\u0627\u0647 \u062f\u0648\u0631 (RPC) \u062f\u0631 Testnet<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF_%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%B4%D8%A8%DA%A9%D9%87_%D8%A8%D8%A7%DB%8C%D9%86%D9%86%D8%B3_%D9%88_%D8%A2%D9%88%D8%A7%D9%84%D8%A7%D9%86%DA%86_%D9%BE%DB%8C%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u0634\u0628\u06a9\u0647 \u0628\u0627\u06cc\u0646\u0646\u0633 \u0648 \u0622\u0648\u0627\u0644\u0627\u0646\u0686 \u067e\u06cc\u0627\u062f\u0647 \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-8\" href=\"https:\/\/nabfollower.com\/blog\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_%D8%A8%D9%87_%D8%A8%D8%A7%DB%8C%D9%86%D9%86%D8%B3_%D8%AA%D8%B3%D8%AA_%D9%86%D8%AA\" >\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0628\u0647 \u0628\u0627\u06cc\u0646\u0646\u0633 \u062a\u0633\u062a \u0646\u062a<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D9%85%D8%B3%D8%AA%D9%82%D8%B1_%D8%AF%D8%B1_%D8%A8%D9%87%D9%85%D9%86_%D9%81%D9%88%D8%AC%DB%8C_%D8%AA%D8%B3%D8%AA_%D9%86%D8%AA\" >\u0645\u0633\u062a\u0642\u0631 \u062f\u0631 \u0628\u0647\u0645\u0646 \u0641\u0648\u062c\u06cc \u062a\u0633\u062a \u0646\u062a<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D8%A7%D8%AF%D8%BA%D8%A7%D9%85_%DB%8C%DA%A9_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_Nextjs_Frontend_%D8%A8%D8%A7_%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF_%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF\" >\u0627\u062f\u063a\u0627\u0645 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Nextjs Frontend \u0628\u0627 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF_%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF_%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF_%D9%86%D9%88%D8%B4%D8%AA%D9%86\" >\u0627\u062c\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0646\u0648\u0634\u062a\u0646<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nabfollower.com\/blog\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF_%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF_%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF_%D8%AE%D9%88%D8%A7%D9%86%D8%AF%D9%86\" >\u0627\u062c\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u062e\u0648\u0627\u0646\u062f\u0646<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nabfollower.com\/blog\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D8%AF%D8%B1_%D8%AD%D8%A7%D9%84_%D8%A7%D9%85%D8%AA%D8%AD%D8%A7%D9%86_%DA%A9%D8%B1%D8%AF%D9%86_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87\" >\u062f\u0631 \u062d\u0627\u0644 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0631\u062f\u0646 \u0628\u0631\u0646\u0627\u0645\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nabfollower.com\/blog\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D8%A8%D8%B9%D8%AF%D8%B4_%DA%86%DB%8C%D8%9F\" >\u0628\u0639\u062f\u0634 \u0686\u06cc\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/nabfollower.com\/blog\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D9%86%D8%AA%DB%8C%D8%AC%D9%87\" >\u0646\u062a\u06cc\u062c\u0647<\/a><\/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\/build-a-full-stack-interchain-dapp-with-nextjs-solidity-axelar-8j6\/#%D8%A7%D8%B1%D8%AC%D8%A7%D8%B9\" >\u0627\u0631\u062c\u0627\u0639<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B4%D8%B1%D9%88%D8%B9_%D8%A8%D8%A7_%DA%AF%D8%B0%D8%B1%D8%A7%D9%86%D8%AF%D9%86_%D9%BE%DB%8C%D8%A7%D9%85_%D8%B9%D9%85%D9%88%D9%85%DB%8C_Axelar\"><\/span>\n<p>  \u0634\u0631\u0648\u0639 \u0628\u0627 \u06af\u0630\u0631\u0627\u0646\u062f\u0646 \u067e\u06cc\u0627\u0645 \u0639\u0645\u0648\u0645\u06cc Axelar<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0648\u06cc\u0698\u06af\u06cc \u0627\u0631\u0633\u0627\u0644 \u067e\u06cc\u0627\u0645 \u0639\u0645\u0648\u0645\u06cc (GMP) Axelar\u060c \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0631\u0627 \u0642\u0627\u062f\u0631 \u0645\u06cc \u0633\u0627\u0632\u062f \u062a\u0627 \u0647\u0631 \u0639\u0645\u0644\u06a9\u0631\u062f\u06cc \u0631\u0627 \u062f\u0631 \u0632\u0646\u062c\u06cc\u0631\u0647 \u0647\u0627\u06cc \u0628\u0647 \u0647\u0645 \u067e\u06cc\u0648\u0633\u062a\u0647 \u0628\u0647 \u0637\u0648\u0631 \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<p>\u0628\u0627 GMP\u060c \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0627\u06cc\u0646 \u062a\u0648\u0627\u0646\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0647 \u062f\u0633\u062a \u0645\u06cc \u0622\u0648\u0631\u0646\u062f:<\/p>\n<ol>\n<li>\n<p>\u0642\u0631\u0627\u0631\u062f\u0627\u062f\u06cc \u0631\u0627 \u062f\u0631 \u0632\u0646\u062c\u06cc\u0631\u0647 A \u0635\u062f\u0627 \u0628\u0632\u0646\u06cc\u062f \u0648 \u0628\u0627 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u06cc \u062f\u0631 \u0632\u0646\u062c\u06cc\u0631\u0647 B \u062a\u0639\u0627\u0645\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/li>\n<li>\n<p>\u062a\u0631\u0627\u06a9\u0646\u0634\u200c\u0647\u0627\u06cc \u0632\u0646\u062c\u06cc\u0631\u0647\u200c\u0627\u06cc \u0645\u062a\u0642\u0627\u0628\u0644 \u0631\u0627 \u0628\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u062f\u0631 \u0632\u0646\u062c\u06cc\u0631\u0647 A \u0648 \u0627\u0631\u0633\u0627\u0644 \u062a\u0648\u06a9\u0646 \u0628\u0647 \u0632\u0646\u062c\u06cc\u0631\u0647 B \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<\/p>\n<\/li>\n<\/ol>\n<h2><span class=\"ez-toc-section\" id=\"%D9%BE%D9%8A%D8%B4_%D9%86%D9%8A%D8%A7%D8%B2\"><\/span>\n<p>  \u067e\u064a\u0634 \u0646\u064a\u0627\u0632<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639\u060c \u0628\u0647 \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f:<\/p>\n<ul>\n<li>\n<p><strong>Node.js<\/strong> \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0628\u0633\u062a\u0647 NPM\u060c \u0646\u0633\u062e\u0647 18*.  \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f Node.js \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0632\u06cc\u0631 \u0646\u0635\u0628 \u0634\u062f\u0647 \u0627\u0633\u062a: <code>node -v &amp;&amp; npm -v<\/code><\/p>\n<\/li>\n<li>\n<p>\u062f\u0631\u06a9 \u0627\u0648\u0644\u06cc\u0647 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u060c Solidity \u0648 React\/Next.js<\/p>\n<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%88_%D9%86%D8%B5%D8%A8_%D9%BE%D8%B1%D9%88%DA%98%D9%87\"><\/span>\n<p>  \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0648 \u0646\u0635\u0628 \u067e\u0631\u0648\u0698\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0633\u0631\u06cc\u0639 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0648 \u0646\u0635\u0628 \u067e\u0631\u0648\u0698\u0647\u060c \u0627\u06cc\u0646 \u0631\u0627 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f <strong>\u067e\u0631\u0648\u0698\u0647 \u062f\u0631 GitHub<\/strong>.  \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0647\u0633\u062a\u06cc\u062f <code>starter<\/code> \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0634\u0627\u062e\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>git clone &lt;https:\/\/github.com\/axelarnetwork\/fullstack-interchain-dapp&gt;\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u060c \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u067e\u0633 \u0627\u0632 \u0634\u0628\u06cc\u0647 \u0633\u0627\u0632\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u062e\u0648\u062f\u060c \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u067e\u0631\u0648\u0698\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a <code>npm<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nb\">cd <\/span>fullstack-interchain-dapp <span class=\"o\">&amp;&amp;<\/span> npm i <span class=\"o\">&amp;&amp;<\/span> npm run dev\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>Next.js \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u0645\u062c\u062f\u062f \u0631\u0627 \u0634\u0631\u0648\u0639 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0628\u0647 \u0637\u0648\u0631 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u062f\u0631 http:\/\/localhost:3000 \u0642\u0627\u0628\u0644 \u062f\u0633\u062a\u0631\u0633\u06cc \u0627\u0633\u062a.<\/p>\n<p><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B3%D8%A7%D8%AE%D8%AA_%DB%8C%DA%A9_%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF_%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF_%D8%A8%D8%A7_Hardhat_%D9%88_Axelar_GMP\"><\/span>\n<p>  \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0628\u0627 Hardhat \u0648 Axelar GMP<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0628\u062e\u0634\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0648\u06cc\u0698\u06af\u06cc Axelar GMP \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u067e\u06cc\u0627\u0645 \u0627\u0632 \u06cc\u06a9 \u0632\u0646\u062c\u06cc\u0631\u0647 \u0628\u0647 \u0632\u0646\u062c\u06cc\u0631\u0647 \u062f\u06cc\u06af\u0631\u060c \u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0628\u06cc\u0646 \u0632\u0646\u062c\u06cc\u0631\u0647 \u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0628\u0647 \u067e\u0648\u0634\u0647 \u0631\u06cc\u0634\u0647 \u067e\u0631\u0648\u0698\u0647 \u06a9\u0647 \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0642\u0628\u0644 \u06a9\u0644\u0648\u0646 \u06a9\u0631\u062f\u06cc\u062f \u0628\u0631\u0648\u06cc\u062f \u0648 \u0633\u067e\u0633 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u062c\u062f\u06cc\u062f Hardhat \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nb\">mkdir <\/span>hardhat\n<span class=\"nb\">cd <\/span>hardhat\nnpm <span class=\"nb\">install<\/span> <span class=\"nt\">--save-dev<\/span> hardhat\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u0646\u0645\u0648\u0646\u0647 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>npx hardhat\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0627 \u0628\u0627 \u06af\u0632\u06cc\u0646\u0647 \u0647\u0627\u06cc \u0632\u06cc\u0631 \u067e\u06cc\u0634 \u062e\u0648\u0627\u0647\u06cc\u0645 \u0631\u0641\u062a:<\/p>\n<p><code>What do you want to do?<\/code><\/p>\n<p><code>\u2714\u00a0Create A JavaScript Project<\/code><\/p>\n<p><code>\u2714\u00a0Hardhat project root:<\/code><\/p>\n<p><code>? Do you want to add a .gitignore? (Y\/n) \u203a y<\/code><\/p>\n<p><code>? Do you want to install this sample project's dependencies with npm (hardhat @nomicfoundation\/hardhat-toolbox)? (Y\/n) \u203a y<\/code><\/p>\n<p>\u0631\u0627 <code>@nomicfoundation\/hardhat-toolbox<\/code> \u0627\u0641\u0632\u0648\u0646\u0647 \u0647\u0645\u0647 \u0628\u0633\u062a\u0647\u200c\u0647\u0627\u06cc \u0631\u0627\u06cc\u062c \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0648 \u067e\u0644\u0627\u06af\u06cc\u0646\u200c\u0647\u0627\u06cc Hardhat \u0631\u0627 \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u062a\u0648\u0633\u0639\u0647 \u0628\u0627 Hardhat \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u062c\u0645\u0639\u200c\u0628\u0646\u062f\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<p>\u0641\u0642\u0637 \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0646\u0635\u0628 \u0646\u0634\u062f\u060c \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f \u062f\u06cc\u06af\u0631 \u0631\u0627 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight apache\"><code>npm i @nomicfoundation\/hardhat-toolbox\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0639\u062f\u060c \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f <code>@axelar-network\/axelar-gmp-sdk-solidity<\/code> \u0628\u0631\u0627\u06cc Axelar General Message Passing SDK \u062f\u0631 Solidity \u0648 <code>dotenv<\/code> \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight apache\"><code>npm i @axelar-network\/axelar-gmp-sdk-solidity dotenv\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u06a9\u0627\u0631\u06a9\u0631\u062f \u0647\u0645\u0647 \u0686\u06cc\u0632\u060c \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0642\u0633\u0645\u062a \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f <code>hardhat<\/code> \u0641\u0647\u0631\u0633\u062a \u0631\u0627\u0647\u0646\u0645\u0627.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight apache\"><code>npx hardhat test\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0634\u0645\u0627 \u06cc\u06a9 \u0646\u062a\u06cc\u062c\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0631\u0627 \u062f\u0631 \u06a9\u0646\u0633\u0648\u0644 \u0645\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u06cc\u062f.<\/p>\n<p>\u062d\u0630\u0641 <code>Lock.js<\/code> \u0627\u0632 \u067e\u0648\u0634\u0647 \u062a\u0633\u062a \u0648 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f <code>deploy.js<\/code> \u0627\u0632 <code>scripts<\/code> \u0641\u0647\u0631\u0633\u062a \u0631\u0627\u0647\u0646\u0645\u0627.  \u067e\u0633 \u0627\u0632 \u0622\u0646\u060c \u0628\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627 \u0628\u0631\u0648\u06cc\u062f \u0648 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f <code>Lock.sol.<\/code><\/p>\n<blockquote>\n<p>\u062e\u0648\u062f \u067e\u0648\u0634\u0647 \u0647\u0627 \u0646\u0628\u0627\u06cc\u062f \u067e\u0627\u06a9 \u0634\u0648\u0646\u062f!<\/p>\n<\/blockquote>\n<p>\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 <code>SendMessage.sol<\/code> \u0641\u0627\u06cc\u0644 \u062f\u0627\u062e\u0644 <code>contracts<\/code> \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0648 \u0628\u0627 \u0642\u0637\u0639\u0647 \u06a9\u062f \u0632\u06cc\u0631 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f.  \u0647\u0646\u06af\u0627\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Hardhat\u060c \u0637\u0631\u062d \u0628\u0646\u062f\u06cc \u0641\u0627\u06cc\u0644 \u0628\u0633\u06cc\u0627\u0631 \u0645\u0647\u0645 \u0627\u0633\u062a\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u062a\u0648\u062c\u0647 \u06a9\u0646\u06cc\u062f!<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight solidity\"><code><span class=\"c1\">\/\/ SPDX-License-Identifier: MIT\n\/\/ SPDX license identifier specifies which open-source license is being used for the contract\n<\/span><span class=\"k\">pragma<\/span> <span class=\"n\">solidity<\/span> <span class=\"mf\">0.8<\/span><span class=\"p\">.<\/span><span class=\"mi\">9<\/span><span class=\"p\">;<\/span>\n\n<span class=\"c1\">\/\/ Importing external contracts for dependencies\n<\/span><span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"n\">AxelarExecutable<\/span> <span class=\"p\">}<\/span> <span class=\"n\">from<\/span> <span class=\"s\">'@axelar-network\/axelar-gmp-sdk-solidity\/contracts\/executable\/AxelarExecutable.sol'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"n\">IAxelarGateway<\/span> <span class=\"p\">}<\/span> <span class=\"n\">from<\/span> <span class=\"s\">'@axelar-network\/axelar-gmp-sdk-solidity\/contracts\/interfaces\/IAxelarGateway.sol'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"n\">IAxelarGasService<\/span> <span class=\"p\">}<\/span> <span class=\"n\">from<\/span> <span class=\"s\">'@axelar-network\/axelar-gmp-sdk-solidity\/contracts\/interfaces\/IAxelarGasService.sol'<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"n\">IERC20<\/span> <span class=\"p\">}<\/span> <span class=\"n\">from<\/span> <span class=\"s\">'@axelar-network\/axelar-gmp-sdk-solidity\/contracts\/interfaces\/IERC20.sol'<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">contract<\/span> <span class=\"n\">SendMessage<\/span> <span class=\"k\">is<\/span> <span class=\"n\">AxelarExecutable<\/span> <span class=\"p\">{<\/span>\n\n    <span class=\"kt\">string<\/span> <span class=\"k\">public<\/span> <span class=\"n\">value<\/span><span class=\"p\">;<\/span>\n    <span class=\"kt\">string<\/span> <span class=\"k\">public<\/span> <span class=\"n\">sourceChain<\/span><span class=\"p\">;<\/span>\n    <span class=\"kt\">string<\/span> <span class=\"k\">public<\/span> <span class=\"n\">sourceAddress<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"n\">IAxelarGasService<\/span> <span class=\"k\">public<\/span> <span class=\"kr\">immutable<\/span> <span class=\"n\">gasService<\/span><span class=\"p\">;<\/span>\n\n    <span class=\"k\">constructor<\/span><span class=\"p\">(<\/span><span class=\"kt\">address<\/span> <span class=\"n\">gateway_<\/span><span class=\"p\">,<\/span> <span class=\"kt\">address<\/span> <span class=\"n\">gasReceiver_<\/span><span class=\"p\">)<\/span> <span class=\"n\">AxelarExecutable<\/span><span class=\"p\">(<\/span><span class=\"n\">gateway_<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"c1\">\/\/ Sets the immutable state variable to the address of gasReceiver_\n<\/span>        <span class=\"n\">gasService<\/span> <span class=\"o\">=<\/span> <span class=\"n\">IAxelarGasService<\/span><span class=\"p\">(<\/span><span class=\"n\">gasReceiver_<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"k\">function<\/span> <span class=\"n\">sendMessage<\/span><span class=\"p\">(<\/span>\n        <span class=\"kt\">string<\/span> <span class=\"k\">calldata<\/span> <span class=\"n\">destinationChain<\/span><span class=\"p\">,<\/span>\n        <span class=\"kt\">string<\/span> <span class=\"k\">calldata<\/span> <span class=\"n\">destinationAddress<\/span><span class=\"p\">,<\/span>\n        <span class=\"kt\">string<\/span> <span class=\"k\">calldata<\/span> <span class=\"n\">value_<\/span>\n    <span class=\"p\">)<\/span> <span class=\"k\">external<\/span> <span class=\"k\">payable<\/span> <span class=\"p\">{<\/span>\n\n        <span class=\"kt\">bytes<\/span> <span class=\"k\">memory<\/span> <span class=\"n\">payload<\/span> <span class=\"o\">=<\/span> <span class=\"n\">abi<\/span><span class=\"p\">.<\/span><span class=\"n\">encode<\/span><span class=\"p\">(<\/span><span class=\"n\">value_<\/span><span class=\"p\">);<\/span>\n\n        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"n\">msg<\/span><span class=\"p\">.<\/span><span class=\"n\">value<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n            <span class=\"n\">gasService<\/span><span class=\"p\">.<\/span><span class=\"n\">payNativeGasForContractCall<\/span><span class=\"p\">{<\/span> <span class=\"n\">value<\/span><span class=\"o\">:<\/span> <span class=\"n\">msg<\/span><span class=\"p\">.<\/span><span class=\"n\">value<\/span> <span class=\"p\">}(<\/span>\n                <span class=\"kt\">address<\/span><span class=\"p\">(<\/span><span class=\"nb\">this<\/span><span class=\"p\">),<\/span>\n                <span class=\"n\">destinationChain<\/span><span class=\"p\">,<\/span>\n                <span class=\"n\">destinationAddress<\/span><span class=\"p\">,<\/span>\n                <span class=\"n\">payload<\/span><span class=\"p\">,<\/span>\n                <span class=\"n\">msg<\/span><span class=\"p\">.<\/span><span class=\"n\">sender<\/span>\n            <span class=\"p\">);<\/span>\n        <span class=\"p\">}<\/span>\n        <span class=\"c1\">\/\/ Calls the Axelar gateway contract with the specified destination chain and address and sends the payload along with the call\n<\/span>        <span class=\"n\">gateway<\/span><span class=\"p\">.<\/span><span class=\"n\">callContract<\/span><span class=\"p\">(<\/span><span class=\"n\">destinationChain<\/span><span class=\"p\">,<\/span> <span class=\"n\">destinationAddress<\/span><span class=\"p\">,<\/span> <span class=\"n\">payload<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"k\">function<\/span> <span class=\"n\">_execute<\/span><span class=\"p\">(<\/span>\n        <span class=\"kt\">string<\/span> <span class=\"k\">calldata<\/span> <span class=\"n\">sourceChain_<\/span><span class=\"p\">,<\/span>\n        <span class=\"kt\">string<\/span> <span class=\"k\">calldata<\/span> <span class=\"n\">sourceAddress_<\/span><span class=\"p\">,<\/span>\n        <span class=\"kt\">bytes<\/span> <span class=\"k\">calldata<\/span> <span class=\"n\">payload_<\/span>\n    <span class=\"p\">)<\/span> <span class=\"k\">internal<\/span> <span class=\"k\">override<\/span> <span class=\"p\">{<\/span>\n        <span class=\"c1\">\/\/ Decodes the payload bytes into the string value and sets the state variable for this contract\n<\/span>        <span class=\"p\">(<\/span><span class=\"n\">value<\/span><span class=\"p\">)<\/span> <span class=\"o\">=<\/span> <span class=\"n\">abi<\/span><span class=\"p\">.<\/span><span class=\"n\">decode<\/span><span class=\"p\">(<\/span><span class=\"n\">payload_<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"kt\">string<\/span><span class=\"p\">));<\/span>\n\n<span class=\"n\">sourceChain<\/span> <span class=\"o\">=<\/span> <span class=\"n\">sourceChain_<\/span><span class=\"p\">;<\/span>\n        <span class=\"n\">sourceAddress<\/span> <span class=\"o\">=<\/span> <span class=\"n\">sourceAddress_<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0642\u0637\u0639\u0647 \u06a9\u062f \u0628\u0627\u0644\u0627 \u0645\u0627:<\/p>\n<ul>\n<li>\n<p>\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 <code>SendMessage<\/code> \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u06cc \u06a9\u0647 \u062a\u0645\u062f\u06cc\u062f \u0645\u06cc \u06a9\u0646\u062f <code>AxelarExecutable<\/code> \u0642\u0631\u0627\u0631\u062f\u0627\u062f<\/p>\n<\/li>\n<li>\n<p>\u0648\u0627\u0631\u062f \u0643\u0631\u062f\u0646 <code>AxelarExecutable<\/code>\u060c <code>IAxelarGateway<\/code>\u060c <code>IAxelarGasService<\/code> \u0627\u0632 <code>@axelar-network\/axelar-gmp-sdk-solidity<\/code> \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647<\/p>\n<\/li>\n<li>\n<p>\u062a\u0639\u0631\u064a\u0641 \u0643\u0631\u062f\u0646 <code>four<\/code> \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u062d\u0627\u0644\u062a: <code>value<\/code>\u060c <code>sourceChain<\/code>\u060c <code>sourceAddress<\/code>\u060c \u0648 <code>gasService<\/code>.  \u0631\u0627 <code>gasService<\/code> \u0645\u062a\u063a\u06cc\u0631 \u062d\u0627\u0644\u062a \u062a\u063a\u06cc\u06cc\u0631\u0646\u0627\u067e\u0630\u06cc\u0631 \u0627\u0633\u062a \u0648 \u0641\u0642\u0637 \u062f\u0631 \u062d\u06cc\u0646 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0642\u0627\u0628\u0644 \u062a\u0646\u0638\u06cc\u0645 \u0627\u0633\u062a.<\/p>\n<\/li>\n<li>\n<p>\u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u06a9\u0646\u06cc\u062f <code>gasService<\/code> \u0645\u062a\u063a\u06cc\u0631 \u0628\u0627 \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 <code>gasReceiver_<\/code> \u0646\u0634\u0627\u0646\u06cc.<\/p>\n<\/li>\n<li>\n<p>\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 <code>sendMessage<\/code> \u062a\u0627\u0628\u0639\u06cc \u06a9\u0647 \u0633\u0647 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u0631\u0634\u062a\u0647 \u0631\u0627 \u0645\u06cc \u06af\u06cc\u0631\u062f: <code>destinationChain<\/code>\u060c <code>destinationAddress<\/code>\u060c <code>value_<\/code> \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f <code>gasService.payNativeGasForContractCall<\/code> \u0628\u0627 \u06af\u0627\u0632 \u0628\u0648\u0645\u06cc (\u0627\u062a\u0631).<\/p>\n<\/li>\n<li>\n<p>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f <code>gateway<\/code> \u0642\u0631\u0627\u0631\u062f\u0627\u062f <code>callContract<\/code> \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0627 \u0645\u0634\u062e\u0635 \u0634\u062f\u0647 <code>destinationChain<\/code>\u060c <code>destinationAddress<\/code>\u060c \u0648 <code>payload<\/code> \u0645\u0648\u0644\u0641\u0647 \u0647\u0627\u06cc.<\/p>\n<\/li>\n<li>\n<p>\u0631\u0627 <code>_execute<\/code> \u062a\u0627\u0628\u0639 \u0628\u0627\u06cc\u062a \u0647\u0627\u06cc \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0631\u0627 \u062f\u0631 \u0631\u0645\u0632\u06af\u0634\u0627\u06cc\u06cc \u0645\u06cc \u06a9\u0646\u062f <code>value<\/code> \u0631\u0634\u062a\u0647 \u0648 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u062d\u0627\u0644\u062a \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u0645\u06cc \u06a9\u0646\u062f <code>sourceChain<\/code> \u0648 <code>sourceAddress<\/code>.<\/p>\n<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1\"><\/span>\n<p>  \u062a\u0646\u0638\u06cc\u0645 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0633\u062a\u0642\u0631\u0627\u0631<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0639\u062f\u060c \u06cc\u06a9 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>deploy.js<\/code> \u0641\u0627\u06cc\u0644 \u062f\u0631 <code>scripts<\/code> \u067e\u0648\u0634\u0647 \u0648 \u0642\u0637\u0639\u0647 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight jsx\"><code><span class=\"c1\">\/\/ We require the Hardhat Runtime Environment explicitly here. This is optional<\/span>\n<span class=\"c1\">\/\/ but useful for running the script in a standalone fashion through `node &lt;script&gt;`.<\/span>\n<span class=\"c1\">\/\/<\/span>\n<span class=\"c1\">\/\/ You can also run a script with `npx hardhat run &lt;script&gt;`. If you do that, Hardhat<\/span>\n<span class=\"c1\">\/\/ will compile your contracts, add the Hardhat Runtime Environment's members to the<\/span>\n<span class=\"c1\">\/\/ global scope, and execute the script.<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">hre<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">hardhat<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n\n<span class=\"k\">async<\/span> <span class=\"kd\">function<\/span> <span class=\"nx\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"nx\">SendMessage<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">hre<\/span><span class=\"p\">.<\/span><span class=\"nx\">ethers<\/span><span class=\"p\">.<\/span><span class=\"nx\">getContractFactory<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">SendMessage<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"nx\">sendMessage<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">SendMessage<\/span><span class=\"p\">.<\/span><span class=\"nx\">deploy<\/span><span class=\"p\">(<\/span>\n    <span class=\"dl\">\"\"<\/span><span class=\"p\">,<\/span>\n    <span class=\"dl\">\"\"<\/span>\n  <span class=\"p\">);<\/span>\n\n  <span class=\"k\">await<\/span> <span class=\"nx\">sendMessage<\/span><span class=\"p\">.<\/span><span class=\"nx\">deployed<\/span><span class=\"p\">();<\/span>\n\n  <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">`SendMessage contract deployed to <\/span><span class=\"p\">${<\/span><span class=\"nx\">sendMessage<\/span><span class=\"p\">.<\/span><span class=\"nx\">address<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"c1\">\/\/ We recommend this pattern to be able to use async\/await everywhere<\/span>\n<span class=\"c1\">\/\/ and properly handle errors.<\/span>\n<span class=\"nx\">main<\/span><span class=\"p\">().<\/span><span class=\"k\">catch<\/span><span class=\"p\">((<\/span><span class=\"nx\">error<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">error<\/span><span class=\"p\">(<\/span><span class=\"nx\">error<\/span><span class=\"p\">);<\/span>\n  <span class=\"nx\">process<\/span><span class=\"p\">.<\/span><span class=\"nx\">exitCode<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span>\n<span class=\"p\">});<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0642\u0637\u0639\u0647 \u06a9\u062f \u0628\u0627\u0644\u0627:<\/p>\n<ul>\n<li>\n<p>\u0631\u0627 <code>main<\/code> \u062a\u0627\u0628\u0639 \u062f\u0627\u0631\u062f <code>SendMessage<\/code> \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u06a9\u0627\u0631\u062e\u0627\u0646\u0647 \u0628\u0647 \u062f\u0633\u062a \u0622\u0645\u062f\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>hre.ethers.getContractFactory<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0631\u0627 <code>sendMessage<\/code> \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>SendMessage.deploy<\/code> \u0645\u062a\u062f \u0628\u0627 \u062f\u0648 \u0631\u0634\u062a\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0622\u0631\u06af\u0648\u0645\u0627\u0646.<\/p>\n<\/li>\n<li>\n<p><code>await sendMessage.deployed()<\/code>  \u0628\u06cc\u0627\u0646\u06cc\u0647 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0642\u0628\u0644 \u0627\u0632 \u062d\u0631\u06a9\u062a \u0628\u0647 \u062c\u0644\u0648 \u062a\u06a9\u0645\u06cc\u0644 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<\/li>\n<li>\n<p>\u0622\u062f\u0631\u0633 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0645\u0633\u062a\u0642\u0631 \u062f\u0631 \u06a9\u0646\u0633\u0648\u0644 \u0648\u0627\u0631\u062f \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D8%AA%D9%85%D8%A7%D8%B3_%D8%B1%D9%88%DB%8C%D9%87_%D8%A7%D8%B2_%D8%B1%D8%A7%D9%87_%D8%AF%D9%88%D8%B1_RPC_%D8%AF%D8%B1_Testnet\"><\/span>\n<p>  \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u062a\u0645\u0627\u0633 \u0631\u0648\u06cc\u0647 \u0627\u0632 \u0631\u0627\u0647 \u062f\u0648\u0631 (RPC) \u062f\u0631 Testnet<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062a\u0645\u0627\u0633 \u0631\u0648\u06cc\u0647 \u0627\u0632 \u0631\u0627\u0647 \u062f\u0648\u0631 (RPC) \u067e\u0631\u0648\u062a\u06a9\u0644\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u06cc\u0646 \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u06cc \u0645\u0634\u062a\u0631\u06cc \u0648 \u0633\u0631\u0648\u0631 \u062f\u0631 \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u0634\u0628\u06a9\u0647 \u06cc\u0627 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.  \u06a9\u0644\u0627\u06cc\u0646\u062a \u0647\u0627 \u0631\u0627 \u0642\u0627\u062f\u0631 \u0645\u06cc \u0633\u0627\u0632\u062f \u062a\u0627 \u0631\u0648\u06cc\u0647 \u0647\u0627 \u06cc\u0627 \u062a\u0648\u0627\u0628\u0639 \u0631\u0627 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0631\u0627\u0647 \u062f\u0648\u0631 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u0647 \u0648 \u0646\u062a\u0627\u06cc\u062c \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u0646\u062f.  RPC \u062c\u0632\u0626\u06cc\u0627\u062a \u0634\u0628\u06a9\u0647 \u0632\u06cc\u0631\u06cc\u0646 \u0631\u0627 \u062e\u0644\u0627\u0635\u0647 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0628\u0647 \u06a9\u0644\u0627\u06cc\u0646\u062a \u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0631\u0648\u0634 \u0647\u0627 \u0631\u0627 \u0628\u0631 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631\u0647\u0627 \u0628\u0647 \u06af\u0648\u0646\u0647 \u0627\u06cc \u06a9\u0647 \u0645\u062d\u0644\u06cc \u0647\u0633\u062a\u0646\u062f \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639 \u0628\u0647 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc RPC\u060c a \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>.env<\/code> \u0641\u0627\u06cc\u0644 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight apache\"><code>touch .env\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<blockquote>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 \u0628\u0627\u0644\u0627\u060c \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc hardhat \u0647\u0633\u062a\u06cc\u062f.<\/p>\n<\/blockquote>\n<p>\u062f\u0631\u0648\u0646 <code>.env<\/code> \u0641\u0627\u06cc\u0644\u06cc \u06a9\u0647 \u0628\u0647 \u062a\u0627\u0632\u06af\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f\u060c \u06a9\u0644\u06cc\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight apache\"><code>PRIVATE_KEY= \/\/ <span class=\"ss\">Add<\/span> your account private key here\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0644\u06cc\u062f \u062d\u0633\u0627\u0628 \u062e\u0635\u0648\u0635\u06cc \u0634\u0645\u0627 \u0622\u0633\u0627\u0646 \u0627\u0633\u062a.  \u0627\u06cc\u0646 \u0631\u0648 \u0686\u06a9 \u06a9\u0646 <strong>\u067e\u0633\u062a<\/strong>.<\/p>\n<p>\u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u060c RPC \u0631\u0627 \u0628\u0631\u0627\u06cc \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc Binance \u0648 Avalanche \u0628\u0627 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0622\u0646 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f <code>hardhat.config.js<\/code> \u0641\u0627\u06cc\u0644 \u0628\u0627 \u0642\u0637\u0639\u0647 \u06a9\u062f \u0632\u06cc\u0631:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">@nomicfoundation\/hardhat-toolbox<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n<span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">dotenv<\/span><span class=\"dl\">\"<\/span><span class=\"p\">).<\/span><span class=\"nx\">config<\/span><span class=\"p\">({<\/span> <span class=\"na\">path<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">.env<\/span><span class=\"dl\">\"<\/span> <span class=\"p\">});<\/span>\n<span class=\"nx\">require<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">solidity-coverage<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">PRIVATE_KEY<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">process<\/span><span class=\"p\">.<\/span><span class=\"nx\">env<\/span><span class=\"p\">.<\/span><span class=\"nx\">PRIVATE_KEY<\/span><span class=\"p\">;<\/span>\n\n<span class=\"c1\">\/\/ This is a sample Hardhat task. To learn how to create your own go to<\/span>\n<span class=\"c1\">\/\/ &lt;https:\/\/hardhat.org\/guides\/create-task.html&gt;<\/span>\n<span class=\"nx\">task<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">accounts<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">Prints the list of accounts<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"k\">async<\/span> <span class=\"p\">(<\/span><span class=\"nx\">taskArgs<\/span><span class=\"p\">,<\/span> <span class=\"nx\">hre<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kd\">const<\/span> <span class=\"nx\">accounts<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">hre<\/span><span class=\"p\">.<\/span><span class=\"nx\">ethers<\/span><span class=\"p\">.<\/span><span class=\"nx\">getSigners<\/span><span class=\"p\">();<\/span>\n\n  <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"kd\">const<\/span> <span class=\"nx\">account<\/span> <span class=\"k\">of<\/span> <span class=\"nx\">accounts<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">account<\/span><span class=\"p\">.<\/span><span class=\"nx\">address<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">});<\/span>\n\n<span class=\"c1\">\/\/ You need to export an object to set up your config<\/span>\n<span class=\"c1\">\/\/ Go to &lt;https:\/\/hardhat.org\/config\/&gt; to learn more<\/span>\n\n<span class=\"cm\">\/** @type import('hardhat\/config').HardhatUserConfig *\/<\/span>\n<span class=\"nx\">module<\/span><span class=\"p\">.<\/span><span class=\"nx\">exports<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span>\n  <span class=\"na\">solidity<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">0.8.9<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n  <span class=\"na\">networks<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n    <span class=\"na\">bsc<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n      <span class=\"na\">url<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">&lt;https:\/\/data-seed-prebsc-1-s1.binance.org:8545&gt;<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n      <span class=\"na\">chainId<\/span><span class=\"p\">:<\/span> <span class=\"mi\">97<\/span><span class=\"p\">,<\/span>\n      <span class=\"na\">accounts<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"nx\">PRIVATE_KEY<\/span><span class=\"p\">],<\/span>\n    <span class=\"p\">},<\/span>\n    <span class=\"na\">avalancheFujiTestnet<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n      <span class=\"na\">url<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">&lt;https:\/\/avalanche-fuji-c-chain.publicnode.com&gt;<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n      <span class=\"na\">chainId<\/span><span class=\"p\">:<\/span> <span class=\"mi\">43113<\/span><span class=\"p\">,<\/span>\n      <span class=\"na\">accounts<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"nx\">PRIVATE_KEY<\/span><span class=\"p\">],<\/span>\n    <span class=\"p\">},<\/span>\n  <span class=\"p\">},<\/span>\n  <span class=\"na\">mocha<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n    <span class=\"na\">timeout<\/span><span class=\"p\">:<\/span> <span class=\"mi\">10000000000<\/span><span class=\"p\">,<\/span>\n  <span class=\"p\">},<\/span>\n<span class=\"p\">};<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0634\u0645\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a RPC \u0631\u0627 \u0628\u0631\u0627\u06cc \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc Binance \u0648 Avalanche \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f\u060c \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0632\u06cc\u0631 \u0628\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u062f\u0631 \u0622\u0646 \u0634\u0628\u06a9\u0647 \u0647\u0627 \u0627\u062f\u0627\u0645\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF_%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%B4%D8%A8%DA%A9%D9%87_%D8%A8%D8%A7%DB%8C%D9%86%D9%86%D8%B3_%D9%88_%D8%A2%D9%88%D8%A7%D9%84%D8%A7%D9%86%DA%86_%D9%BE%DB%8C%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u0634\u0628\u06a9\u0647 \u0628\u0627\u06cc\u0646\u0646\u0633 \u0648 \u0622\u0648\u0627\u0644\u0627\u0646\u0686 \u067e\u06cc\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0628\u062e\u0634\u060c \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0631\u0627 \u062f\u0631 \u0628\u0627\u06cc\u0646\u0646\u0633 \u0648 \u0622\u0648\u0627\u0644\u0627\u0646\u0686 \u062a\u0633\u062a \u0646\u062a \u0645\u0633\u062a\u0642\u0631 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0642\u0628\u0644 \u0627\u0632 \u0627\u062f\u0627\u0645\u0647\u060c \u0628\u0627\u06cc\u062f Axelar \u0631\u0627 \u0645\u0634\u062e\u0635 \u06a9\u0646\u06cc\u062f <code>Gateway Service<\/code> \u0648 <code>Gas Service<\/code> \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u062f\u0631 <code>SendMessage.deploy()<\/code> \u0631\u0648\u0634 \u062f\u0631 <code>deploy.js<\/code> \u0641\u0627\u06cc\u0644\u06cc \u06a9\u0647 \u0642\u0628\u0644\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u06cc\u062f<\/p>\n<p>\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0644\u06cc\u0633\u062a \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u062e\u062f\u0645\u0627\u062a \u06af\u0627\u0632 \u0648 \u06af\u06cc\u062a\u200c\u0648\u06cc Axelar \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0645\u0627\u0645 \u0632\u0646\u062c\u06cc\u0631\u0647\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 Axelar \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u0631\u0627 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0628\u06cc\u0627\u0628\u06cc\u062f.<\/p>\n<p>\u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u0645\u06cc\u0632 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u060c \u0628\u0647 \u06cc\u06a9 \u0634\u06cc\u0631 \u0622\u0628 \u0628\u0631\u0627\u06cc \u062d\u0633\u0627\u0628 \u0647\u0627\u06cc Binance \u0648 Avalanche \u062e\u0648\u062f \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f.  \u0628\u0631\u0627\u06cc \u062a\u0647\u06cc\u0647 \u0634\u06cc\u0631 \u0622\u0628 \u0628\u0627\u06cc\u0646\u0646\u0633 \u0628\u0647 \u0627\u06cc\u0646 \u0644\u06cc\u0646\u06a9 \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0631\u0627\u06cc \u0634\u06cc\u0631 \u0622\u0628 \u0622\u0644\u0627\u0646\u0686 \u0627\u0632 \u0627\u06cc\u0646\u062c\u0627 \u0648\u0627\u0631\u062f \u0634\u0648\u06cc\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_%D8%A8%D9%87_%D8%A8%D8%A7%DB%8C%D9%86%D9%86%D8%B3_%D8%AA%D8%B3%D8%AA_%D9%86%D8%AA\"><\/span>\n<p>  \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0628\u0647 \u0628\u0627\u06cc\u0646\u0646\u0633 \u062a\u0633\u062a \u0646\u062a<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f <code>deploy.js<\/code> \u0641\u0627\u06cc\u0644 \u062f\u0627\u062e\u0644 <code>scripts<\/code> \u067e\u0648\u0634\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 \u0628\u0627\u06cc\u0646\u0646\u0633 \u062a\u0633\u062a \u0646\u062a \u0628\u0627 \u0642\u0637\u0639\u0647 \u06a9\u062f \u0632\u06cc\u0631:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight apache\"><code><span class=\"err\">\/\/...<\/span>\n\nasync function main() {\n  <span class=\"err\">\/\/...<\/span>\n\n  <span class=\"err\">\/\/<\/span> Update arguments with the Axelar gateway <span class=\"ss\">and<\/span>\n  <span class=\"err\">\/\/<\/span> gas service <span class=\"ss\">on<\/span> Binance testnet\n  const sendMessage = await SendMessage.deploy(\n    <span class=\"err\">\"<\/span>0x4D147dCb984e6affEEC47e44293DA442580A3Ec0\",\n    <span class=\"err\">\"<\/span>0xbE406F0189A0B4cf3A05C286473D23791Dd44Cc6\"\n  <span class=\"err\">);<\/span>\n\n  <span class=\"err\">\/\/...<\/span>\n<span class=\"err\">}<\/span>\n\n<span class=\"err\">\/\/..<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc Binance\u060c \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight apache\"><code>npx hardhat run scripts\/deploy.js --network bsc\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0622\u062f\u0631\u0633 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u062f\u0631 \u06a9\u0646\u0633\u0648\u0644 \u0634\u0645\u0627 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f: <code>0xC1b8fC9208E51aC997895626b0f384153E94f2A7<\/code>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B3%D8%AA%D9%82%D8%B1_%D8%AF%D8%B1_%D8%A8%D9%87%D9%85%D9%86_%D9%81%D9%88%D8%AC%DB%8C_%D8%AA%D8%B3%D8%AA_%D9%86%D8%AA\"><\/span>\n<p>  \u0645\u0633\u062a\u0642\u0631 \u062f\u0631 \u0628\u0647\u0645\u0646 \u0641\u0648\u062c\u06cc \u062a\u0633\u062a \u0646\u062a<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f <code>deploy.js<\/code> \u0641\u0627\u06cc\u0644 \u062f\u0627\u062e\u0644 <code>scripts<\/code> \u067e\u0648\u0634\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 Avalanche testnet \u0628\u0627 \u0642\u0637\u0639\u0647 \u06a9\u062f \u0632\u06cc\u0631:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight apache\"><code><span class=\"err\">\/\/...<\/span>\n\nasync function main() {\n  <span class=\"err\">\/\/...<\/span>\n\n  <span class=\"err\">\/\/<\/span> Update arguments with the Axelar gateway <span class=\"ss\">and<\/span>\n  <span class=\"err\">\/\/<\/span> gas service <span class=\"ss\">on<\/span> Avalanche testnet\n  const sendMessage = await SendMessage.deploy(\n    <span class=\"err\">\"<\/span>0xC249632c2D40b9001FE907806902f63038B737Ab\",\n    <span class=\"err\">\"<\/span>0xbE406F0189A0B4cf3A05C286473D23791Dd44Cc6\"\n  <span class=\"err\">);<\/span>\n\n  <span class=\"err\">\/\/...<\/span>\n<span class=\"err\">}<\/span>\n\n<span class=\"err\">\/\/..<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc Avalanche\u060c \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight apache\"><code>npx hardhat run scripts\/deploy.js --network avalancheFujiTestnet\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0622\u062f\u0631\u0633 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u062f\u0631 \u06a9\u0646\u0633\u0648\u0644 \u0634\u0645\u0627 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.  \u0645\u062b\u0644\u0627\u060c <code>0x2a03DCB9B24431d02839822209D58262f5e5df52<\/code>.  \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0647\u0631 \u062f\u0648 \u0622\u062f\u0631\u0633 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0645\u0633\u062a\u0642\u0631 \u0634\u062f\u0647 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f\u060c \u0632\u06cc\u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u062f\u063a\u0627\u0645 front-end \u0628\u0647 \u0622\u0646\u0647\u0627 \u0646\u06cc\u0627\u0632 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%AF%D8%BA%D8%A7%D9%85_%DB%8C%DA%A9_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_Nextjs_Frontend_%D8%A8%D8%A7_%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF_%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF\"><\/span>\n<p>  \u0627\u062f\u063a\u0627\u0645 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Nextjs Frontend \u0628\u0627 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0631 \u0645\u0631\u0627\u062d\u0644 \u0642\u0628\u0644\u06cc\u060c \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0631\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0633\u0627\u062e\u062a\u0647 \u0648 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u06cc\u062f.  \u0627\u06a9\u0646\u0648\u0646\u060c \u0632\u0645\u0627\u0646 \u0622\u0646 \u0631\u0633\u06cc\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0627\u0632 \u0642\u0633\u0645\u062a \u062c\u0644\u0648\u06cc\u06cc \u0628\u0627 \u0622\u0646 \u062a\u0639\u0627\u0645\u0644 \u06a9\u0646\u06cc\u062f\u060c \u062f\u0631\u0633\u062a \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u063a\u06cc\u0631\u0645\u062a\u0645\u0631\u06a9\u0632 \u062f\u0631 \u0648\u0628 \u062a\u0639\u0627\u0645\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0634\u0645\u0627 \u0642\u0628\u0644\u0627\u064b \u067e\u0631\u0648\u0698\u0647 Next.js frontend \u06a9\u0644\u0648\u0646 \u0634\u062f\u0647 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0631\u0627\u06cc <code>WAGMI<\/code> \u0648 <code>Rainbowkit<\/code> \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.  \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\u0631\u0646\u0627\u0645\u0647 \u0645\u0648\u062c\u0648\u062f \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u0648\u0635\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF_%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF_%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF_%D9%86%D9%88%D8%B4%D8%AA%D9%86\"><\/span>\n<p>  \u0627\u062c\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0646\u0648\u0634\u062a\u0646<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062a\u0639\u0627\u0645\u0644 \u0628\u0627 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0645\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0628\u0631\u0646\u0627\u0645\u0647 front-end \u0628\u0633\u06cc\u0627\u0631 \u0633\u0627\u062f\u0647 \u0627\u0633\u062a\u060c \u0628\u0647 \u0644\u0637\u0641 <code>WAGMI<\/code>\u060c <code>RainbowKit<\/code>\u060c \u0648 <code>ethers<\/code>.<\/p>\n<p>\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 <code>.env.local<\/code> \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0631\u06cc\u0634\u0647 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight apache\"><code>touch .env.local\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<blockquote>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 \u0628\u0627\u0644\u0627 \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0631\u06cc\u0634\u0647 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u06cc\u062f.<\/p>\n<\/blockquote>\n<p>\u062f\u0631\u0648\u0646 <code>.env.local<\/code> \u0641\u0627\u06cc\u0644\u06cc \u06a9\u0647 \u0628\u0647 \u062a\u0627\u0632\u06af\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f\u060c \u06a9\u0644\u06cc\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight apache\"><code>NEXT_PUBLIC_AVALANCHE_RPC_URL=https:\/\/avalanche-fuji-c-chain.publicnode.com\nNEXT_PUBLIC_BSC_CONTRACT_ADDRESS=&lt;BSC_CONTRACT_ADDRESS&gt;\nNEXT_PUBLIC_AVALANCHE_CONTRACT_ADDRESS=&lt;AVALANCHE_CONTRACT_ADDRESS&gt;\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0631\u062f\u0646 <code>&lt;BSC_CONTRACT_ADDRESS&gt;<\/code> \u0628\u0627 \u0622\u062f\u0631\u0633 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u060c \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc Binance \u0645\u0633\u062a\u0642\u0631 \u0634\u062f\u0647 \u0648 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f <code>&lt;AVALANCHE_CONTRACT_ADDRESS&gt;<\/code> \u0628\u0627 \u0622\u062f\u0631\u0633 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u060c \u0642\u0628\u0644\u0627\u064b \u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u062f\u0631 \u0628\u0647\u0645\u0646 \u0641\u0648\u062c\u06cc \u062a\u0633\u062a \u0646\u062a \u0645\u0633\u062a\u0642\u0631 \u0634\u062f\u0647 \u0627\u06cc\u062f.<\/p>\n<p>\u0633\u067e\u0633\u060c \u0639\u0645\u0644\u06a9\u0631\u062f \u0646\u0648\u0634\u062a\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0642\u0637\u0639\u0647 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0622\u0646 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <code>index.js<\/code> \u0641\u0627\u06cc\u0644 \u0648\u0627\u0642\u0639 \u062f\u0631 <code>pages<\/code> \u0641\u0647\u0631\u0633\u062a \u0631\u0627\u0647\u0646\u0645\u0627.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"c1\">\/\/...<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">BSC_CONTRACT_ADDRESS<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">process<\/span><span class=\"p\">.<\/span><span class=\"nx\">env<\/span><span class=\"p\">.<\/span><span class=\"nx\">NEXT_PUBLIC_BSC_CONTRACT_ADDRESS<\/span><span class=\"p\">;<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">AVALANCHE_CONTRACT_ADDRESS<\/span> <span class=\"o\">=<\/span>\n  <span class=\"nx\">process<\/span><span class=\"p\">.<\/span><span class=\"nx\">env<\/span><span class=\"p\">.<\/span><span class=\"nx\">NEXT_PUBLIC_AVALANCHE_CONTRACT_ADDRESS<\/span><span class=\"p\">;<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">AVALANCHE_RPC_URL<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">process<\/span><span class=\"p\">.<\/span><span class=\"nx\">env<\/span><span class=\"p\">.<\/span><span class=\"nx\">NEXT_PUBLIC_AVALANCHE_RPC_URL<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">export<\/span> <span class=\"k\">default<\/span> <span class=\"kd\">function<\/span> <span class=\"nx\">Home<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n<span class=\"c1\">\/\/...<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"p\">[<\/span><span class=\"nx\">message<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setMessage<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">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\">sourceChain<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setSourceChain<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">useState<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"\"<\/span><span class=\"p\">);<\/span> \n\n<span class=\"kd\">const<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">config<\/span> <span class=\"p\">}<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">usePrepareContractWrite<\/span><span class=\"p\">({<\/span> <span class=\"c1\">\/\/ Calling a hook to prepare the contract write configuration<\/span>\n  <span class=\"na\">address<\/span><span class=\"p\">:<\/span> <span class=\"nx\">BSC_CONTRACT_ADDRESS<\/span><span class=\"p\">,<\/span> <span class=\"c1\">\/\/ Address of the BSC contract<\/span>\n  <span class=\"na\">abi<\/span><span class=\"p\">:<\/span> <span class=\"nx\">SendMessageContract<\/span><span class=\"p\">.<\/span><span class=\"nx\">abi<\/span><span class=\"p\">,<\/span> <span class=\"c1\">\/\/ ABI (Application Binary Interface) of the contract<\/span>\n  <span class=\"na\">functionName<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">sendMessage<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"c1\">\/\/ Name of the function to call on the contract<\/span>\n  <span class=\"na\">args<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Avalanche<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"nx\">AVALANCHE_CONTRACT_ADDRESS<\/span><span class=\"p\">,<\/span> <span class=\"nx\">message<\/span><span class=\"p\">],<\/span> <span class=\"c1\">\/\/ Arguments to pass to the contract function<\/span>\n  <span class=\"na\">value<\/span><span class=\"p\">:<\/span> <span class=\"nx\">ethers<\/span><span class=\"p\">.<\/span><span class=\"nx\">utils<\/span><span class=\"p\">.<\/span><span class=\"nx\">parseEther<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">0.01<\/span><span class=\"dl\">\"<\/span><span class=\"p\">),<\/span> <span class=\"c1\">\/\/ Value to send along with the contract call for gas fee<\/span>\n<span class=\"p\">});<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"p\">{<\/span> <span class=\"na\">data<\/span><span class=\"p\">:<\/span> <span class=\"nx\">useContractWriteData<\/span><span class=\"p\">,<\/span> <span class=\"nx\">write<\/span> <span class=\"p\">}<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">useContractWrite<\/span><span class=\"p\">(<\/span><span class=\"nx\">config<\/span><span class=\"p\">);<\/span> \n\n<span class=\"kd\">const<\/span> <span class=\"p\">{<\/span> <span class=\"na\">data<\/span><span class=\"p\">:<\/span> <span class=\"nx\">useWaitForTransactionData<\/span><span class=\"p\">,<\/span> <span class=\"nx\">isSuccess<\/span> <span class=\"p\">}<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">useWaitForTransaction<\/span><span class=\"p\">({<\/span> \n  <span class=\"na\">hash<\/span><span class=\"p\">:<\/span> <span class=\"nx\">useContractWriteData<\/span><span class=\"p\">?.<\/span><span class=\"nx\">hash<\/span><span class=\"p\">,<\/span> <span class=\"c1\">\/\/ Hash of the transaction obtained from the contract write data<\/span>\n<span class=\"p\">});<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">handleSendMessage<\/span> <span class=\"o\">=<\/span> <span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">write<\/span><span class=\"p\">();<\/span> <span class=\"c1\">\/\/ Initiating the contract call<\/span>\n\n  <span class=\"nx\">toast<\/span><span class=\"p\">.<\/span><span class=\"nx\">info<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Sending message...<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span>\n    <span class=\"na\">position<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">top-right<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">autoClose<\/span><span class=\"p\">:<\/span> <span class=\"mi\">5000<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">hideProgressBar<\/span><span class=\"p\">:<\/span> <span class=\"kc\">false<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">closeOnClick<\/span><span class=\"p\">:<\/span> <span class=\"kc\">true<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">pauseOnHover<\/span><span class=\"p\">:<\/span> <span class=\"kc\">false<\/span><span class=\"p\">,<\/span>\n    <span class=\"na\">draggable<\/span><span class=\"p\">:<\/span> <span class=\"kc\">true<\/span><span class=\"p\">,<\/span>\n  <span class=\"p\">});<\/span>\n<span class=\"p\">};<\/span>\n\n<span class=\"nx\">useEffect<\/span><span class=\"p\">(()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">body<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">document<\/span><span class=\"p\">.<\/span><span class=\"nx\">querySelector<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">body<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n    <span class=\"nx\">darkMode<\/span> <span class=\"p\">?<\/span> <span class=\"nx\">body<\/span><span class=\"p\">.<\/span><span class=\"nx\">classList<\/span><span class=\"p\">.<\/span><span class=\"nx\">add<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">dark<\/span><span class=\"dl\">\"<\/span><span class=\"p\">)<\/span> <span class=\"p\">:<\/span> <span class=\"nx\">body<\/span><span class=\"p\">.<\/span><span class=\"nx\">classList<\/span><span class=\"p\">.<\/span><span class=\"nx\">remove<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">dark<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span>\n\n    <span class=\"nx\">isSuccess<\/span>\n      <span class=\"p\">?<\/span> <span class=\"nx\">toast<\/span><span class=\"p\">.<\/span><span class=\"nx\">success<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Message sent!<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span>\n          <span class=\"na\">position<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">top-right<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n          <span class=\"na\">autoClose<\/span><span class=\"p\">:<\/span> <span class=\"mi\">7000<\/span><span class=\"p\">,<\/span>\n          <span class=\"na\">closeOnClick<\/span><span class=\"p\">:<\/span> <span class=\"kc\">true<\/span><span class=\"p\">,<\/span>\n          <span class=\"na\">pauseOnHover<\/span><span class=\"p\">:<\/span> <span class=\"kc\">false<\/span><span class=\"p\">,<\/span>\n          <span class=\"na\">draggable<\/span><span class=\"p\">:<\/span> <span class=\"kc\">true<\/span><span class=\"p\">,<\/span>\n        <span class=\"p\">})<\/span>\n      <span class=\"p\">:<\/span> <span class=\"nx\">useWaitForTransactionData<\/span><span class=\"p\">?.<\/span><span class=\"nx\">error<\/span> <span class=\"o\">||<\/span> <span class=\"nx\">useContractWriteData<\/span><span class=\"p\">?.<\/span><span class=\"nx\">error<\/span>\n      <span class=\"p\">?<\/span> <span class=\"nx\">toast<\/span><span class=\"p\">.<\/span><span class=\"nx\">error<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Error sending message<\/span><span class=\"dl\">\"<\/span><span class=\"p\">)<\/span>\n      <span class=\"p\">:<\/span> <span class=\"kc\">null<\/span><span class=\"p\">;<\/span>\n  <span class=\"p\">},<\/span> <span class=\"p\">[<\/span><span class=\"nx\">darkMode<\/span><span class=\"p\">,<\/span> <span class=\"nx\">useContractWriteData<\/span><span class=\"p\">,<\/span> <span class=\"nx\">useWaitForTransactionData<\/span><span class=\"p\">]);<\/span>\n\n<span class=\"k\">return<\/span> <span class=\"p\">(<\/span>\n    <span class=\"c1\">\/\/..<\/span>\n   <span class=\"p\">)<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0642\u0637\u0639\u0647 \u06a9\u062f \u0628\u0627\u0644\u0627:<\/p>\n<ol>\n<li>\n<p>\u062f\u0648 \u0645\u062a\u063a\u06cc\u0631 \u062d\u0627\u0644\u062a\u060c <code>message<\/code> \u0648 <code>sourceChain<\/code>\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>useState<\/code> \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0645\u062d\u062a\u0648\u0627\u06cc \u067e\u06cc\u0627\u0645 \u0648 \u0632\u0646\u062c\u06cc\u0631\u0647 \u0645\u0646\u0628\u0639 \u0631\u0627 \u0642\u0644\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/li>\n<li>\n<p>\u0631\u0627 <code>usePrepareContractWrite<\/code> \u0647\u0648\u06a9 \u0628\u0631\u0627\u06cc \u0622\u0645\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a \u0646\u0648\u0634\u062a\u0646 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u0634\u0648\u062f.  \u0686\u0646\u062f\u06cc\u0646 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u0645\u0627\u0646\u0646\u062f \u0622\u062f\u0631\u0633 \u0642\u0631\u0627\u0631\u062f\u0627\u062f BSC\u060c ABI\u060c \u0646\u0627\u0645 \u062a\u0627\u0628\u0639\u060c \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0647\u0627 \u0648 \u0645\u0642\u062f\u0627\u0631 \u0631\u0627 \u0645\u06cc \u0637\u0644\u0628\u062f.<\/p>\n<\/li>\n<li>\n<p><code>useContractWrite<\/code>  hook \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0646\u0648\u0634\u062a\u0646 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0648 \u062a\u0627\u0628\u0639 \u0646\u0648\u0634\u062a\u0646 \u0631\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0647 \u062f\u0633\u062a \u0622\u0645\u062f\u0647 \u0627\u0632 \u0645\u0631\u062d\u0644\u0647 \u0642\u0628\u0644 \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<\/li>\n<li>\n<p><code>useWaitForTransaction<\/code>  \u0647\u0648\u06a9 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u0634\u0648\u062f \u062a\u0627 \u0645\u0646\u062a\u0638\u0631 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u062a\u0631\u0627\u06a9\u0646\u0634 \u0628\u0627\u0634\u062f.  \u0647\u0634 \u062a\u0631\u0627\u06a9\u0646\u0634 \u0628\u0647 \u062f\u0633\u062a \u0622\u0645\u062f\u0647 \u0627\u0632 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0646\u0648\u0634\u062a\u0646 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0631\u0627 \u0645\u06cc \u06af\u06cc\u0631\u062f.<\/p>\n<\/li>\n<li>\n<p><code>handleSendMessage<\/code>  \u062a\u0627\u0628\u0639 \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0631\u0627 \u0628\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0622\u063a\u0627\u0632 \u0645\u06cc \u06a9\u0646\u062f <code>write<\/code> \u062a\u0627\u0628\u0639.<\/p>\n<\/li>\n<li>\n<p><code>useEffect<\/code>  \u0647\u0648\u06a9 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u062e\u0627\u0635\u06cc \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u0627\u0639\u0644\u0627\u0646\u200c\u0647\u0627\u06cc \u0646\u0627\u0646 \u062a\u0633\u062a \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u0645\u0648\u0641\u0642\u06cc\u062a\u200c\u0622\u0645\u06cc\u0632 \u06cc\u0627 \u0646\u0627\u0645\u0648\u0641\u0642 \u067e\u06cc\u0627\u0645 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0627\u0642\u062f\u0627\u0645\u0627\u062a\u06cc \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n<\/li>\n<\/ol>\n<p>\u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f <code>Send<\/code> \u062f\u06a9\u0645\u0647 \u0648 <code>textarea<\/code> \u0628\u0627 \u0642\u0637\u0639\u0647 \u06a9\u062f \u0632\u06cc\u0631 \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u067e\u06cc\u0627\u0645 \u0648 \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0627\u0631\u0633\u0627\u0644\u06cc.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight apache\"><code><span class=\"err\">\/\/...<\/span>\n\nreturn (\n    <span class=\"err\">\/\/...<\/span>\n    <span class=\"p\">&lt;<\/span>div<span class=\"sr\"> className=\"border border-gray-300 rounded-lg p-8 m-2 \"<\/span><span class=\"p\">&gt;\n<\/span>        <span class=\"p\">&lt;<\/span>h2<span class=\"sr\"> className=\"text-2xl font-bold mb-4\"<\/span><span class=\"p\">&gt;<\/span>Send Message \ud83d\udcd3 &lt;\/h2&gt;\n        <span class=\"p\">&lt;<\/span>textarea<span class=\"sr\">\n            \/\/...\n            onChange={(e) =<\/span><span class=\"p\">&gt;<\/span> setMessage(e.target.value)}\n        <span class=\"err\">\/&gt;<\/span>\n        <span class=\"p\">&lt;<\/span>button<span class=\"sr\">\n            \/\/...\n            onClick={() =<\/span><span class=\"p\">&gt;<\/span> handleSendMessage()}\n         <span class=\"err\">&gt;<\/span>\n            Send\n        <span class=\"p\">&lt;\/<\/span>button<span class=\"p\">&gt;\n<\/span>     <span class=\"p\">&lt;\/<\/span>div<span class=\"p\">&gt;\n<\/span>    <span class=\"err\">\/\/...<\/span>\n  <span class=\"err\">);<\/span>\n<span class=\"err\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF_%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF_%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF_%D8%AE%D9%88%D8%A7%D9%86%D8%AF%D9%86\"><\/span>\n<p>  \u0627\u062c\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u062e\u0648\u0627\u0646\u062f\u0646<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0642\u0628\u0644\u060c \u0642\u0627\u0628\u0644\u06cc\u062a \u0646\u0648\u0634\u062a\u0646 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0631\u0627 \u0627\u0632 \u0642\u0633\u0645\u062a \u062c\u0644\u0648 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u06cc\u062f.  \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0628\u0647 \u0634\u0645\u0627 \u0622\u0645\u0648\u0632\u0634 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u062e\u0648\u0627\u0646\u062f\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0627\u0632 \u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0631\u0627 \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f <code>index.js<\/code> \u0628\u0627 \u0642\u0637\u0639\u0647 \u06a9\u062f \u0632\u06cc\u0631:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"c1\">\/\/...<\/span>\n\n<span class=\"k\">export<\/span> <span class=\"k\">default<\/span> <span class=\"kd\">function<\/span> <span class=\"nx\">Home<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n  <span class=\"c1\">\/\/...<\/span>\n\n  <span class=\"kd\">const<\/span> <span class=\"p\">[<\/span><span class=\"nx\">value<\/span><span class=\"p\">,<\/span> <span class=\"nx\">setValue<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">useState<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"\"<\/span><span class=\"p\">);<\/span>\n\n  <span class=\"kd\">const<\/span> <span class=\"nx\">provider<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">ethers<\/span><span class=\"p\">.<\/span><span class=\"nx\">providers<\/span><span class=\"p\">.<\/span><span class=\"nx\">JsonRpcProvider<\/span><span class=\"p\">(<\/span><span class=\"nx\">AVALANCHE_RPC_URL<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ Create an instance of JsonRpcProvider with Avalanche RPC URL<\/span>\n\n  <span class=\"kd\">const<\/span> <span class=\"nx\">contract<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">ethers<\/span><span class=\"p\">.<\/span><span class=\"nx\">Contract<\/span><span class=\"p\">(<\/span>\n    <span class=\"nx\">AVALANCHE_CONTRACT_ADDRESS<\/span><span class=\"p\">,<\/span> \n    <span class=\"nx\">SendMessageContract<\/span><span class=\"p\">.<\/span><span class=\"nx\">abi<\/span><span class=\"p\">,<\/span>\n\n    <span class=\"nx\">provider<\/span>\n  <span class=\"p\">);<\/span>\n\n  <span class=\"k\">async<\/span> <span class=\"kd\">function<\/span> <span class=\"nx\">readDestinationChainVariables<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">try<\/span> <span class=\"p\">{<\/span>\n      <span class=\"kd\">const<\/span> <span class=\"nx\">value<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">contract<\/span><span class=\"p\">.<\/span><span class=\"nx\">value<\/span><span class=\"p\">();<\/span> \n      <span class=\"kd\">const<\/span> <span class=\"nx\">sourceChain<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">contract<\/span><span class=\"p\">.<\/span><span class=\"nx\">sourceChain<\/span><span class=\"p\">();<\/span>\n\n      <span class=\"nx\">setValue<\/span><span class=\"p\">(<\/span><span class=\"nx\">value<\/span><span class=\"p\">.<\/span><span class=\"nx\">toString<\/span><span class=\"p\">());<\/span> <span class=\"c1\">\/\/ Convert the value to a string and store it<\/span>\n      <span class=\"nx\">setSourceChain<\/span><span class=\"p\">(<\/span><span class=\"nx\">sourceChain<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ Store the source chain<\/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=\"nx\">toast<\/span><span class=\"p\">.<\/span><span class=\"nx\">error<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">Error reading message<\/span><span class=\"dl\">\"<\/span><span class=\"p\">);<\/span> <span class=\"c1\">\/\/ Display an error toast if reading fails<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">}<\/span>\n\n  <span class=\"nx\">useEffect<\/span><span class=\"p\">(()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">readDestinationChainVariables<\/span><span class=\"p\">();<\/span> <span class=\"c1\">\/\/ Call the function to read destination chain variables<\/span>\n\n    <span class=\"c1\">\/\/...<\/span>\n  <span class=\"p\">},<\/span> <span class=\"p\">[<\/span><span class=\"nx\">darkMode<\/span><span class=\"p\">,<\/span> <span class=\"nx\">useContractWriteData<\/span><span class=\"p\">,<\/span> <span class=\"nx\">useWaitForTransactionData<\/span><span class=\"p\">]);<\/span>\n\n  <span class=\"k\">return<\/span> <span class=\"p\">(<\/span>\n    <span class=\"c1\">\/\/...<\/span>\n\n        <span class=\"p\">{<\/span><span class=\"nx\">value<\/span> <span class=\"p\">?<\/span> <span class=\"p\">(<\/span> <span class=\"c1\">\/\/ Add value here<\/span>\n              <span class=\"o\">&lt;&gt;<\/span>\n                <span class=\"c1\">\/\/...<\/span>\n              <span class=\"o\">&lt;<\/span><span class=\"sr\">\/<\/span><span class=\"err\">&gt;\n<\/span>            <span class=\"p\">)<\/span> <span class=\"p\">:<\/span> <span class=\"p\">(<\/span>\n              <span class=\"o\">&lt;<\/span><span class=\"nx\">span<\/span> <span class=\"nx\">className<\/span><span class=\"o\">=<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">text-red-500 <\/span><span class=\"dl\">\"<\/span><span class=\"o\">&gt;<\/span><span class=\"nx\">waiting<\/span> <span class=\"k\">for<\/span> <span class=\"nx\">response<\/span><span class=\"p\">...<\/span><span class=\"o\">&lt;<\/span><span class=\"sr\">\/span<\/span><span class=\"err\">&gt;\n<\/span>         <span class=\"p\">)}<\/span>\n  <span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u06a9\u062f \u0628\u0627\u0644\u0627\u060c<\/p>\n<ol>\n<li>\n<p>\u0646\u0645\u0648\u0646\u0647 \u0627\u06cc \u0627\u0632 <code>JsonRpcProvider<\/code> \u06a9\u0644\u0627\u0633 \u0627\u0632 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 ethers.js \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 URL RPC Avalanche (<code>AVALANCHE_RPC_URL<\/code>) \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u067e\u0627\u0631\u0627\u0645\u062a\u0631.<\/p>\n<\/li>\n<li>\n<p>\u0646\u0645\u0648\u0646\u0647 \u0627\u06cc \u0627\u0632 <code>Contract<\/code> \u06a9\u0644\u0627\u0633 \u0627\u0632 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 ethers.js \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u0646\u0634\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u062f\u0631 \u0634\u0628\u06a9\u0647 Avalanche \u0627\u0633\u062a.  \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u0622\u062f\u0631\u0633 \u0642\u0631\u0627\u0631\u062f\u0627\u062f (<code>AVALANCHE_CONTRACT_ADDRESS<\/code>), ABI (<code>SendMessageContract.abi<\/code>) \u0648 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0646\u062f\u0647.<\/p>\n<\/li>\n<li>\n<p>\u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0628\u0647 \u0646\u0627\u0645 <code>readDestinationChainVariables<\/code> \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a.  \u0633\u0639\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0632\u0646\u062c\u06cc\u0631\u0647 \u0627\u0631\u0632\u0634 \u0648 \u0645\u0646\u0628\u0639 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0628\u062e\u0648\u0627\u0646\u062f <code>value()<\/code> \u0648 <code>sourceChain()<\/code> \u062a\u0648\u0627\u0628\u0639\u060c \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628.<\/p>\n<\/li>\n<li>\n<p>\u0627\u06af\u0631 \u062f\u0631 \u062d\u06cc\u0646 \u062e\u0648\u0627\u0646\u062f\u0646 \u062e\u0637\u0627\u06cc\u06cc \u0631\u062e \u062f\u0647\u062f\u060c \u06cc\u06a9 \u0627\u0639\u0644\u0627\u0646 \u0646\u0627\u0646 \u062a\u0633\u062a \u0628\u0627 \u067e\u06cc\u0627\u0645 &#8220;\u062e\u0637\u0627 \u062f\u0631 \u062e\u0648\u0627\u0646\u062f\u0646 \u067e\u06cc\u0627\u0645&#8221; \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<\/li>\n<li>\n<p>\u0631\u0627 <code>useEffect<\/code> \u0642\u0644\u0627\u0628 \u062a\u0645\u0627\u0633 \u0645\u06cc \u06af\u06cc\u0631\u062f <code>readDestinationChainVariables<\/code> \u0639\u0645\u0644\u06a9\u0631\u062f \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u062e\u0627\u0635\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<\/li>\n<\/ol>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B1_%D8%AD%D8%A7%D9%84_%D8%A7%D9%85%D8%AA%D8%AD%D8%A7%D9%86_%DA%A9%D8%B1%D8%AF%D9%86_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87\"><\/span>\n<p>  \u062f\u0631 \u062d\u0627\u0644 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0631\u062f\u0646 \u0628\u0631\u0646\u0627\u0645\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0647\u0648\u0631\u0627\u06cc \ud83e\udd73\u060c \u0634\u0645\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u063a\u06cc\u0631\u0645\u062a\u0645\u0631\u06a9\u0632 \u0632\u0646\u062c\u06cc\u0631\u0647 \u0627\u06cc \u0641\u0648\u0644 \u0627\u0633\u062a\u06a9 \u0633\u0627\u062e\u062a\u0647 \u0648 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1688659047_543_\u0628\u0627-Nextjs\u060c-Solidity-\u0648-Axelar-\u06cc\u06a9-\u0628\u0631\u0646\u0627\u0645\u0647-Interchain-Full-Stack.png\" alt=\"\u0628\u0627 Next.js\u060c Solidity \u0648 Axelar \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Interchain Full Stack \u0628\u0633\u0627\u0632\u06cc\u062f\" loading=\"lazy\" width=\"800\" height=\"452\" title=\"\"><\/p>\n<p>\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062a\u0631\u0627\u06a9\u0646\u0634 GMP \u0631\u0627 \u062f\u0631 Axelarscan Testnet \u0627\u06cc\u0646\u062c\u0627 \u0648 \u06a9\u062f \u06a9\u0627\u0645\u0644 \u0627\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u062f\u0631 GitHub \u0628\u06cc\u0627\u0628\u06cc\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A8%D8%B9%D8%AF%D8%B4_%DA%86%DB%8C%D8%9F\"><\/span>\n<p>  \u0628\u0639\u062f\u0634 \u0686\u06cc\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06cc\u0646 \u067e\u0633\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u067e\u06cc\u0627\u0645 \u0639\u0645\u0648\u0645\u06cc Axelar \u0631\u0627 \u067e\u0648\u0634\u0634 \u0645\u06cc \u062f\u0647\u062f <code>callContract<\/code>\u060c \u0627\u0645\u0627 \u0627\u06cc\u0646 \u062a\u0645\u0627\u0645 \u06a9\u0627\u0631\u06cc \u0646\u06cc\u0633\u062a \u06a9\u0647 Passage General \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u062f.<\/p>\n<p>\u0634\u0645\u0627 \u0647\u0645\u06cc\u0634\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0633\u0627\u06cc\u0631 \u0639\u0645\u0644\u06a9\u0631\u062f\u0647\u0627\u06cc \u0645\u0627\u0646\u0646\u062f <code>callContractWithToken<\/code>\u060c <code>SendToken<\/code>\u060c <code>Deposit addresses<\/code>\u060c <code>NFT Linker<\/code>\u060c <code>JavaScript SDK<\/code>\u060c \u0648 \u063a\u06cc\u0631\u0647.<\/p>\n<p>\u0627\u06af\u0631 \u062a\u0627 \u0627\u06cc\u0646\u062c\u0627 \u067e\u06cc\u0634 \u0631\u0641\u062a\u0647 \u0627\u06cc\u062f\u060c \u0641\u0648\u0642 \u0627\u0644\u0639\u0627\u062f\u0647 \u0647\u0633\u062a\u06cc\u062f!  \u0634\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u0645\u0648\u0631\u062f \u0633\u0627\u062e\u062a\u0646 \u06cc\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0631\u062f\u0646 \u062a\u062c\u0631\u0628\u0647 \u062e\u0648\u062f \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u062a\u0648\u06cc\u06cc\u062a \u06a9\u0646\u06cc\u062f \u062a\u0627 \u062d\u0645\u0627\u06cc\u062a \u062e\u0648\u062f \u0631\u0627 \u0627\u0632 \u0646\u0648\u06cc\u0633\u0646\u062f\u0647 \u0648 \u062a\u06af \u06a9\u0646\u06cc\u062f <a href=\"https:\/\/twitter.com\/axelarcore\" rel=\"nofollow noopener\" target=\"_blank\">@axelarcore<\/a>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%D8%AA%DB%8C%D8%AC%D9%87\"><\/span>\n<p>  \u0646\u062a\u06cc\u062c\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0628\u0647 \u0634\u0645\u0627 \u0622\u0645\u0648\u0632\u0634 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Next.js\u060c Solidity \u0648 Axelar&#8217;s General Message Passing \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u063a\u06cc\u0631\u0645\u062a\u0645\u0631\u06a9\u0632 \u0632\u0646\u062c\u06cc\u0631\u0647 \u0627\u06cc \u06a9\u0627\u0645\u0644 \u0628\u0633\u0627\u0632\u06cc\u062f.  \u0634\u0645\u0627 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u06cc\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc\u06cc \u0631\u0627 \u0627\u0632 \u0628\u0627\u06cc\u0646\u0646\u0633 \u0628\u0647 \u0634\u0628\u06a9\u0647\u200c\u0647\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc Avalanche \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 Frontend Next.js \u0628\u0627 \u0622\u0646\u0647\u0627 \u062a\u0639\u0627\u0645\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B1%D8%AC%D8%A7%D8%B9\"><\/span>\n<p>  \u0627\u0631\u062c\u0627\u0639<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<\/p><\/div>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u06a9\u0648\u0633\u06cc\u0633\u062a\u0645 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u0627\u0645\u0631\u0648\u0632\u06cc \u0628\u0627 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u06a9\u0647 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u062a\u0642\u0644 \u0641\u0639\u0627\u0644\u06cc\u062a \u0645\u06cc \u06a9\u0646\u0646\u062f\u060c \u0645\u0634\u062e\u0635 \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u0647\u0631 \u06a9\u062f\u0627\u0645 \u062f\u0627\u0631\u0627\u06cc \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627 \u0648 \u0639\u0645\u0644\u06a9\u0631\u062f\u0647\u0627\u06cc \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f\u06cc \u0647\u0633\u062a\u0646\u062f. \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0627\u06cc\u0646 \u067e\u0631\u0627\u06a9\u0646\u062f\u06af\u06cc \u0686\u0627\u0644\u0634 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u062f\u0631 \u0631\u0627\u0628\u0637\u0647 \u0628\u0627 \u0627\u0631\u062a\u0628\u0627\u0637 \u0648 \u0647\u0645\u06a9\u0627\u0631\u06cc \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0628\u06cc\u0646 \u0627\u06cc\u0646 \u0634\u0628\u06a9\u0647 \u0647\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f. &hellip;<\/p>\n","protected":false},"author":2,"featured_media":29489,"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-29487","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\/29487","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=29487"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/29487\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/29489"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=29487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=29487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=29487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}