{"id":974,"date":"2025-08-27T12:47:16","date_gmt":"2025-08-27T12:47:16","guid":{"rendered":"https:\/\/swapauditor.com\/ru\/?p=974"},"modified":"2025-08-27T13:53:22","modified_gmt":"2025-08-27T13:53:22","slug":"foundry-smart-contract","status":"publish","type":"post","link":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/","title":{"rendered":"\u041a\u0430\u043a \u0437\u0430 \u0432\u0435\u0447\u0435\u0440 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0441 Foundry"},"content":{"rendered":"\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\n<p class=\"has-text-align-right has-small-font-size\">\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e:<\/p>\n\n\n<div class=\"has-text-align-right wp-block-post-date\"><time datetime=\"2025-08-27T12:47:16+00:00\">27 \u0430\u0432\u0433\u0443\u0441\u0442\u0430, 2025<\/time><\/div>\n\n\n<p class=\"has-small-font-size\">\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043e:<\/p>\n\n\n<\/div>\n\n\n\n<p class=\"has-medium-font-size\">\u0412\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u0445 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0432\u0435\u0449\u0435\u0439 \u2014 \u0447\u0435\u0442\u043a\u0438\u0445 \u043f\u0440\u0430\u0432\u0438\u043b, \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0441\u0442\u0438 \u0438 \u0434\u043e\u0432\u0435\u0440\u0438\u044f. \u0421\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u0440\u0435\u0448\u0430\u044e\u0442 \u044d\u0442\u043e \u043a\u043e\u0434\u043e\u043c. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b, \u0438 \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b.<\/p>\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_74 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435:<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i\" >\u0420\u0430\u0431\u043e\u0447\u0430\u044f \u0441\u0440\u0435\u0434\u0430 Foundry: \u043e\u0442 \u043d\u0443\u043b\u044f \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0430<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-2\" >\u041a\u0430\u043a\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 Foundry:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-3\" >\u0418\u0437 \u0447\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 Foundry?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-4\" >\u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441 Foundry<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-5\" >\u041c\u0438\u043d\u0438-\u0441\u043b\u043e\u0432\u0430\u0440\u044c<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-6\" >\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 Foundry<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-7\" >\u041f\u043e\u0448\u0430\u0433\u043e\u0432\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Foundry<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-8\" >\u041a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u0447\u0435\u043a-\u043b\u0438\u0441\u0442 \u0443\u0441\u043f\u0435\u0445\u0430<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-9\" >\u0427\u0430\u0441\u0442\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0444\u0438\u043a\u0441\u044b<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<p class=\"has-medium-font-size\">\u0421\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u2014 \u044d\u0442\u043e \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0436\u0438\u0432\u0435\u0442 \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u0430: \u043a\u0442\u043e \u0438 \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u0438 \u043d\u0430 \u043a\u0430\u043a\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445. \u0421\u0438\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u044d\u0442\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u2014 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c (\u043a\u043e\u0434 \u0432\u0438\u0434\u043d\u043e), \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0441\u0442\u044c (\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u0434\u043b\u044f \u0432\u0441\u0435\u0445) \u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u00ab\u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0444\u0430\u043a\u0442\u043e\u0440\u0430\u00bb \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u041d\u0430 \u044d\u0442\u043e\u043c \u0441\u0442\u0440\u043e\u044f\u0442 \u0442\u043e\u043a\u0435\u043d\u044b, \u043f\u043b\u0430\u0442\u0435\u0436\u043d\u044b\u0435 \u0441\u0445\u0435\u043c\u044b, \u0438\u0433\u0440\u044b \u0441 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u0430\u043c\u0438, DAO, \u0430\u0443\u043a\u0446\u0438\u043e\u043d\u044b \u2014 \u0432\u0441\u0435, \u0433\u0434\u0435 \u0432\u0430\u0436\u043d\u043e \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c, \u0430 \u043d\u0435 \u043b\u044e\u0434\u044f\u043c.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0438\u0445 \u0438\u043b\u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0434\u0435\u0438, \u043d\u0430\u0447\u043d\u0435\u043c \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0432\u0435\u0441\u044c \u0446\u0438\u043a\u043b \u00ab\u0438\u0434\u0435\u044f \u2192 \u043a\u043e\u0434 \u2192 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u2192 \u0437\u0430\u043f\u0443\u0441\u043a \u0432 \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0435\u00bb \u0431\u0435\u0437 \u043b\u0438\u0448\u043d\u0435\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u0440\u0438\u0441\u043a\u043e\u0432. \u0412 \u043d\u0435\u0433\u043e \u0432\u0445\u043e\u0434\u044f\u0442:<\/p>\n\n\n\n<ul class=\"wp-block-list has-medium-font-size\">\n<li>\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u043e\u0434\u0430 (VS Code \/ VSCodium) + \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 Solidity (Nomic Foundation);<\/li>\n\n\n\n<li>\u0443\u0434\u043e\u0431\u043d\u0430\u044f \u0441\u0440\u0435\u0434\u0430 (Linux\/macOS \u0438\u043b\u0438 Windows \u0441 WSL);<\/li>\n\n\n\n<li>\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Foundry;<\/li>\n\n\n\n<li>\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u0435\u0441\u0442\u044b.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">\u0421 \u044d\u0442\u043e\u0439 \u0441\u0432\u044f\u0437\u043a\u043e\u0439 \u0432\u044b \u0437\u0430 \u0432\u0435\u0447\u0435\u0440 \u0441\u043c\u043e\u0436\u0435\u0442\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list has-medium-font-size\">\n<li>\u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c \u0438\u043b\u0438 \u0444\u043e\u0440\u043a \u043c\u0435\u0439\u043d\u043d\u0435\u0442\u0430;<\/li>\n\n\n\n<li>\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u044e\u043d\u0438\u0442- \u0438 fuzz-\u0442\u0435\u0441\u0442\u044b;<\/li>\n\n\n\n<li>\u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b (\u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 Foundry \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043f\u0440\u0438 \u043b\u044e\u0431\u044b\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044f\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439);<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">\u0418 \u0432\u0441\u0435 \u044d\u0442\u043e \u0432\u044b \u0441\u0434\u0435\u043b\u0430\u0435\u0442\u0435 \u0431\u0435\u0437 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0435\u043d\u0435\u0433 \u0438 \u0440\u0438\u0441\u043a\u0430 \u0447\u0442\u043e-\u043b\u0438\u0431\u043e \u0441\u043b\u043e\u043c\u0430\u0442\u044c.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u0422\u0430\u043a\u043e\u0439 \u0441\u0442\u0430\u0440\u0442 \u0443\u0436\u0435 \u0434\u0430\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043f\u043e\u043b\u044c\u0437\u0443: \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f \u0442\u043e\u043a\u0435\u043d\u0430 \u0438\u043b\u0438 \u0430\u0443\u043a\u0446\u0438\u043e\u043d\u0430, \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0431\u0430\u0433-\u0440\u0435\u043f\u043e\u0440\u0442, \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0438 \u0438, \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u0441 \u0442\u0435\u0445\u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"i\"><\/span>\u0420\u0430\u0431\u043e\u0447\u0430\u044f \u0441\u0440\u0435\u0434\u0430 Foundry: \u043e\u0442 \u043d\u0443\u043b\u044f \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0430<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"has-medium-font-size\">\u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0448\u0430\u0433-\u0437\u0430-\u0448\u0430\u0433\u043e\u043c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0447\u0435\u0440\u0435\u0437 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Foundry: \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442, \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0442\u0435\u0441\u0442\u044b \u0438, \u043f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438, \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u043c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c\/\u0444\u043e\u0440\u043a \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u041c\u044b \u0431\u0435\u0440\u0435\u043c Foundry \u043a\u0430\u043a \u0431\u0430\u0437\u043e\u0432\u0443\u044e \u0441\u0440\u0435\u0434\u0443, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e \u0441\u0430\u043c\u044b\u0439 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u043f\u0443\u0442\u044c \u043e\u0442 \u0438\u0434\u0435\u0438 \u0434\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430: \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0430 \u0438 \u0442\u0435\u0441\u0442\u044b, \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 fuzz \u0438 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b, \u0433\u0430\u0437-\u0440\u0435\u043f\u043e\u0440\u0442 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0434\u0435\u043f\u043b\u043e\u0439-\u0441\u043a\u0440\u0438\u043f\u0442\u044b \u2014 \u0432\u0441\u0435 \u0431\u0435\u0437 \u043b\u0438\u0448\u043d\u0438\u0445 Node\/Python-\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u041d\u0438\u0436\u0435 \u2014 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0432\u044b\u0431\u043e\u0440\u0430.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d9843c4&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/0-table-foundry-others-1024x576.webp\" alt=\"\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 Foundry \u0441 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430\u043c\u0438\" class=\"wp-image-982\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/0-table-foundry-others-1024x576.webp 1024w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/0-table-foundry-others-300x169.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/0-table-foundry-others-768x432.webp 768w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/0-table-foundry-others.webp 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><span class=\"ez-toc-section\" id=\"i-2\"><\/span>\u041a\u0430\u043a\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 Foundry:<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list has-medium-font-size\">\n<li><strong>\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0446\u0438\u043a\u043b \u00ab\u043d\u0430\u043f\u0438\u0441\u0430\u043b \u2192 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b\u00bb.<\/strong> \u0421\u0431\u043e\u0440\u043a\u0430 \u0438 \u0442\u0435\u0441\u0442\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u2014 \u0441\u0440\u0430\u0437\u0443 \u0432\u0438\u0434\u043d\u043e \u00ab\u0437\u0435\u043b\u0435\u043d\u044b\u0439\/\u043a\u0440\u0430\u0441\u043d\u044b\u0439\u00bb.<\/li>\n\n\n\n<li><strong>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u00ab\u043f\u043e \u043a\u0440\u0430\u044f\u043c\u00bb.<\/strong> \u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 fuzz \u0433\u043e\u043d\u044f\u0435\u0442 \u0432\u0430\u0448\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430 \u0441\u043e\u0442\u043d\u044f\u0445 \u0432\u0445\u043e\u0434\u043e\u0432, \u0430 <strong>\u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b<\/strong> \u0441\u043b\u0435\u0434\u044f\u0442 \u0437\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u0438 \u0434\u043b\u0438\u043d\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445.<\/li>\n\n\n\n<li><strong>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b.<\/strong> \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0435\u0442\u044c (Anvil) \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u0435\u0442 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d \u0443 \u0432\u0430\u0441 \u00ab\u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439\u00bb, \u0430 \u0444\u043e\u0440\u043a \u0441\u0435\u0442\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435, \u043a\u0430\u043a \u0432 \u0436\u0438\u0432\u043e\u0439, \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435, \u0431\u0435\u0437 \u0440\u0438\u0441\u043a\u0430.<\/li>\n\n\n\n<li><strong>\u0418\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u0438.<\/strong> \u0413\u0430\u0437-\u0440\u0435\u043f\u043e\u0440\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u00ab\u0434\u043e\u0440\u043e\u0433\u0438\u0435\u00bb \u0438 \u0433\u0434\u0435 \u0432\u044b \u0442\u0435\u0440\u044f\u0435\u0442\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c.<\/li>\n\n\n\n<li><strong>\u0414\u0435\u043f\u043b\u043e\u0439 \u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b.<\/strong> \u041f\u0440\u043e\u0441\u0442\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u0432 \u2014 \u0431\u0435\u0437 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"i-3\"><\/span>\u0418\u0437 \u0447\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 Foundry?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"has-medium-font-size\">\u0421\u0442\u0435\u043a \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f 4 \u0443\u0442\u0438\u043b\u0438\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u0435\u0433\u043a\u043e \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c:<\/p>\n\n\n\n<ul class=\"wp-block-list has-medium-font-size\">\n<li><strong>forge<\/strong> \u2014 \u0441\u0431\u043e\u0440\u043a\u0430, \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0434\u0435\u043f\u043b\u043e\u0439. \u00ab\u0420\u0430\u0431\u043e\u0447\u0430\u044f \u043b\u043e\u0448\u0430\u0434\u043a\u0430\u00bb \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430;<\/li>\n\n\n\n<li><strong>anvil<\/strong> \u2014 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0437\u0435\u043b \u0438 \u0444\u043e\u0440\u043a\u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 (Mainnet\/Sepolia \u0438 \u0442. \u0434.);<\/li>\n\n\n\n<li><strong>cast<\/strong> \u2014 \u0443\u0434\u043e\u0431\u043d\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b \u043a \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430\u043c \u0438 RPC (\u0447\u0442\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438);<\/li>\n\n\n\n<li><strong>chisel<\/strong> \u2014 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u00ab\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0430\u00bb \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043a\u0443\u0441\u043e\u0447\u043a\u043e\u0432 Solidity.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"i-4\"><\/span>\u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441 Foundry<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u0421\u043e\u0437\u0434\u0430\u0435\u0442\u0435 \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u043f\u0438\u0448\u0435\u0442\u0435 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">\u041f\u0438\u0448\u0435\u0442\u0435 \u0442\u0435\u0441\u0442\u044b: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0431\u044b\u0447\u043d\u044b\u0435, \u0437\u0430\u0442\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0435 fuzz \u0438, \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c (\u0438\u043b\u0438 \u0444\u043e\u0440\u043a) \u0438 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u00ab\u043a\u0430\u043a \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438\u00bb.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">\u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043e\u0442\u0447\u0435\u0442 \u043f\u043e \u0433\u0430\u0437\u0443, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0435 \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u0435\u0442\u0435 (\u0434\u0435\u043f\u043b\u043e\u0438\u0442\u0435) \u0442\u0443\u0434\u0430, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u043e: \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u0432 \u0442\u0435\u0441\u0442\u043d\u0435\u0442 \u0438\u043b\u0438 \u043f\u0440\u043e\u0434.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-medium-font-size\">\u041f\u043e\u0440\u043e\u0433 \u0432\u0445\u043e\u0434\u0430 \u2014 \u043d\u0438\u0437\u043a\u0438\u0439. \u041d\u0430\u0447\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e <strong>\u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0430 \u0441\u0432\u043e\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440<\/strong> \u2014 \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435, \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, GitHub Codespaces). \u0422\u0430\u043c \u0436\u0435 \u0432\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 forge test, \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u0442\u0435 anvil, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 cast call\/send. \u041a\u043e\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u043e\u0431\u043d\u043e \u2014 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u0442\u0435 \u0442\u043e\u0442 \u0436\u0435 \u043f\u0440\u043e\u0435\u043a\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><span class=\"ez-toc-section\" id=\"i-5\"><\/span>\u041c\u0438\u043d\u0438-\u0441\u043b\u043e\u0432\u0430\u0440\u044c<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list has-medium-font-size\">\n<li><strong>Fuzz-\u0442\u0435\u0441\u0442<\/strong> \u2014 \u0442\u0435\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0432\u0445\u043e\u0434\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0439\u043c\u0430\u0442\u044c \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u0443\u0447\u0430\u0438.<\/li>\n\n\n\n<li><strong>\u0418\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442<\/strong> \u2014 \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u043e\u043b\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u043b\u044e\u0431\u044b\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044f\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: \u00ab\u0431\u0430\u043b\u0430\u043d\u0441 \u043d\u0435 \u0443\u0445\u043e\u0434\u0438\u0442 \u0432 \u043c\u0438\u043d\u0443\u0441\u00bb, \u00ab\u043b\u0438\u043c\u0438\u0442 \u043d\u0435 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442\u0441\u044f\u00bb).<\/li>\n\n\n\n<li><strong>\u0424\u043e\u0440\u043a \u0441\u0435\u0442\u0438<\/strong> \u2014 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u00ab\u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0431\u043b\u043e\u043a\u0435\u00bb, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c \u00ab\u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435\u00bb \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u0417\u0430\u0447\u0435\u043c \u0432\u0430\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list has-medium-font-size\">\n<li><strong>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435:<\/strong> \u0431\u044b\u0441\u0442\u0440\u043e\u0435 \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0431\u0435\u0437 \u00ab\u0431\u043e\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438\u00bb, \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0441\u0447\u0435\u0442 \u0442\u0435\u0441\u0442\u043e\u0432 \u0438 fuzz.<\/li>\n\n\n\n<li><strong>\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438:<\/strong> \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0431\u0430\u0433-\u0440\u0435\u043f\u043e\u0440\u0442\u043e\u0432 \u043d\u0430 \u0444\u043e\u0440\u043a\u0435, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b.<\/li>\n\n\n\n<li><strong>\u041f\u0440\u043e\u0434\u0430\u043a\u0442\u0443\/\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0443:<\/strong> \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u00ab\u043d\u0430 \u0434\u0435\u043b\u0435\u00bb \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u0441 \u0442\u0435\u0445\u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">\u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u043e\u0439\u0434\u0435\u043c \u043f\u043e \u0448\u0430\u0433\u0430\u043c: \u043e\u0442\u043a\u0440\u043e\u0435\u043c \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c Foundry, \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442, \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0442\u0435\u0441\u0442\u044b, fuzz \u0438 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u043c anvil (\u0438 \u043f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u2014 \u0444\u043e\u0440\u043a), \u0437\u0430\u0442\u0435\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u043c \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0438 \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0435\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u044b. \u0412\u0441\u0435 \u2014 \u0441 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f\u043c\u0438 \u00ab\u0447\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c\u00bb \u0438 \u00ab\u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435\u00bb.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"i-6\"><\/span>\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 Foundry<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"has-medium-font-size\">\u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0430\u0442\u044c \u0432 \u0442\u0435\u043e\u0440\u0438\u0438, \u043d\u0430\u0447\u043d\u0435\u043c \u0441 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0432 \u043e\u0431\u043b\u0430\u043a\u0435. \u041f\u0440\u043e\u0432\u0435\u0434\u0435\u043c \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0438 \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u00ab\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0443\u00bb \u0434\u043b\u044f \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u0432 \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 (GitHub Codespaces). \u041a \u0444\u0438\u043d\u0430\u043b\u0443 \u043c\u0438\u043d\u0438-\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u0443 \u0432\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0433\u043e\u0442\u043e\u0432\u043e\u0435 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0435 \u043c\u0435\u0441\u0442\u043e:<\/p>\n\n\n\n<ul class=\"wp-block-list has-medium-font-size\">\n<li>\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 VS Code \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435, Linux-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 Foundry<strong>;<\/strong><\/li>\n\n\n\n<li>\u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0442\u0435\u0441\u0442\u044b;<\/li>\n\n\n\n<li>\u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0437\u0435\u043b Anvil \u0438\u043b\u0438 \u0444\u043e\u0440\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 (\u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e);<\/li>\n\n\n\n<li>\u043f\u043b\u044e\u0441 \u0434\u0432\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u2014 fuzz-\u0442\u0435\u0441\u0442 (\u0433\u043e\u043d\u044f\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0432\u0445\u043e\u0434\u0430\u0445) \u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442 (\u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u043e\u043b\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f).<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">\u0421 \u0442\u0430\u043a\u0438\u043c \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u043e\u043c \u0432\u044b \u0441\u043e\u0431\u0435\u0440\u0435\u0442\u0435 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f (\u0442\u043e\u043a\u0435\u043d\/ NFT\/ \u0430\u0443\u043a\u0446\u0438\u043e\u043d), \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u044b, \u0441\u043c\u043e\u0434\u0435\u043b\u0438\u0440\u0443\u0435\u0442\u0435 \u044d\u0441\u043a\u0440\u043e\u0443 \u0438 \u0442\u0430\u0439\u043c\u043b\u043e\u043a\u0438, \u043f\u043e\u0439\u043c\u0430\u0435\u0442\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0434\u043e \u0440\u0435\u0432\u044c\u044e, \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u0442\u0435 \u0431\u0430\u0433 \u043d\u0430 \u0444\u043e\u0440\u043a\u0435 \u0438 \u043f\u043e\u0439\u043c\u0435\u0442\u0435, \u0447\u0442\u043e \u00ab\u0434\u043e\u0440\u043e\u0433\u043e\u00bb \u043f\u043e \u0433\u0430\u0437\u0443. \u0410 \u0435\u0449\u0435 \u2014 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0442\u044c \u0432\u0441\u0435 \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0442\u0435\u0441\u0442\u043e\u0432. \u042d\u0442\u043e\u0433\u043e \u0445\u0432\u0430\u0442\u0438\u0442, \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"i-7\"><\/span>\u041f\u043e\u0448\u0430\u0433\u043e\u0432\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Foundry<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"has-medium-font-size\">\u041e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u0430\u0440\u0442 \u2014 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Foundry \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435 GitHub Codespaces: \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435, \u0431\u0435\u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>0) \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u044c\u0442\u0435 Codespace<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u0427\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043d\u0430 GitHub (<a href=\"https:\/\/github.com\/features\/codespaces\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">https:\/\/github.com\/features\/codespaces<\/a>) \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c\u0441\u044f.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u2192 <strong>Create repository<\/strong>&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d984be5&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"403\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/1-repository-1024x403.webp\" alt=\"\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 GitHub Codespace\" class=\"wp-image-985\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/1-repository-1024x403.webp 1024w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/1-repository-300x118.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/1-repository-768x302.webp 768w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/1-repository.webp 1349w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u041d\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438\u043c\u0435\u043d\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, hello-foundry.<\/li>\n<\/ol>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d984f0b&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"994\" height=\"400\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/2-repository.webp\" alt=\"\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\" class=\"wp-image-987\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/2-repository.webp 994w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/2-repository-300x121.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/2-repository-768x309.webp 768w\" sizes=\"auto, (max-width: 994px) 100vw, 994px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u0416\u043c\u0435\u043c <strong>Create repository<\/strong><\/li>\n<\/ol>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d9851b8&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"937\" height=\"421\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/3-create-repository.webp\" alt=\"\u0416\u043c\u0435\u043c Create repository\" class=\"wp-image-988\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/3-create-repository.webp 937w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/3-create-repository-300x135.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/3-create-repository-768x345.webp 768w\" sizes=\"auto, (max-width: 937px) 100vw, 937px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0443 <strong>Code<\/strong><\/li>\n<\/ol>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d985448&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full is-resized wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"880\" height=\"303\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/4-code.webp\" alt=\"\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0443 Code\" class=\"wp-image-989\" style=\"width:900px;height:auto\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/4-code.webp 880w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/4-code-300x103.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/4-code-768x264.webp 768w\" sizes=\"auto, (max-width: 880px) 100vw, 880px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<ol start=\"6\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u0412 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b<strong>&nbsp; \u2192 Creating a new file<\/strong><\/li>\n<\/ol>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d9856cd&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"306\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/5-creating-a-new-file-1024x306.webp\" alt=\"\u0412 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b\" class=\"wp-image-990\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/5-creating-a-new-file-1024x306.webp 1024w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/5-creating-a-new-file-300x90.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/5-creating-a-new-file-768x229.webp 768w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/5-creating-a-new-file.webp 1309w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<ol start=\"7\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u041d\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0435\u0433\u043e README.md \u2192 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043b\u044e\u0431\u043e\u0439 \u0442\u0435\u043a\u0441\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <strong>Commit<\/strong><\/li>\n<\/ol>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d985945&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"404\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/6-readme-1024x404.webp\" alt=\"\u041d\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b README.md\" class=\"wp-image-991\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/6-readme-1024x404.webp 1024w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/6-readme-300x118.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/6-readme-768x303.webp 768w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/6-readme.webp 1347w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u043c<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d985b71&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"609\" height=\"491\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/7-approve-readme.webp\" alt=\"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430\" class=\"wp-image-993\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/7-approve-readme.webp 609w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/7-approve-readme-300x242.webp 300w\" sizes=\"auto, (max-width: 609px) 100vw, 609px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<ol start=\"8\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u0416\u043c\u0435\u043c<strong> Code \u2192 Codespaces \u2192 Create codespace on main<\/strong><\/li>\n<\/ol>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d985e0b&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"444\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/8-create-codespace-1024x444.webp\" alt=\"\u0416\u043c\u0435\u043c Code - Codespaces - Create codespace on main\" class=\"wp-image-995\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/8-create-codespace-1024x444.webp 1024w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/8-create-codespace-300x130.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/8-create-codespace-768x333.webp 768w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/8-create-codespace.webp 1341w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<ol start=\"9\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u0414\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f VS Code \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u2192 <strong>Terminal \u2192 New Terminal<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d986046&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"450\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/9-new-terminal-1024x450.webp\" alt=\"\u0414\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f VS Code \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 - Terminal - New Terminal\" class=\"wp-image-996\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/9-new-terminal-1024x450.webp 1024w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/9-new-terminal-300x132.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/9-new-terminal-768x338.webp 768w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/9-new-terminal.webp 1364w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u0427\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f:&nbsp;<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u041e\u0442\u043a\u0440\u044b\u043b\u0441\u044f VS Code \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435, \u0432\u043d\u0438\u0437\u0443 \u0435\u0441\u0442\u044c \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0432\u0438\u0434\u0430:<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">codespace@\u2026:\/workspaces\/hello-foundry$<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>1. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Foundry<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b Codespaces:<\/p>\n\n\n\n<p class=\"has-medium-font-size\">export PATH=&#187;$HOME\/.foundry\/bin:$PATH&#187; \\<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&amp;&amp; curl -L https:\/\/foundry.paradigm.xyz | bash \\<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&amp;&amp; source ~\/.bashrc \\<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&amp;&amp; foundryup<\/p>\n\n\n\n<p class=\"has-medium-font-size\">forge &#8212;version &amp;&amp; anvil &#8212;version &amp;&amp; cast &#8212;version &amp;&amp; chisel &#8212;version<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d9863ac&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"207\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/10-foundry-create-1024x207.webp\" alt=\"\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Foundry\" class=\"wp-image-999\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/10-foundry-create-1024x207.webp 1024w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/10-foundry-create-300x61.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/10-foundry-create-768x155.webp 768w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/10-foundry-create.webp 1039w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u0427\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u041f\u0435\u0447\u0430\u0442\u0430\u044e\u0442\u0441\u044f \u0432\u0435\u0440\u0441\u0438\u0438 \u0432\u0441\u0435\u0445 \u0443\u0442\u0438\u043b\u0438\u0442 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, forge Version: 1.3.1-stable).&nbsp;<\/li>\n<\/ul>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d986634&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1019\" height=\"203\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/11-foundry-version.webp\" alt=\"\u041f\u0435\u0447\u0430\u0442\u0430\u044e\u0442\u0441\u044f \u0432\u0435\u0440\u0441\u0438\u0438 \u0432\u0441\u0435\u0445 \u0443\u0442\u0438\u043b\u0438\u0442 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, forge Version: 1.3.1-stable)\" class=\"wp-image-1000\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/11-foundry-version.webp 1019w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/11-foundry-version-300x60.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/11-foundry-version-768x153.webp 768w\" sizes=\"auto, (max-width: 1019px) 100vw, 1019px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">\u0412\u0441\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0433\u043e\u0442\u043e\u0432\u044b.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>2. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442 Foundry<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b forge init hello \u2014 \u044d\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 Foundry, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 \u043f\u0430\u043f\u043a\u0435 hello \u0441 \u0433\u043e\u0442\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c\u0438:<\/p>\n\n\n\n<p class=\"has-medium-font-size\">forge init hello<\/p>\n\n\n\n<p class=\"has-medium-font-size\">cd hello<\/p>\n\n\n\n<p class=\"has-medium-font-size\">forge test<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d9868d6&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1006\" height=\"219\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/12-forge-init.webp\" alt=\"\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442 Foundry\" class=\"wp-image-1001\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/12-forge-init.webp 1006w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/12-forge-init-300x65.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/12-forge-init-768x167.webp 768w\" sizes=\"auto, (max-width: 1006px) 100vw, 1006px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u0427\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f:<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u0412 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u043e\u043a PASS \u2026 \u0438 \u0438\u0442\u043e\u0433 ok. X passed; 0 failed. \u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u0442\u0435\u0441\u0442\u044b \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u043f\u0440\u043e\u0448\u043b\u0438.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d986b34&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1018\" height=\"210\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/13-forge-passed.webp\" alt=\"\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u0442\u0435\u0441\u0442\u044b \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u043f\u0440\u043e\u0448\u043b\u0438\" class=\"wp-image-1005\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/13-forge-passed.webp 1018w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/13-forge-passed-300x62.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/13-forge-passed-768x158.webp 768w\" sizes=\"auto, (max-width: 1018px) 100vw, 1018px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">3. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 <strong>Counter<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b <strong>src\/Counter.sol<\/strong> \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u2014 \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 Codespaces.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">mkdir -p src &amp;&amp; cat &gt; src\/Counter.sol &lt;&lt;&#8216;SOL&#8217;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\/\/ SPDX-License-Identifier: UNLICENSED<\/p>\n\n\n\n<p class=\"has-medium-font-size\">pragma solidity ^0.8.13;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">contract Counter {<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;uint256 public number;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;function setNumber(uint256 newNumber) public { number = newNumber; }<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;function increment() public { number++; }<\/p>\n\n\n\n<p class=\"has-medium-font-size\">}<\/p>\n\n\n\n<p class=\"has-medium-font-size\">SOL<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d986e82&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1019\" height=\"224\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/14-counter.webp\" alt=\"\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 Counter\" class=\"wp-image-1006\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/14-counter.webp 1019w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/14-counter-300x66.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/14-counter-768x169.webp 768w\" sizes=\"auto, (max-width: 1019px) 100vw, 1019px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u0427\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list has-medium-font-size\">\n<li>\u041f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0444\u0430\u0439\u043b src\/Counter.sol \u0441 \u043d\u0443\u0436\u043d\u044b\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c.<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: ls src \u0438 forge build (\u0441\u0431\u043e\u0440\u043a\u0430 \u0431\u0435\u0437 \u043e\u0448\u0438\u0431\u043e\u043a).<\/li>\n<\/ul>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d98711c&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"210\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/15-counter-build-1.webp\" alt=\"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: ls src \u0438 forge build (\u0441\u0431\u043e\u0440\u043a\u0430 \u0431\u0435\u0437 \u043e\u0448\u0438\u0431\u043e\u043a)\" class=\"wp-image-1007\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/15-counter-build-1.webp 1015w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/15-counter-build-1-300x62.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/15-counter-build-1-768x159.webp 768w\" sizes=\"auto, (max-width: 1015px) 100vw, 1015px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">\u0412\u043e\u0442, \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u043c \u0444\u0430\u0439\u043b\u0430 <strong>Counter.sol<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">\/\/ SPDX-License-Identifier: UNLICENSED<\/p>\n\n\n\n<p class=\"has-medium-font-size\">pragma solidity ^0.8.13;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">contract Counter {<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;uint256 public number;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;function setNumber(uint256 newNumber) public { number = newNumber; }<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;function increment() public { number++; }<\/p>\n\n\n\n<p class=\"has-medium-font-size\">}<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d98742f&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"352\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/16-counter-check-1024x352.webp\" alt=\"\u0427\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u043c \u0444\u0430\u0439\u043b\u0430 Counter.sol\" class=\"wp-image-1008\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/16-counter-check-1024x352.webp 1024w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/16-counter-check-300x103.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/16-counter-check-768x264.webp 768w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/16-counter-check.webp 1363w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong>4. \u041f\u0438\u0448\u0435\u043c \u0442\u0435\u0441\u0442\u044b<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b <strong>test\/Counter.t.sol<\/strong> \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u0443\u044e<strong> <\/strong>\u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b:<\/p>\n\n\n\n<p class=\"has-medium-font-size\">mkdir -p test &amp;&amp; cat &gt; test\/Counter.t.sol &lt;&lt;&#8216;SOL&#8217;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\/\/ SPDX-License-Identifier: UNLICENSED<\/p>\n\n\n\n<p class=\"has-medium-font-size\">pragma solidity ^0.8.13;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">import &#171;forge-std\/Test.sol&#187;;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">import &#171;..\/src\/Counter.sol&#187;;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">contract CounterTest is Test {<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;Counter counter;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;function setUp() public {<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;counter = new Counter();<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;function test_SetNumber() public {<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;counter.setNumber(5);<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assertEq(counter.number(), 5);<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;function test_Increment() public {<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;counter.increment();<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assertEq(counter.number(), 1);<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Fuzz: \u043f\u0440\u043e\u0433\u043e\u043d \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435 \u0432\u0445\u043e\u0434\u043e\u0432<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;function testFuzz_SetNumber(uint256 x) public {<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vm.assume(x &lt; 1e18);<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;counter.setNumber(x);<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assertEq(counter.number(), x);<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n\n\n\n<p class=\"has-medium-font-size\">}<\/p>\n\n\n\n<p class=\"has-medium-font-size\">SOL<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d987988&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"225\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/17-test-counter-1024x225.webp\" alt=\"\u0424\u0430\u0439\u043b Counter.t.sol\" class=\"wp-image-1009\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/17-test-counter-1024x225.webp 1024w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/17-test-counter-300x66.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/17-test-counter-768x168.webp 768w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/17-test-counter.webp 1026w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">\u0424\u0430\u0439\u043b <strong>Counter.t.sol<\/strong> \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f:&nbsp;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\/\/ SPDX-License-Identifier: UNLICENSED<\/p>\n\n\n\n<p class=\"has-medium-font-size\">pragma solidity ^0.8.13;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">import &#171;forge-std\/Test.sol&#187;;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">import &#171;..\/src\/Counter.sol&#187;;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">contract CounterTest is Test {<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;Counter counter;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;function setUp() public {<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;counter = new Counter();<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;function test_SetNumber() public {<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;counter.setNumber(5);<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assertEq(counter.number(), 5);<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;function test_Increment() public {<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;counter.increment();<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assertEq(counter.number(), 1);<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Fuzz: \u043f\u0440\u043e\u0433\u043e\u043d \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435 \u0432\u0445\u043e\u0434\u043e\u0432<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;function testFuzz_SetNumber(uint256 x) public {<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vm.assume(x &lt; 1e18);<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;counter.setNumber(x);<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assertEq(counter.number(), x);<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n\n\n\n<p class=\"has-medium-font-size\">}<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d987dcd&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"443\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/18-counter-sol-inside-1024x443.webp\" alt=\"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430 Counter.t.so\" class=\"wp-image-1010\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/18-counter-sol-inside-1024x443.webp 1024w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/18-counter-sol-inside-300x130.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/18-counter-sol-inside-768x332.webp 768w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/18-counter-sol-inside.webp 1354w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0442\u0435\u0441\u0442:<\/p>\n\n\n\n<p class=\"has-medium-font-size\">forge test<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d98807a&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1019\" height=\"223\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/19-forge-test.webp\" alt=\"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0442\u0435\u0441\u0442: forge test\" class=\"wp-image-1012\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/19-forge-test.webp 1019w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/19-forge-test-300x66.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/19-forge-test-768x168.webp 768w\" sizes=\"auto, (max-width: 1019px) 100vw, 1019px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u0427\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u0422\u0440\u0438 PASS (\u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b + fuzz), \u0438\u0442\u043e\u0433 ok. 3 passed; 0 failed.<\/li>\n<\/ul>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d988349&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1020\" height=\"209\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/20-fuzz-test.webp\" alt=\"\u0422\u0440\u0438 PASS \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b + fuzz\" class=\"wp-image-1014\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/20-fuzz-test.webp 1020w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/20-fuzz-test-300x61.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/20-fuzz-test-768x157.webp 768w\" sizes=\"auto, (max-width: 1020px) 100vw, 1020px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong>5. \u041f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u043c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c (Anvil)<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c <strong>\u0432\u0442\u043e\u0440\u0443\u044e \u0432\u043a\u043b\u0430\u0434\u043a\u0443<\/strong> \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d988644&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1023\" height=\"196\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/21-terminal-list.webp\" alt=\"\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0432\u0442\u043e\u0440\u0443\u044e \u0432\u043a\u043b\u0430\u0434\u043a\u0443 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430\" class=\"wp-image-1015\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/21-terminal-list.webp 1023w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/21-terminal-list-300x57.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/21-terminal-list-768x147.webp 768w\" sizes=\"auto, (max-width: 1023px) 100vw, 1023px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c:<\/p>\n\n\n\n<p class=\"has-medium-font-size\">source ~\/.bashrc<\/p>\n\n\n\n<p class=\"has-medium-font-size\">export PATH=&#187;$HOME\/.foundry\/bin:$PATH&#187;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">anvil &#8212;version<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u0427\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u0422\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u0432\u044b\u0434\u0430\u0441\u0442 \u0432\u0435\u0440\u0441\u0438\u044e anvil \u2026.<\/li>\n<\/ul>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d988a3c&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1021\" height=\"160\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/22-anvil-version.webp\" alt=\"\u041f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u043c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c Anvil\" class=\"wp-image-1017\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/22-anvil-version.webp 1021w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/22-anvil-version-300x47.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/22-anvil-version-768x120.webp 768w\" sizes=\"auto, (max-width: 1021px) 100vw, 1021px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435:<\/p>\n\n\n\n<p class=\"has-medium-font-size\">anvil<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d988d0c&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1020\" height=\"219\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/23-anvil-1.webp\" alt=\"\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 anvil\" class=\"wp-image-1018\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/23-anvil-1.webp 1020w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/23-anvil-1-300x64.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/23-anvil-1-768x165.webp 768w\" sizes=\"auto, (max-width: 1020px) 100vw, 1020px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">(\u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u044d\u0442\u043e \u043e\u043a\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c; \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u2014 Ctrl+C)<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u0427\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u0412 \u043b\u043e\u0433\u0435 \u0432\u0438\u0434\u043d\u043e Listening on 127.0.0.1:8545 \u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432 \u0441 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u043c\u0438 \u043a\u043b\u044e\u0447\u0430\u043c\u0438.<\/li>\n<\/ul>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d988f9f&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1017\" height=\"194\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/24-listening-on.webp\" alt=\"\u0421\u043f\u0438\u0441\u043e\u043a \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432 \u0441 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u043c\u0438 \u043a\u043b\u044e\u0447\u0430\u043c\u0438\" class=\"wp-image-1019\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/24-listening-on.webp 1017w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/24-listening-on-300x57.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/24-listening-on-768x147.webp 768w\" sizes=\"auto, (max-width: 1017px) 100vw, 1017px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u0412 Codespaces \u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435 <strong>Ports<\/strong> \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043f\u043e\u0440\u0442 <strong>8545<\/strong>.<\/li>\n<\/ul>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d989265&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1019\" height=\"225\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/25-ports.webp\" alt=\"\u0412 Codespaces \u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435 Ports \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043f\u043e\u0440\u0442 8545\" class=\"wp-image-1020\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/25-ports.webp 1019w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/25-ports-300x66.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/25-ports-768x170.webp 768w\" sizes=\"auto, (max-width: 1019px) 100vw, 1019px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">\u042d\u0442\u043e \u00ab\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0430\u00bb: \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043f\u043b\u043e\u0438\u0442\u044c \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u0431\u0435\u0437 \u0440\u0438\u0441\u043a\u0430 \u0438 \u0431\u0435\u0437 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>6. \u0417\u0430\u0434\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0434\u0435\u043f\u043b\u043e\u044f: RPC \u0438 API-\u043a\u043b\u044e\u0447<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list has-medium-font-size\">\n<li>RPC_URL \u2014 \u043a\u0443\u0434\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b (\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 Anvil \u0438\u043b\u0438 \u0444\u043e\u0440\u043a\/\u0442\u0435\u0441\u0442\u043d\u0435\u0442).<\/li>\n\n\n\n<li>PRIVATE_KEY \u2014 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 (\u0434\u0435\u043f\u043b\u043e\u0439, cast send). \u0414\u043b\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e Anvil \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043b\u044e\u0431\u043e\u0439 \u043a\u043b\u044e\u0447 \u0438\u0437 \u0435\u0433\u043e \u043b\u043e\u0433\u0430 \u2014 \u0442\u0430\u043c \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0431\u0430\u043b\u0430\u043d\u0441.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">\u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c Anvil (\u0438\u0437 \u0448\u0430\u0433\u0430 5). \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b<\/p>\n\n\n\n<p class=\"has-medium-font-size\">export RPC_URL=http:\/\/127.0.0.1:8545<\/p>\n\n\n\n<p class=\"has-medium-font-size\">export PRIVATE_KEY=0x\u0412\u0410\u0428_\u041a\u041b\u042e\u0427_\u0418\u0417_\u041b\u041e\u0413\u0410_ANVIL<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u042d\u0442\u043e\u0442 \u043a\u043e\u0434 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435: \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u0430\u043a \u0435\u0441\u0442\u044c, \u0432\u0442\u043e\u0440\u0443\u044e \u2014 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">RPC_URL \u043d\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0434\u043b\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e Anvil:<\/li>\n<\/ol>\n\n\n\n<p class=\"has-medium-font-size\">export RPC_URL=http:\/\/127.0.0.1:8545<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">0x\u0412\u0410\u0428_\u041a\u041b\u042e\u0427_\u0418\u0417_\u041b\u041e\u0413\u0410_ANVIL \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0438\u0437 \u0432\u044b\u0432\u043e\u0434\u0430 Anvil (\u043b\u044e\u0431\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u201cPrivate Key \u2026\u201d \u0438\u0437 \u043e\u043a\u043d\u0430, \u0433\u0434\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d anvil):<\/li>\n<\/ol>\n\n\n\n<p class=\"has-medium-font-size\">export PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d989625&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1019\" height=\"203\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/26-export-private-key.webp\" alt=\"\u0417\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0438\u0437 \u0432\u044b\u0432\u043e\u0434\u0430 Anvil\" class=\"wp-image-1021\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/26-export-private-key.webp 1019w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/26-export-private-key-300x60.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/26-export-private-key-768x153.webp 768w\" sizes=\"auto, (max-width: 1019px) 100vw, 1019px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u0427\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f:<\/strong><\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d9898a8&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1017\" height=\"226\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/27-export-private-key.webp\" alt=\"\u0427\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f\" class=\"wp-image-1022\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/27-export-private-key.webp 1017w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/27-export-private-key-300x67.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/27-export-private-key-768x171.webp 768w\" sizes=\"auto, (max-width: 1017px) 100vw, 1017px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">\u0427\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e 2 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">echo $RPC_URL<\/li>\n\n\n\n<li class=\"has-medium-font-size\">echo ${PRIVATE_KEY:0:12}&#8230;<\/li>\n<\/ol>\n\n\n\n<p class=\"has-medium-font-size\">\u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c http:\/\/127.0.0.1:8545, \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u2014 \u043f\u0435\u0440\u0432\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043a\u043b\u044e\u0447\u0430.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d989b90&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1020\" height=\"203\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/28-echo-private-key.webp\" alt=\"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e 2 \u043a\u043e\u043c\u0430\u043d\u0434\u044b\" class=\"wp-image-1024\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/28-echo-private-key.webp 1020w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/28-echo-private-key-300x60.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/28-echo-private-key-768x153.webp 768w\" sizes=\"auto, (max-width: 1020px) 100vw, 1020px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">\u0415\u0441\u043b\u0438 \u0434\u0435\u043b\u0430\u0435\u0442\u0435 \u0444\u043e\u0440\u043a \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438, \u0442\u043e \u043c\u0435\u043d\u044f\u0435\u0442\u0435 RPC_URL \u043d\u0430 URL \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 (\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c\u0441\u044f \u043d\u0430 \u044d\u0442\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u0445 Infura\/Alchemy \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u0432\u043e\u0439 API):<\/p>\n\n\n\n<p class=\"has-medium-font-size\">export RPC_URL=https:\/\/sepolia.infura.io\/v3\/&lt;API_KEY&gt;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">PRIVATE_KEY \u2014 \u0432\u0430\u0448 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447 (\u043d\u0435 \u0438\u0437 Anvil), \u0441 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c \u0431\u0430\u043b\u0430\u043d\u0441\u043e\u043c.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u041f\u043e\u043b\u0435\u0437\u043d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u044c:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u044d\u0442\u043e\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430.<\/strong> \u041e\u0442\u043a\u0440\u043e\u0435\u0442\u0435 \u043d\u043e\u0432\u0443\u044e \u2014 \u0438\u0445 \u0442\u0430\u043c \u043d\u0435\u0442. \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 export \u2026 \u0438\u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 .env \u0438 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0439\u0442\u0435 \u0435\u0433\u043e:<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\"><strong># \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0441\u043e\u0437\u0434\u0430\u0435\u043c <\/strong><strong>.env<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">echo &#8216;RPC_URL=http:\/\/127.0.0.1:8545&#8217; &nbsp; &gt; .env<\/p>\n\n\n\n<p class=\"has-medium-font-size\">echo &#8216;PRIVATE_KEY=0x&#8230;&#8217;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &gt;&gt; .env<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong># \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u043d\u043e\u0432\u043e\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u0435<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">source .env<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>\u0421\u0435\u043a\u0440\u0435\u0442\u044b \u043d\u0435\u043b\u044c\u0437\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u0438\u0442\u044c.<\/strong> \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 .env \u0432 .gitignore, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043d\u0435 \u043f\u043e\u043f\u0430\u043b \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439:<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">echo &#8216;.env&#8217; &gt;&gt; .gitignore<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>\u041c\u043e\u0436\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445.<\/strong> \u041f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u044f\u043c\u043e \u0444\u043b\u0430\u0433\u0430\u043c\u0438 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443:&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">forge create src\/Counter.sol:Counter \\<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&#8212;rpc-url http:\/\/127.0.0.1:8545 \\<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&#8212;private-key 0x&#8230; \\<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&#8212;broadcast<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 http:\/\/127.0.0.1:8545. \u0422\u0435\u043f\u0435\u0440\u044c forge create \/ cast send \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>\u0411\u044b\u0441\u0442\u0440\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u0447\u0442\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b (\u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435):<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">echo $RPC_URL<\/p>\n\n\n\n<p class=\"has-medium-font-size\">echo ${PRIVATE_KEY:0:12}&#8230;<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>7. \u0420\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u0412 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 (\u043d\u0435 \u0442\u0430\u043c, \u0433\u0434\u0435 \u043a\u0440\u0443\u0442\u0438\u0442\u0441\u044f anvil) \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435:<\/p>\n\n\n\n<p class=\"has-medium-font-size\">forge create src\/Counter.sol:Counter \\<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&#8212;rpc-url $RPC_URL \\<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&#8212;private-key $PRIVATE_KEY \\<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&#8212;broadcast<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d98a035&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1022\" height=\"200\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/29-forge-create-counter.webp\" alt=\"\u0420\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\" class=\"wp-image-1026\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/29-forge-create-counter.webp 1022w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/29-forge-create-counter-300x59.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/29-forge-create-counter-768x150.webp 768w\" sizes=\"auto, (max-width: 1022px) 100vw, 1022px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">\u0412 \u0432\u044b\u0432\u043e\u0434\u0435 \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0438:<\/p>\n\n\n\n<p class=\"has-medium-font-size\">Deployed to: 0x\u2026 \u0438 Transaction hash: 0x\u2026.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d98a295&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1018\" height=\"204\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/30-deployed-to.webp\" alt=\"Deployed to: 0x\u2026 \u0438 Transaction hash: 0x\u2026.\" class=\"wp-image-1027\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/30-deployed-to.webp 1018w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/30-deployed-to-300x60.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/30-deployed-to-768x154.webp 768w\" sizes=\"auto, (max-width: 1018px) 100vw, 1018px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0430\u0434\u0440\u0435\u0441:<\/p>\n\n\n\n<p class=\"has-medium-font-size\">export COUNTER=0x&lt;\u0430\u0434\u0440\u0435\u0441_\u0438\u0437_\u0432\u044b\u0432\u043e\u0434\u0430&gt;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u0412 \u0441\u0442\u0440\u043e\u043a\u0435 0x&lt;\u0430\u0434\u0440\u0435\u0441_\u0438\u0437_\u0432\u044b\u0432\u043e\u0434\u0430&gt; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438 Deployed to: \u2014 \u044d\u0442\u043e \u0430\u0434\u0440\u0435\u0441 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d98a541&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1017\" height=\"225\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/31-export-counter-1.webp\" alt=\"\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0430\u0434\u0440\u0435\u0441\" class=\"wp-image-1031\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/31-export-counter-1.webp 1017w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/31-export-counter-1-300x66.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/31-export-counter-1-768x170.webp 768w\" sizes=\"auto, (max-width: 1017px) 100vw, 1017px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">\u0415\u0441\u043b\u0438 \u0434\u0435\u043f\u043b\u043e\u0438\u0442\u0435 \u043d\u0430 \u0444\u043e\u0440\u043a\u0435: \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d anvil &#8212;fork-url &#171;$RPC_URL&#187;.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>8. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0432\u044b\u0437\u043e\u0432\u0430\u043c\u0438 <\/strong><strong>cast<\/strong><strong>&nbsp;<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u0437\u0430\u0434\u0430\u0447\u0443:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u041f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435:<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">cast call $COUNTER &#171;number()(uint256)&#187; &#8212;rpc-url $RPC_URL<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c:<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">cast send $COUNTER &#171;setNumber(uint256)&#187; 7 &#8212;rpc-url $RPC_URL &#8212;private-key $PRIVATE_KEY<\/p>\n\n\n\n<p class=\"has-medium-font-size\">cast call $COUNTER &#171;number()(uint256)&#187; &#8212;rpc-url $RPC_URL<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u0427\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u0414\u043e \u0432\u044b\u0437\u043e\u0432\u0430 setNumber \u0444\u0443\u043d\u043a\u0446\u0438\u044f number() \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 0.<\/li>\n<\/ul>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d98a8e4&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1017\" height=\"230\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/32-cast-call-counter-1.webp\" alt=\"setNumber \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 0\" class=\"wp-image-1034\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/32-cast-call-counter-1.webp 1017w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/32-cast-call-counter-1-300x68.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/32-cast-call-counter-1-768x174.webp 768w\" sizes=\"auto, (max-width: 1017px) 100vw, 1017px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u041f\u043e\u0441\u043b\u0435 setNumber(7) \u2014 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 7.<\/li>\n<\/ul>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d98ab7f&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1019\" height=\"205\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/33-cast-send-counter.webp\" alt=\"\u041f\u043e\u0441\u043b\u0435 setNumber(7) \u2014 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 7\" class=\"wp-image-1035\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/33-cast-send-counter.webp 1019w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/33-cast-send-counter-300x60.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/33-cast-send-counter-768x155.webp 768w\" sizes=\"auto, (max-width: 1019px) 100vw, 1019px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong>9. (\u041e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e) \u0424\u043e\u0440\u043a \u0441\u0435\u0442\u0438 \u0438 \u0432\u044b\u0437\u043e\u0432 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0432\u0441\u0435 anvil \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:&nbsp;<\/li>\n<\/ol>\n\n\n\n<p class=\"has-medium-font-size\">pkill anvil.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 RPC-URL \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430<\/strong> (Alchemy\/Infura\/Ankr) \u2014 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c; \u0443 Infura <strong>\u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u0435<\/strong> \u00abRequire Project Secret\u00bb.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u0411\u044b\u0441\u0442\u0440\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430:<\/p>\n\n\n\n<p class=\"has-medium-font-size\">export UPSTREAM_RPC=&#187;https:\/\/eth-sepolia.g.alchemy.com\/v2\/\u0412\u0410\u0428_\u041a\u041b\u042e\u0427&#187;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">curl -s -X POST -H &#171;Content-Type: application\/json&#187; \\<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&#8212;data &#8216;{&#171;jsonrpc&#187;:&#187;2.0&#8243;,&#187;method&#187;:&#187;eth_blockNumber&#187;,&#187;params&#187;:[],&#187;id&#187;:1}&#8217; \\<\/p>\n\n\n\n<p class=\"has-medium-font-size\">&nbsp;&nbsp;&#171;$UPSTREAM_RPC&#187;<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">&nbsp;\u0414\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0438\u0439\u0442\u0438 JSON \u0441 result: &#171;0x&#8230;&#187;.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u041f\u043e\u0434\u043d\u0438\u043c\u0438\u0442\u0435 \u0444\u043e\u0440\u043a<\/strong> (\u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u0442\u0443, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432\u0430\u0442\u044c):<\/p>\n\n\n\n<p class=\"has-medium-font-size\">anvil &#8212;fork-url &#171;$UPSTREAM_RPC&#187; -p 8546<\/p>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">&nbsp;\u0412 \u043b\u043e\u0433\u0435 \u0443\u0432\u0438\u0434\u0438\u0442\u0435 Forking \u2026 \u0438 Listening on 127.0.0.1:8546<\/li>\n<\/ol>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u0441\u044c \u043a \u0444\u043e\u0440\u043a\u0443:<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">export RPC_URL=http:\/\/127.0.0.1:8546<\/p>\n\n\n\n<p class=\"has-medium-font-size\">cast block-number &#8212;rpc-url $RPC_URL<\/p>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">&nbsp;\u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u043e\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430 \u2192 \u0432\u0441\u0435 \u043e\u043a.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u043e\u043a\u0435\u043d:<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u0412\u043e\u0437\u044c\u043c\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u0438\u0437 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0431\u043b\u043e\u043a-\u044d\u043a\u0441\u043f\u043b\u043e\u0440\u0435\u0440\u0430 \u0441\u0435\u0442\u0438 \u0438:<br><br>cast code 0x\u0410\u0414\u0420\u0415\u0421 &#8212;rpc-url $RPC_URL<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,&nbsp;<\/p>\n\n\n\n<p class=\"has-medium-font-size\">cast code <strong>0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48<\/strong> (\u0430\u0434\u0440\u0435\u0441 USDC) &#8212;rpc-url <strong>https:\/\/mainnet.infura.io\/v3\/f39d740f03bb49c3b228b3f1c83df8f6<\/strong> (\u0432\u0430\u0448 API)&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">cast call 0x\u0410\u0414\u0420\u0415\u0421 &#171;symbol()(string)&#187; &#8212;rpc-url $RPC_URL<\/li>\n<\/ol>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u0427\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">cast block-number \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u043e\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430 (\u043a\u0430\u043a \u0432 \u0441\u0435\u0442\u0438).<\/li>\n<\/ul>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d98b032&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1014\" height=\"224\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/34-cast-block-number.webp\" alt=\"Cast block-number \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u043e\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430 (\u043a\u0430\u043a \u0432 \u0441\u0435\u0442\u0438)\" class=\"wp-image-1036\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/34-cast-block-number.webp 1014w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/34-cast-block-number-300x66.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/34-cast-block-number-768x170.webp 768w\" sizes=\"auto, (max-width: 1014px) 100vw, 1014px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">\u0412\u044b\u0437\u043e\u0432 symbol() \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0442\u043e\u043a\u0435\u043d\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, USDC) \u2014 \u0437\u043d\u0430\u0447\u0438\u0442, \u0444\u043e\u0440\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/li>\n<\/ul>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e888d98b2b0&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"901\" height=\"202\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/35-symbol.webp\" alt=\"\u0412\u044b\u0437\u043e\u0432 symbol() \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0442\u043e\u043a\u0435\u043d\u0430 - \u0437\u043d\u0430\u0447\u0438\u0442, \u0444\u043e\u0440\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\" class=\"wp-image-1037\" srcset=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/35-symbol.webp 901w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/35-symbol-300x67.webp 300w, https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/35-symbol-768x172.webp 768w\" sizes=\"auto, (max-width: 901px) 100vw, 901px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><span class=\"ez-toc-section\" id=\"i-8\"><\/span>\u041a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u0447\u0435\u043a-\u043b\u0438\u0441\u0442 \u0443\u0441\u043f\u0435\u0445\u0430<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"has-medium-font-size\">\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u043d\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043f\u0443\u043d\u043a\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f, \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u0441\u0440\u0435\u0434\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0434\u0442\u0438 \u0434\u0430\u043b\u044c\u0448\u0435.<\/p>\n\n\n\n<ul class=\"wp-block-list has-medium-font-size\">\n<li>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d Foundry \u0432 Codespaces, \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0435\u0447\u0430\u0442\u0430\u044e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438.<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u0435\u043a\u0442 \u0441\u043e\u0437\u0434\u0430\u043d, \u0442\u0435\u0441\u0442\u044b \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442.<\/li>\n\n\n\n<li>\u041a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 Counter \u0441\u043e\u0431\u0440\u0430\u043d \u0431\u0435\u0437 \u043e\u0448\u0438\u0431\u043e\u043a.<\/li>\n\n\n\n<li>\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0435\u0442\u044c anvil \u0441\u043b\u0443\u0448\u0430\u0435\u0442 127.0.0.1:8545.<\/li>\n\n\n\n<li>\u041a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0435\u043d (Deployed to: 0x\u2026).<\/li>\n\n\n\n<li>\u0412\u044b\u0437\u043e\u0432\u044b cast call\/send \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 (\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f).<\/li>\n\n\n\n<li>(\u041e\u043f\u0446\u0438\u044f) \u0424\u043e\u0440\u043a \u0441\u043e\u0437\u0434\u0430\u043d: Forking\u2026 \u0432 \u043b\u043e\u0433\u0435 \u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b cast.<\/li>\n\n\n\n<li>(\u041e\u043f\u0446\u0438\u044f) \u0414\u0435\u043f\u043b\u043e\u0439 \u0432 \u0442\u0435\u0441\u0442\u043d\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0441\u044f, \u0430\u0434\u0440\u0435\u0441 \u0432\u0438\u0434\u0435\u043d \u0432 \u043e\u0431\u043e\u0437\u0440\u0435\u0432\u0430\u0442\u0435\u043b\u0435.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><span class=\"ez-toc-section\" id=\"i-9\"><\/span>\u0427\u0430\u0441\u0442\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0444\u0438\u043a\u0441\u044b<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"has-medium-font-size\">\u041d\u0438\u0436\u0435 \u2014 \u0441\u0430\u043c\u044b\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Foundry \u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f. \u041d\u0430\u0439\u0434\u0438\u0442\u0435 \u0441\u0432\u043e\u0439 \u0441\u0438\u043c\u043f\u0442\u043e\u043c \u2014 \u043f\u043e\u0434 \u043d\u0438\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0438 \u0442\u043e\u0447\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u0447\u0438\u043d\u0438\u0442\u044c.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>bash: anvil: command not found<\/strong><strong><br><\/strong>\u0412\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435 #2 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435:<br>source ~\/.bashrc &amp;&amp; export PATH=&#187;$HOME\/.foundry\/bin:$PATH&#187; &amp;&amp; anvil &#8212;version<br>\u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u2014 foundryup.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Address already in use (os error 98)<\/strong><strong><br><\/strong>\u0423\u0436\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0434\u0440\u0443\u0433\u043e\u0439 anvil. \u041b\u0438\u0431\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0435\u0433\u043e (RPC_URL=http:\/\/127.0.0.1:8545), \u043b\u0438\u0431\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 pkill anvil \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0437\u0430\u043d\u043e\u0432\u043e, \u043b\u0438\u0431\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0432\u0442\u043e\u0440\u043e\u0439 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u043e\u0440\u0442\u0443:<br>anvil -p 8546 \u0438 export RPC_URL=http:\/\/127.0.0.1:8546.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>insufficient funds<\/strong><strong> \u043f\u0440\u0438 \u0434\u0435\u043f\u043b\u043e\u0435\/\u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435<\/strong><strong><br><\/strong>\u0412\u043e\u0437\u044c\u043c\u0438\u0442\u0435 \u0434\u0440\u0443\u0433\u043e\u0439 PRIVATE_KEY \u0438\u0437 \u043b\u043e\u0433\u0430 anvil \u2014 \u0432\u0441\u0435 \u043e\u043d\u0438 \u0441 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c \u0431\u0430\u043b\u0430\u043d\u0441\u043e\u043c.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b<\/strong><strong><br><\/strong>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0437\u0430\u0436\u0430\u043b\u0438 \u0432\u044b\u0432\u043e\u0434 Ctrl+S. \u041d\u0430\u0436\u043c\u0438\u0442\u0435 Ctrl+Q.<br>\u041b\u0438\u0431\u043e \u0432\u044b \u0432 \u0432\u043a\u043b\u0430\u0434\u043a\u0435, \u0433\u0434\u0435 \u043a\u0440\u0443\u0442\u0438\u0442\u0441\u044f anvil. \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435 #1.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u00ab\u043f\u0440\u043e\u043f\u0430\u043b\u0438\u00bb<\/strong><strong><br><\/strong>\u041e\u043d\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435. \u0412 \u043d\u043e\u0432\u043e\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 \u2014 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 export \u2026 \u0438\u043b\u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0432 .env \u0438 \u0434\u0435\u043b\u0430\u0439\u0442\u0435 source .env (\u0438 \u043d\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044c\u0442\u0435 .env).<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u0412\u044b \u043f\u0440\u043e\u0448\u043b\u0438 \u043f\u0443\u0442\u044c \u043e\u0442 \u0438\u0434\u0435\u0438 \u0434\u043e \u00ab\u0436\u0438\u0432\u043e\u0433\u043e\u00bb \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430: \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u0441\u0440\u0435\u0434\u0443, \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0438 \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c, \u0438 (\u043f\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u044e) \u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u0444\u043e\u0440\u043a. \u042d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u043d\u0438\u043c\u0443\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0435 \u0433\u0430\u0434\u0430\u0442\u044c, \u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u2014 \u0431\u044b\u0441\u0442\u0440\u043e, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u043e.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u0421\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u0434\u0430\u044e\u0442 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0441\u0442\u044c. Foundry \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a \u044d\u0442\u043e\u043c\u0443 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c: \u0442\u0435\u0441\u0442\u044b (\u0432\u043a\u043b\u044e\u0447\u0430\u044f fuzz), \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b, \u043e\u0442\u0447\u0435\u0442 \u043f\u043e \u0433\u0430\u0437\u0443 \u0438 \u0434\u0435\u043f\u043b\u043e\u0439 \u2014 \u0432\u0441\u0435 \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439 \u0438 \u0431\u0435\u0437 \u043b\u0438\u0448\u043d\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u0422\u0430\u043a\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0443\u0436\u0435 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043a\u0435\u043d\u044b\/\u0430\u0443\u043a\u0446\u0438\u043e\u043d\u044b, \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0431\u0430\u0433-\u0440\u0435\u043f\u043e\u0440\u0442\u044b \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0444\u0430\u043a\u0442\u043e\u0432, \u0430 \u043d\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u043a\u0430\u0447\u0430\u0442\u044c \u043d\u0430\u0432\u044b\u043a\u0438, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0434\u0430\u043b\u044c\u0448\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list has-medium-font-size\">\n<li><strong>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0442\u043e\u043a\u0435\u043d.<\/strong> \u0420\u0435\u0430\u043b\u0438\u0437\u0443\u0439\u0442\u0435 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 ERC-20\/721, \u043f\u043e\u043a\u0440\u043e\u0439\u0442\u0435 \u0442\u0435\u0441\u0442\u0430\u043c\u0438, \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435 \u0433\u0430\u0437 \u0434\u043e\/\u043f\u043e\u0441\u043b\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439.<\/li>\n\n\n\n<li><strong>\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435<\/strong> \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u00ab\u043a\u0430\u043a \u0432 \u043f\u0440\u043e\u0434\u0435\u00bb: \u0437\u0430\u0434\u0430\u0439\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u0443\u043c\u043c\/\u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u0438 <strong>\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435<\/strong> stateful-fuzz.<\/li>\n\n\n\n<li><strong>\u0412\u044b\u043d\u0435\u0441\u0438\u0442\u0435<\/strong> \u0448\u0430\u0433\u0438 \u0434\u0435\u043f\u043b\u043e\u044f \u0432 script\/ \u0438 <strong>\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0439\u0442\u0435<\/strong> \u0447\u0435\u0440\u0435\u0437 forge script &#8212;broadcast.<\/li>\n\n\n\n<li><strong>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0439\u0442\u0435<\/strong> \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438\/\u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 (\u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f) \u043d\u0430 \u043e\u0431\u043e\u0437\u0440\u0435\u0432\u0430\u0442\u0435\u043b\u0435 \u0438 <strong>\u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435<\/strong>, \u0447\u0442\u043e \u0432 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0435 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 \u0432\u0438\u0434\u043d\u044b \u0431\u0430\u0439\u0442\u043a\u043e\u0434 \u0438 ABI.<\/li>\n\n\n\n<li><strong>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435<\/strong> forge test &#8212;gas-report \u0432 CI \u0438 <strong>\u0441\u043d\u0438\u043c\u0430\u0439\u0442\u0435<\/strong> \u00ab\u0441\u043d\u0430\u043f\u0448\u043e\u0442\u044b\u00bb forge snapshot \u2014 \u0442\u0430\u043a \u0443\u0432\u0438\u0434\u0438\u0442\u0435, \u043a\u0430\u043a \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0433\u0430\u0437 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u0435.<\/li>\n\n\n\n<li><strong>\u041f\u0435\u0440\u0435\u043d\u0435\u0441\u0438\u0442\u0435<\/strong> \u043f\u0440\u043e\u0435\u043a\u0442 \u0438\u0437 Codespaces \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u0438\u043b\u0438 <strong>\u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0438\u0442\u0435<\/strong> \u0435\u0433\u043e \u0432 <strong>Sepolia<\/strong>, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044f <strong>\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447<\/strong>; \u0444\u0430\u0439\u043b .env \u043d\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044c\u0442\u0435 (\u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 .gitignore).<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">\u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0439\u0442\u0435 \u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list has-medium-font-size\">\n<li>\u041d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u00ab\u0431\u043e\u0435\u0432\u044b\u0435\u00bb \u043a\u043b\u044e\u0447\u0438 \u0432 \u0443\u0447\u0435\u0431\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445 \u0438 \u0444\u043e\u0440\u043a\u0430\u0445.<\/li>\n\n\n\n<li>\u041d\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044c\u0442\u0435 \u0441\u0435\u043a\u0440\u0435\u0442\u044b; \u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438\u0445 \u0432 .env.<\/li>\n\n\n\n<li>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0441\u0435\u0442\u044c, \u0443\u0431\u0435\u0436\u0434\u0430\u0439\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0442\u0435\u0441\u0442\u044b \u0437\u0435\u043b\u0435\u043d\u044b\u0435, \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0434\u0435\u0440\u0436\u0430\u0442\u0441\u044f, \u0430 \u0433\u0430\u0437 \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0431\u044e\u0434\u0436\u0435\u0442.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\">\u0415\u0441\u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u044b\u043d\u0435\u0448\u043d\u044e\u044e \u00ab\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0443\u00bb, \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0431\u044b\u0441\u0442\u0440\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043c: \u043c\u0435\u043d\u044f\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0433\u0430\u0437 \u2014 \u0438 \u0437\u0430 \u0432\u0435\u0447\u0435\u0440 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0438\u0434\u0435\u0438 \u0432 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e: \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043e: \u0412\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u0445 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0432\u0435\u0449\u0435\u0439 \u2014 \u0447\u0435\u0442\u043a\u0438\u0445 \u043f\u0440\u0430\u0432\u0438\u043b, \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0441\u0442\u0438 \u0438 \u0434\u043e\u0432\u0435\u0440\u0438\u044f. \u0421\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u0440\u0435\u0448\u0430\u044e\u0442 \u044d\u0442\u043e \u043a\u043e\u0434\u043e\u043c. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b, \u0438 \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b. \u0421\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u2014 \u044d\u0442\u043e \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0436\u0438\u0432\u0435\u0442 \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u0430: \u043a\u0442\u043e \u0438 \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[13,9],"class_list":["post-974","post","type-post","status-publish","format-standard","hentry","category-education","tag-foundry","tag-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u041a\u0430\u043a \u0437\u0430 \u0432\u0435\u0447\u0435\u0440 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0441 Foundry | SwapAuditor<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u041a\u0430\u043a \u0437\u0430 \u0432\u0435\u0447\u0435\u0440 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0441 Foundry | SwapAuditor\" \/>\n<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e: \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043e: \u0412\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u0445 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0432\u0435\u0449\u0435\u0439 \u2014 \u0447\u0435\u0442\u043a\u0438\u0445 \u043f\u0440\u0430\u0432\u0438\u043b, \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0441\u0442\u0438 \u0438 \u0434\u043e\u0432\u0435\u0440\u0438\u044f. \u0421\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u0440\u0435\u0448\u0430\u044e\u0442 \u044d\u0442\u043e \u043a\u043e\u0434\u043e\u043c. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b, \u0438 \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b. \u0421\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u2014 \u044d\u0442\u043e \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0436\u0438\u0432\u0435\u0442 \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u0430: \u043a\u0442\u043e \u0438 \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/\" \/>\n<meta property=\"og:site_name\" content=\"SwapAuditor\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-27T12:47:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-27T13:53:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/0-table-foundry-others.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"David\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@swapauditor\" \/>\n<meta name=\"twitter:site\" content=\"@swapauditor\" \/>\n<meta name=\"twitter:label1\" content=\"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c\" \/>\n\t<meta name=\"twitter:data1\" content=\"David\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 \u043c\u0438\u043d\u0443\u0442\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/\",\"url\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/\",\"name\":\"\u041a\u0430\u043a \u0437\u0430 \u0432\u0435\u0447\u0435\u0440 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0441 Foundry | SwapAuditor\",\"isPartOf\":{\"@id\":\"https:\/\/swapauditor.com\/ru\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/0-table-foundry-others-1024x576.webp\",\"datePublished\":\"2025-08-27T12:47:16+00:00\",\"dateModified\":\"2025-08-27T13:53:22+00:00\",\"author\":{\"@id\":\"https:\/\/swapauditor.com\/ru\/#\/schema\/person\/91751aee44aa3e985849ffa1940e1984\"},\"breadcrumb\":{\"@id\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/\"]}],\"hasPart\":[{\"@type\":\"SiteNavigationElement\",\"name\":\"Table of Contents\",\"url\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#ez-toc\",\"position\":1,\"hasPart\":[{\"@type\":\"SiteNavigationElement\",\"name\":\"\u0420\u0430\u0431\u043e\u0447\u0430\u044f \u0441\u0440\u0435\u0434\u0430 Foundry: \u043e\u0442 \u043d\u0443\u043b\u044f \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0430\",\"url\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i\",\"position\":2},{\"@type\":\"SiteNavigationElement\",\"name\":\"\u041a\u0430\u043a\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 Foundry:\",\"url\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-2\",\"position\":3},{\"@type\":\"SiteNavigationElement\",\"name\":\"\u0418\u0437 \u0447\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 Foundry?\",\"url\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-3\",\"position\":4},{\"@type\":\"SiteNavigationElement\",\"name\":\"\u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441 Foundry\",\"url\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-4\",\"position\":5},{\"@type\":\"SiteNavigationElement\",\"name\":\"\u041c\u0438\u043d\u0438-\u0441\u043b\u043e\u0432\u0430\u0440\u044c\",\"url\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-5\",\"position\":6},{\"@type\":\"SiteNavigationElement\",\"name\":\"\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 Foundry\",\"url\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-6\",\"position\":7},{\"@type\":\"SiteNavigationElement\",\"name\":\"\u041f\u043e\u0448\u0430\u0433\u043e\u0432\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Foundry\",\"url\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-7\",\"position\":8},{\"@type\":\"SiteNavigationElement\",\"name\":\"\u041a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u0447\u0435\u043a-\u043b\u0438\u0441\u0442 \u0443\u0441\u043f\u0435\u0445\u0430\",\"url\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-8\",\"position\":9},{\"@type\":\"SiteNavigationElement\",\"name\":\"\u0427\u0430\u0441\u0442\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0444\u0438\u043a\u0441\u044b\",\"url\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-9\",\"position\":10}]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#primaryimage\",\"url\":\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/0-table-foundry-others.webp\",\"contentUrl\":\"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/0-table-foundry-others.webp\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f\",\"item\":\"https:\/\/swapauditor.com\/ru\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u041a\u0430\u043a \u0437\u0430 \u0432\u0435\u0447\u0435\u0440 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0441 Foundry\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/swapauditor.com\/ru\/#website\",\"url\":\"https:\/\/swapauditor.com\/ru\/\",\"name\":\"SwapAuditor\",\"description\":\"\u0410\u0443\u0434\u0438\u0442 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u0432\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/swapauditor.com\/ru\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/swapauditor.com\/ru\/#\/schema\/person\/91751aee44aa3e985849ffa1940e1984\",\"name\":\"David\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/swapauditor.com\/ru\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9a205b361ae81445b93291ed4a1f682737695525aeae1d37a4cd8e29ccf47fc9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9a205b361ae81445b93291ed4a1f682737695525aeae1d37a4cd8e29ccf47fc9?s=96&d=mm&r=g\",\"caption\":\"David\"},\"description\":\"\u041a\u0440\u0438\u043f\u0442\u043e-\u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442, \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0441\u0430\u0439\u0442\u0430 SwapAuditor.com\",\"sameAs\":[\"https:\/\/swapauditor.com\",\"https:\/\/www.instagram.com\/ddavom\"],\"url\":\"https:\/\/swapauditor.com\/ru\/author\/swapadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u041a\u0430\u043a \u0437\u0430 \u0432\u0435\u0447\u0435\u0440 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0441 Foundry | SwapAuditor","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/","og_locale":"ru_RU","og_type":"article","og_title":"\u041a\u0430\u043a \u0437\u0430 \u0432\u0435\u0447\u0435\u0440 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0441 Foundry | SwapAuditor","og_description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e: \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043e: \u0412\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u0445 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0432\u0435\u0449\u0435\u0439 \u2014 \u0447\u0435\u0442\u043a\u0438\u0445 \u043f\u0440\u0430\u0432\u0438\u043b, \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0441\u0442\u0438 \u0438 \u0434\u043e\u0432\u0435\u0440\u0438\u044f. \u0421\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b \u0440\u0435\u0448\u0430\u044e\u0442 \u044d\u0442\u043e \u043a\u043e\u0434\u043e\u043c. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b, \u0438 \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b. \u0421\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u2014 \u044d\u0442\u043e \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0436\u0438\u0432\u0435\u0442 \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u0430: \u043a\u0442\u043e \u0438 \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 [&hellip;]","og_url":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/","og_site_name":"SwapAuditor","article_published_time":"2025-08-27T12:47:16+00:00","article_modified_time":"2025-08-27T13:53:22+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/0-table-foundry-others.webp","type":"image\/webp"}],"author":"David","twitter_card":"summary_large_image","twitter_creator":"@swapauditor","twitter_site":"@swapauditor","twitter_misc":{"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c":"David","\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"20 \u043c\u0438\u043d\u0443\u0442"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/","url":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/","name":"\u041a\u0430\u043a \u0437\u0430 \u0432\u0435\u0447\u0435\u0440 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0441 Foundry | SwapAuditor","isPartOf":{"@id":"https:\/\/swapauditor.com\/ru\/#website"},"primaryImageOfPage":{"@id":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#primaryimage"},"image":{"@id":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#primaryimage"},"thumbnailUrl":"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/0-table-foundry-others-1024x576.webp","datePublished":"2025-08-27T12:47:16+00:00","dateModified":"2025-08-27T13:53:22+00:00","author":{"@id":"https:\/\/swapauditor.com\/ru\/#\/schema\/person\/91751aee44aa3e985849ffa1940e1984"},"breadcrumb":{"@id":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/"]}],"hasPart":[{"@type":"SiteNavigationElement","name":"Table of Contents","url":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#ez-toc","position":1,"hasPart":[{"@type":"SiteNavigationElement","name":"\u0420\u0430\u0431\u043e\u0447\u0430\u044f \u0441\u0440\u0435\u0434\u0430 Foundry: \u043e\u0442 \u043d\u0443\u043b\u044f \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0430","url":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i","position":2},{"@type":"SiteNavigationElement","name":"\u041a\u0430\u043a\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 Foundry:","url":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-2","position":3},{"@type":"SiteNavigationElement","name":"\u0418\u0437 \u0447\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 Foundry?","url":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-3","position":4},{"@type":"SiteNavigationElement","name":"\u0422\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441 Foundry","url":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-4","position":5},{"@type":"SiteNavigationElement","name":"\u041c\u0438\u043d\u0438-\u0441\u043b\u043e\u0432\u0430\u0440\u044c","url":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-5","position":6},{"@type":"SiteNavigationElement","name":"\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 Foundry","url":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-6","position":7},{"@type":"SiteNavigationElement","name":"\u041f\u043e\u0448\u0430\u0433\u043e\u0432\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Foundry","url":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-7","position":8},{"@type":"SiteNavigationElement","name":"\u041a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u0447\u0435\u043a-\u043b\u0438\u0441\u0442 \u0443\u0441\u043f\u0435\u0445\u0430","url":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-8","position":9},{"@type":"SiteNavigationElement","name":"\u0427\u0430\u0441\u0442\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0444\u0438\u043a\u0441\u044b","url":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#i-9","position":10}]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#primaryimage","url":"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/0-table-foundry-others.webp","contentUrl":"https:\/\/swapauditor.com\/ru\/wp-content\/uploads\/sites\/2\/2025\/08\/0-table-foundry-others.webp","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/swapauditor.com\/ru\/education\/foundry-smart-contract\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f","item":"https:\/\/swapauditor.com\/ru\/"},{"@type":"ListItem","position":2,"name":"\u041a\u0430\u043a \u0437\u0430 \u0432\u0435\u0447\u0435\u0440 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0441 Foundry"}]},{"@type":"WebSite","@id":"https:\/\/swapauditor.com\/ru\/#website","url":"https:\/\/swapauditor.com\/ru\/","name":"SwapAuditor","description":"\u0410\u0443\u0434\u0438\u0442 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u0432","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/swapauditor.com\/ru\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":"Person","@id":"https:\/\/swapauditor.com\/ru\/#\/schema\/person\/91751aee44aa3e985849ffa1940e1984","name":"David","image":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/swapauditor.com\/ru\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9a205b361ae81445b93291ed4a1f682737695525aeae1d37a4cd8e29ccf47fc9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9a205b361ae81445b93291ed4a1f682737695525aeae1d37a4cd8e29ccf47fc9?s=96&d=mm&r=g","caption":"David"},"description":"\u041a\u0440\u0438\u043f\u0442\u043e-\u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442, \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0441\u0430\u0439\u0442\u0430 SwapAuditor.com","sameAs":["https:\/\/swapauditor.com","https:\/\/www.instagram.com\/ddavom"],"url":"https:\/\/swapauditor.com\/ru\/author\/swapadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/swapauditor.com\/ru\/wp-json\/wp\/v2\/posts\/974","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swapauditor.com\/ru\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/swapauditor.com\/ru\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/swapauditor.com\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/swapauditor.com\/ru\/wp-json\/wp\/v2\/comments?post=974"}],"version-history":[{"count":19,"href":"https:\/\/swapauditor.com\/ru\/wp-json\/wp\/v2\/posts\/974\/revisions"}],"predecessor-version":[{"id":1046,"href":"https:\/\/swapauditor.com\/ru\/wp-json\/wp\/v2\/posts\/974\/revisions\/1046"}],"wp:attachment":[{"href":"https:\/\/swapauditor.com\/ru\/wp-json\/wp\/v2\/media?parent=974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swapauditor.com\/ru\/wp-json\/wp\/v2\/categories?post=974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swapauditor.com\/ru\/wp-json\/wp\/v2\/tags?post=974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}