{"id":87115,"date":"2024-12-07T00:54:46","date_gmt":"2024-12-06T21:24:46","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/foundry-tutorial-para-inciantes-58o1\/"},"modified":"2024-12-07T00:54:46","modified_gmt":"2024-12-06T21:24:46","slug":"foundry-tutorial-para-inciantes-58o1","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/foundry-tutorial-para-inciantes-58o1\/","title":{"rendered":"\u0622\u0645\u0648\u0632\u0634 \u0631\u06cc\u062e\u062a\u0647 \u06af\u0631\u06cc \u0628\u0631\u0627\u06cc \u0627\u0648\u0644\u06cc\u0646 \u0628\u0627\u0631 &#8211; \u0627\u0646\u062c\u0645\u0646 DEV"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang<br \/>\n              Foundry \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u062a\u0648\u0633\u0639\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0628\u0631\u0627\u06cc Solidity \u0627\u0633\u062a.\u0637\u06cc\u0641 \u06af\u0633\u062a\u0631\u062f\u0647 \u0627\u06cc \u0627\u0632 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0633\u0647\u06cc\u0644 \u062a\u0648\u0633\u0639\u0647\u060c \u0622\u0632\u0645\u0627\u06cc\u0634 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f \u062f\u0631 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u0647\u0627\u06cc EVM \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>  \u0631\u06cc\u062e\u062a\u0647 \u06af\u0631\u06cc \u0686\u06cc\u0633\u062a\u061f<\/p>\n<p>Foundry \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u062a\u0648\u0633\u0639\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f Solidity \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u06cc\u06a9 \u062a\u062c\u0631\u0628\u0647 \u062a\u0648\u0633\u0639\u0647 \u06a9\u0627\u0631\u0622\u0645\u062f\u062a\u0631 \u0648 \u0642\u0648\u06cc\u200c\u062a\u0631 \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a. \u0645\u062c\u0645\u0648\u0639\u0647 \u06a9\u0627\u0645\u0644\u06cc \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0634\u0627\u0645\u0644 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644\u060c \u0622\u0632\u0645\u0627\u06cc\u0634\u060c \u0627\u0634\u06a9\u0627\u0644 \u0632\u062f\u0627\u06cc\u06cc \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0647\u0645\u0647 \u062f\u0631 \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u0648\u0627\u062d\u062f \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0634\u062f\u0647 \u0627\u0646\u062f.<\/p>\n<p>  \u0686\u0631\u0627 \u0627\u0632 Foundry \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<\/p>\n<p>\u0633\u0631\u0639\u062a: \u062a\u062f\u0648\u06cc\u0646 \u0633\u0631\u06cc\u0639 \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f.<\/p>\n<p>\u0633\u0647\u0648\u0644\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647: \u0631\u0627\u0628\u0637 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 \u0628\u0635\u0631\u06cc \u0648 \u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0636\u062d.<\/p>\n<p>\u0628\u06cc\u0636\u0647 \u0647\u0627: \u0686\u0627\u0631\u0686\u0648\u0628 \u062a\u0633\u062a \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0628\u0631\u0627\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u06a9\u06cc\u0641\u06cc\u062a \u06a9\u062f.<\/p>\n<p>\u062a\u0648\u0633\u0639\u0647 \u067e\u0630\u06cc\u0631\u06cc: Foundry \u0631\u0627 \u0628\u0627 \u067e\u0644\u0627\u06af\u06cc\u0646 \u0647\u0627 \u0648 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u062c\u0627\u0645\u0639\u0647: \u06cc\u06a9 \u062c\u0627\u0645\u0639\u0647 \u0641\u0639\u0627\u0644 \u0648 \u062f\u0627\u0626\u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0631\u0634\u062f.<\/p>\n<p>  \u0628\u0631\u062e\u06cc \u0627\u0632 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u0627\u0635\u0644\u06cc Foundry:<\/p>\n<p>\u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0627\u0628\u0633\u062a\u06af\u06cc: Foundry \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u062f\u060c \u0627\u0632 \u062c\u0645\u0644\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0633\u0627\u06cc\u0631 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627.<\/p>\n<p>\u062a\u0627\u0644\u06cc\u0641: Foundry \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc Solidity \u0634\u0645\u0627 \u0631\u0627 \u0633\u0631\u06cc\u0639 \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0628\u0627\u06cc\u062a \u06a9\u062f \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc \u0634\u062f\u0647 \u0631\u0627 \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<p>\u0628\u06cc\u0636\u0647 \u0647\u0627: Foundry \u0634\u0627\u0645\u0644 \u06cc\u06a9 \u0686\u0627\u0631\u0686\u0648\u0628 \u062a\u0633\u062a \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u062a\u0633\u062a \u0647\u0627\u06cc \u0648\u0627\u062d\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f \u0648 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u06a9\u0627\u0634\u062a: Foundry \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u06cc\u0627 \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u0627\u0635\u0644\u06cc \u0622\u0633\u0627\u0646 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u062a\u0639\u0627\u0645\u0644 \u0628\u0627 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646: Foundry \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u0627\u0632 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0628\u0627 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u062a\u0639\u0627\u0645\u0644 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u0648 \u062a\u0648\u0633\u0639\u0647 \u0648 \u0627\u0634\u06a9\u0627\u0644 \u0632\u062f\u0627\u06cc\u06cc \u0631\u0627 \u062a\u0633\u0647\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 Foundry \u0631\u0627 \u0633\u0641\u0627\u0631\u0634\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u06af\u0633\u062a\u0631\u0634 \u062f\u0647\u06cc\u0645 \u0648 \u0628\u0647 \u0634\u0645\u0627 \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0631\u0627 \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645 \u06a9\u0647 \u0627\u0628\u0632\u0627\u0631 \u0631\u0627 \u0628\u0627 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u062e\u0627\u0635 \u062e\u0648\u062f \u062a\u0637\u0628\u06cc\u0642 \u062f\u0647\u06cc\u062f.<\/p>\n<p>  \u0646\u0635\u0628 Foundry \u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632<\/p>\n<p>\u0646\u0635\u0628 \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 Foundry\u060c \u0627\u0628\u0632\u0627\u0631\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f \u062f\u0631 Solidity\u060c \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0634\u0645\u0627.\u0645\u0627 \u0627\u0632 \u0632\u06cc\u0631\u0633\u06cc\u0633\u062a\u0645 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0628\u0631\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633 (WSL) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f\u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0645\u0627\u0646\u0646\u062f \u0644\u06cc\u0646\u0648\u06a9\u0633\u060c\u0627\u06cc\u062f\u0647 \u0622\u0644 \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f<\/p>\n<p>  \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627:<\/p>\n<p>\u0631\u0627\u06cc\u0627\u0646\u0647 \u0627\u06cc \u0628\u0627 \u0648\u06cc\u0646\u062f\u0648\u0632 10 \u06cc\u0627 \u0628\u0627\u0644\u0627\u062a\u0631.<br \/>\n\u06cc\u06a9 \u0627\u062a\u0635\u0627\u0644 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u06cc<\/p>\n<p>  \u0645\u0631\u062d\u0644\u0647 1: \u0646\u0635\u0628 WSL (\u0632\u06cc\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0628\u0631\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633)<\/p>\n<p>\u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f: \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc Windows + R \u0631\u0627 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f\u060c &#8220;cmd&#8221; \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0646\u06cc\u062f \u0648 Enter \u0631\u0627 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<p>\u0646\u0635\u0628 \u06cc\u0627 \u062f\u0628\u06cc\u0627\u0646: \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>   wsl &#8211;install Debian<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0627\u0631\u0628\u0631: \u0647\u0646\u06af\u0627\u0645 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc\u060c \u0627\u0632 \u0634\u0645\u0627 \u062e\u0648\u0627\u0633\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u06cc\u06a9 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u0634\u0627\u0647\u062f\u0647: \u0627\u06af\u0631 \u0647\u0646\u06af\u0627\u0645 \u0646\u0635\u0628 WSL \u0628\u0627 \u0645\u0634\u06a9\u0644\u06cc \u0645\u0648\u0627\u062c\u0647 \u0634\u062f\u06cc\u062f\u060c \u0644\u0637\u0641\u0627\u064b \u0628\u0631\u0627\u06cc \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u0628\u0647 \u0627\u06cc\u0646 \u067e\u06cc\u0648\u0646\u062f \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f: https:\/\/answers.microsoft.com\/en-us\/windows\/forum\/all\/0x8000000d-ubuntu-installation-fails-with-error\/ dde92478 -bcaf-41a1-a204-8cbf31273ca2<\/p>\n<p>  \u0645\u0631\u062d\u0644\u0647 2: \u06a9\u062f \u0648\u06cc\u0698\u0648\u0627\u0644 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648 \u0631\u0627 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 WSL \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u0627\u0641\u0632\u0648\u062f\u0646\u06cc \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f: Visual Studio Code \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u067e\u0633\u0648\u0646\u062f\u0647\u0627\u06cc &#8220;Remote &#8211; WSL&#8221; \u0628\u06af\u0631\u062f\u06cc\u062f \u0648 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0627\u062a\u0635\u0627\u0644 \u0628\u0647 WSL: \u0631\u0648\u06cc \u0646\u0645\u0627\u062f Remote Explorer \u062f\u0631 \u0646\u0648\u0627\u0631 \u06a9\u0646\u0627\u0631\u06cc \u0633\u0645\u062a \u0686\u067e \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f \u0648 \u0645\u062d\u06cc\u0637 Linux (Debian) \u062e\u0648\u062f \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u06cc\u06a9 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f: \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 VS Code\u060c \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062c\u062f\u06cc\u062f \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 Foundry \u062e\u0648\u062f \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>   mkdir foundry-project<br \/>\n   cd foundry-project<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u0645\u0631\u062d\u0644\u0647 3: Git \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u06cc\u0627 Git \u0646\u0635\u0628 \u0634\u062f\u0647 \u0627\u0633\u062a: \u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f git &#8211;version \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0627\u06af\u0631 Git \u0646\u0635\u0628 \u0646\u06cc\u0633\u062a\u060c \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>   sudo apt-get install git<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>Git \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<p>   git config &#8211;global user.email &#8220;seu_email@example.com&#8221;<br \/>\n   git config &#8211;global user.name &#8220;Seu Nome&#8221;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u0645\u0631\u062d\u0644\u0647 4: Foundry \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u06a9\u0631\u0644 \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>   sudo apt-get install curl<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0646\u0635\u0628 o Foundry:<\/p>\n<p>   curl -L https:\/\/foundry.paradigm.xyz | bash<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>Foundry \u0631\u0627 \u0628\u0647 PATH \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>   source ~\/.bashrc  # ou ~\/.zshrc dependendo do shell<\/p>\n<p>4. **Atualize o Foundry:**<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u0631\u06cc\u062e\u062a\u0647 \u06af\u0631\u06cc<\/p>\n<p>5. **Verifique a vers\u00e3o:**<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u062c\u0639\u0644 &#8212; \u0646\u0633\u062e\u0647<\/p>\n<p>### Passo 5: Crie seu primeiro projeto Foundry<\/p>\n<p>1. **Inicialize um novo projeto:**<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062fforge init my-project<\/p>\n<p>2. **Abra o projeto no VS Code:**<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u0633\u06cc \u062f\u06cc \u067e\u0631\u0648\u0698\u0647 \u0645\u0646\u06a9\u062f .<\/p>\n<p>## Come\u00e7ando a Desenvolver<\/p>\n<p>Agora voc\u00ea tem o Foundry instalado e configurado para come\u00e7ar a desenvolver seus contratos inteligentes em Solidity. Explore a documenta\u00e7\u00e3o oficial do Foundry para aprender mais sobre seus recursos e funcionalidades.<\/p>\n<p>**Observa\u00e7\u00f5es:**<\/p>\n<p>* **Documenta\u00e7\u00e3o oficial do Foundry:** [https:\/\/book.getfoundry.sh\/](https:\/\/book.getfoundry.sh\/)<br \/>\n* **Comunidade Foundry:** Participe da comunidade do Foundry para obter ajuda e compartilhar seus conhecimentos.<\/p>\n<p>## **Pr\u00e9-requisitos**<br \/>\n1. Conhecimento b\u00e1sico de programa\u00e7\u00e3o e **Solidity**.<br \/>\n2. Instala\u00e7\u00e3o do [Foundry](https:\/\/book.getfoundry.sh\/) e suas depend\u00eancias:<br \/>\n3.  Uma carteira Ethereum, para obter a chaves (como MetaMask).<\/p>\n<p>&#8212;<\/p>\n<p>### **Passo 1: Configurar um novo projeto**<\/p>\n<p>1. Crie um novo projeto com o Foundry:<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u0642\u0631\u0627\u0631\u062f\u0627\u062f init my-smart-\u0631\u0627 \u062c\u0639\u0644 \u06a9\u0646\u06cc\u062f<\/p>\n<p>   Isso criar\u00e1 uma estrutura de pastas como esta:<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0645\u0646\/\u251c\u2500\u2500 lib\/\u251c\u2500\u2500 src\/\u2502 \u2514\u2500\u2500 Counter.sol\u251c\u2500\u2500 \u0641\u06cc\u0644\u0645\u0646\u0627\u0645\u0647\/\u2502 \u2514\u2500\u2500 Deploy.s.sol\u251c\u2500\u2500 \u062a\u0633\u062a\/\u2502 \u2514\u2500\u2500 Counter.t.sol\u2514\u2500\u2500 \u0631\u06cc\u062e\u062a\u0647 \u06af\u0631\u06cc.toml<\/p>\n<p>2. Entre no diret\u00f3rio do projeto:<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u0633\u06cc \u062f\u06cc my-smart-contract<\/p>\n<p>3. Instale depend\u00eancias adicionais, se necess\u00e1rio (como OpenZeppelin):<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062fforge \u0646\u0635\u0628 OpenZeppelin\/openzeppelin-contracts<\/p>\n<p>&#8212;<\/p>\n<p>### **Passo 2: Escrever um Smart Contract**<\/p>\n<p>1. Criar um novo arquivo `src\/SimpleStorage.sol`, programar um novo contrato. Por exemplo, um contrato simples de armazenamento:<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u0633\u062a\u062d\u06a9\u0627\u0645\/\/ SPDX-License-Identifier: MIT\u0627\u0633\u062a\u062d\u06a9\u0627\u0645 \u067e\u0631\u0627\u06af\u0645\u0627 ^0.8.0;<\/p>\n<p>\u0642\u0631\u0627\u0631\u062f\u0627\u062f SimpleStorage {uint256 private storedData.<\/p>\n<p>   event DataStored(uint256 data);<\/p>\n<p>   function set(uint256 x) public {<br \/>\n       storedData = x;<br \/>\n       emit DataStored(x);<br \/>\n   }<\/p>\n<p>   function get() public view returns (uint256) {<br \/>\n       return storedData;<br \/>\n   }<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>}<\/p>\n<p>2. Salve o arquivo.<\/p>\n<p>&#8212;<\/p>\n<p>### **Passo 4: Testar o contrato com Foundry**<\/p>\n<p>1. Crie um arquivo de teste no diret\u00f3rio `test\/`, por exemplo, `SimpleStorage.t.sol`:<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u0633\u062a\u062d\u06a9\u0627\u0645\/\/ SPDX-License-Identifier: MIT\u0627\u0633\u062a\u062d\u06a9\u0627\u0645 \u067e\u0631\u0627\u06af\u0645\u0627 ^0.8.0;<\/p>\n<p>\u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 &#8220;forge-std\/Test.sol&#8221;\u061b\u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 &#8220;..\/src\/SimpleStorage.sol&#8221;\u061b<\/p>\n<p>\u0642\u0631\u0627\u0631\u062f\u0627\u062f SimpleStorageTest \u062a\u0633\u062a \u0627\u0633\u062a {SimpleStorage simpleStorage;<\/p>\n<p>   function setUp() public {<br \/>\n       simpleStorage = new SimpleStorage();<br \/>\n   }<\/p>\n<p>   function testSetAndGet() public {<br \/>\n       simpleStorage.set(42);<br \/>\n       uint256 value = simpleStorage.get();<br \/>\n       assertEq(value, 42, &#8220;Stored value is incorrect&#8221;);<br \/>\n   }<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>}<\/p>\n<p>2. Execute os testes:<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u062a\u0633\u062a \u062c\u0639\u0644<\/p>\n<p>   Voc\u00ea ver\u00e1 a sa\u00edda indicando se os testes passaram.<\/p>\n<p>&#8212;<\/p>\n<p>### **Passo 5: Implementar o script de implanta\u00e7\u00e3o**<\/p>\n<p>1. No arquivo `script\/Deploy.s.sol`, crie um script para implantar o contrato:<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u0633\u062a\u062d\u06a9\u0627\u0645\/\/ SPDX-License-Identifier: MIT\u0627\u0633\u062a\u062d\u06a9\u0627\u0645 \u067e\u0631\u0627\u06af\u0645\u0627 ^0.8.0;<\/p>\n<p>\u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 &#8220;forge-std\/Script.sol&#8221;\u061b\u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 &#8220;..\/src\/SimpleStorage.sol&#8221;\u061b<\/p>\n<p>\u0642\u0631\u0627\u0631\u062f\u0627\u062f DeploySimpleStorage \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0633\u062a {\u062a\u0627\u0628\u0639 run() \u062e\u0627\u0631\u062c\u06cc {vm.startBroadcast();SimpleStorage simpleStorage = new SimpleStorage();console.log(&#8220;SimpleStorage \u0645\u0633\u062a\u0642\u0631 \u062f\u0631:&#8221;\u060c \u0622\u062f\u0631\u0633(simpleStorage));vm.stopBroadcast();}}<\/p>\n<p>2. Compile os contratos:<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u0633\u0627\u062e\u062a \u0641\u0648\u0631\u062c<\/p>\n<p>3. Execute o script de implanta\u00e7\u00e3o:<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a forge script\/Deploy.s.sol &#8211;rpc-url &#8211;private-key &#8211;broadcast<\/p>\n<p>   &#8211; Substitua &#8220; pelo URL do seu n\u00f3 Ethereum (por exemplo, Infura ou Alchemy).<br \/>\n   &#8211; Substitua &#8220; pela chave privada da sua carteira.<\/p>\n<p>&#8212;<\/p>\n<p>### **Passo 6: Interagir com o contrato**<\/p>\n<p>Ap\u00f3s a implanta\u00e7\u00e3o, voc\u00ea pode interagir com o contrato usando ferramentas como:<br \/>\n&#8211; **Ethers.js** ou **Web3.js**.<br \/>\n&#8211; **forge** para chamadas diretas.<\/p>\n<p>Por exemplo, para chamar fun\u00e7\u00f5es:<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062fforge \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc &#8211;rpc-url &#8211;to &#8211;function &#8220;get()&#8221; &#8211;abi src\/SimpleStorage.sol<\/p>\n<p>&#8212;<\/p>\n<p>### **Passo 7: Melhorar e iterar**<\/p>\n<p>&#8211; Adicione funcionalidades ao seu contrato.<br \/>\n&#8211; Crie mais testes para cobrir casos de uso adicionais.<br \/>\n&#8211; Experimente diferentes modos de Foundry para otimizar ou analisar o g\u00e1s consumido:<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u062a\u0633\u062a \u062c\u0639\u0644 &#8211;\u06af\u0627\u0632-\u06af\u0632\u0627\u0631\u0634<\/p>\n<p>## Comandos Essenciais<\/p>\n<p>Aqui est\u00e3o os principais comandos do **Foundry** para desenvolvimento, organizados com explica\u00e7\u00f5es e exemplos pr\u00e1ticos:<\/p>\n<p>### **Configura\u00e7\u00e3o Inicial**<br \/>\n1. **`forge init`**<br \/>\n   Inicializa um novo projeto Foundry.<br \/>\n   **Exemplo**:  <\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062fforge init my-project\u0633\u06cc \u062f\u06cc \u067e\u0631\u0648\u0698\u0647 \u0645\u0646<\/p>\n<p>2. **`forge build`**<br \/>\n   Compila os contratos no projeto.<br \/>\n   **Exemplo**:  <\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u0633\u0627\u062e\u062a \u0641\u0648\u0631\u062c<\/p>\n<p>   &#8211; Os artefatos gerados s\u00e3o salvos na pasta `out\/`.<\/p>\n<p>3. **`forge clean`**<br \/>\n   Remove os artefatos de compila\u00e7\u00e3o e limpa o cache.<br \/>\n   **Exemplo**:  <\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u062c\u0639\u0644 \u062a\u0645\u06cc\u0632<\/p>\n<p>&#8212;<\/p>\n<p>### **Testes**<br \/>\n4. **`forge test`**<br \/>\n   Executa testes automatizados em contratos.<br \/>\n   **Exemplo**:  <\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u062a\u0633\u062a \u062c\u0639\u0644<\/p>\n<p>   &#8211; **Op\u00e7\u00f5es \u00fateis**:<br \/>\n     &#8211; Aumentar verbosidade dos logs:<br \/>\n       &#8220;`<\/p>\n<p>bash<br \/>\n       forge test -vvv<\/p>\n<p>       &#8220;`<br \/>\n     &#8211; Rodar um teste espec\u00edfico:<br \/>\n       &#8220;`<\/p>\n<p>bash<br \/>\n       forge test &#8211;match-test testFunctionName<\/p>\n<p>       &#8220;`<\/p>\n<p>5. **`forge snapshot`**<br \/>\n   Atualiza snapshots para testes baseados em valores fixos.<br \/>\n   **Exemplo**:  <\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u062c\u0639\u0644 \u0639\u06a9\u0633 \u0641\u0648\u0631\u06cc<\/p>\n<p>&#8212;<\/p>\n<p>### **Deploy e Intera\u00e7\u00e3o**<br \/>\n6. **`forge create`**<br \/>\n   Implanta contratos em uma blockchain.<br \/>\n   **Exemplo**:  <\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062fforge \u0627\u06cc\u062c\u0627\u062f ContractName &#8211;rpc-url &#8211;private-key <\/p>\n<p>7. **`forge call`**<br \/>\n   Faz chamadas para m\u00e9todos de contratos j\u00e1 implantados.<br \/>\n   **Exemplo**:  <\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062fforge call &#8211;rpc-url &#8211;address &#8211;sig &#8220;methodName(uint256)&#8221; 123<\/p>\n<p>&#8212;<\/p>\n<p>### **Auditoria e Seguran\u00e7a**<br \/>\n8. **`forge verify-contract`**<br \/>\n   Verifica o contrato no Etherscan ou outro explorador.<br \/>\n   **Exemplo**:  <\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062fforge verify-contract 0x1234&#8230; MyContract &#8211;chain-id 1 &#8211;etherscan-api-key <\/p>\n<p>9. **`forge coverage`**<br \/>\n   Gera relat\u00f3rios de cobertura para os testes.<br \/>\n   **Exemplo**:  <\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f\u067e\u0648\u0634\u0634 \u062c\u0639\u0644<\/p>\n<p>&#8212;<\/p>\n<p>### **Utilit\u00e1rios**<br \/>\n10. **`forge inspect`**<br \/>\n    Mostra informa\u00e7\u00f5es detalhadas sobre contratos, como ABI ou bytecode.<br \/>\n    **Exemplo**:<br \/>\n    &#8220;`<\/p>\n<p>bash<br \/>\n    forge inspect ContractName abi<\/p>\n<p>    &#8220;`<\/p>\n<p>11. **`forge update`**<br \/>\n    Atualiza as depend\u00eancias do projeto.<br \/>\n    **Exemplo**:<br \/>\n    &#8220;`<\/p>\n<p>bash<br \/>\n    forge update<\/p>\n<p>    &#8220;`<\/p>\n<p>12. **`forge fmt`**<br \/>\n    Formata automaticamente os arquivos Solidity do projeto.<br \/>\n    **Exemplo**:<br \/>\n    &#8220;`<\/p>\n<p>bash<br \/>\n    forge fmt<\/p>\n<p>    &#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>### **Gerenciamento de Depend\u00eancias**<br \/>\n13. **`forge install`**<br \/>\n    Adiciona uma depend\u00eancia ao projeto.<br \/>\n    **Exemplo**:<br \/>\n    &#8220;`<\/p>\n<p>bash<br \/>\n    forge install OpenZeppelin\/openzeppelin-contracts<\/p>\n<p>    &#8220;`<\/p>\n<p>14. **`forge remap`**<br \/>\n    Atualiza os remappings no arquivo `remappings.txt`.<br \/>\n    **Exemplo**:<br \/>\n    &#8220;`<\/p>\n<p>bash<br \/>\n    forge remap<\/p>\n<p>    &#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>### **Configura\u00e7\u00e3o Geral**<br \/>\n15. **`forge config`**<br \/>\n    Exibe as configura\u00e7\u00f5es do projeto.<br \/>\n    **Exemplo**:<br \/>\n    &#8220;`<\/p>\n<p>bash<br \/>\n    forge config<\/p>\n<p>    &#8220;`<\/p>\n<p>16. **`forge cache`**<br \/>\n    Gerencia o cache do projeto.<br \/>\n    **Exemplo**:<br \/>\n    &#8220;`<\/p>\n<p>bash<br \/>\n    forge cache ls<br \/>\n    forge cache clean<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u062e\u0644\u0627\u0635\u0647 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0636\u0631\u0648\u0631\u06cc<\/p>\n<p>\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0628\u0631\u0627\u06cc \u0647\u0631 \u06a9\u0633\u06cc \u06a9\u0647 \u0628\u0627 \u0622\u0646 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u0636\u0631\u0648\u0631\u06cc \u0627\u0633\u062a \u0631\u06cc\u062e\u062a\u0647 \u06af\u0631\u06cc \u062f\u0631 \u062a\u0648\u0633\u0639\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f \u0627\u06af\u0631 \u062f\u0631 \u0645\u0648\u0631\u062f \u0645\u0648\u0627\u0631\u062f \u062e\u0627\u0635 \u06cc\u0627 \u062c\u0632\u0626\u06cc\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u0628\u0647 \u06a9\u0645\u06a9 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f\u060c \u0628\u0627 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0645\u0634\u0648\u0631\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n<p>forge init : \u067e\u0631\u0648\u0698\u0647 \u062c\u062f\u06cc\u062f\u06cc \u0631\u0627 \u0634\u0631\u0648\u0639 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>forge build: \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc Solidity \u0631\u0627 \u062a\u062f\u0648\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>forge test: \u062a\u0633\u062a \u0647\u0627 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>forge create: \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u06cc \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0634\u0628\u06a9\u0647 \u0645\u0633\u062a\u0642\u0631 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>forge script: \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>forge upgrade: \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0645\u0633\u062a\u0642\u0631 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>forge inspect: \u0628\u0627\u06cc\u062a \u06a9\u062f \u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>forge inspect Greeter.sol:Greeter: \u0628\u0627\u06cc\u062a \u06a9\u062f \u0642\u0631\u0627\u0631\u062f\u0627\u062f Greeter \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>forge clean: \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062a\u0648\u0644\u06cc\u062f \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u0631\u0627 \u067e\u0627\u06a9 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>forge fmt: \u0641\u0631\u0645\u062a \u06a9\u062f \u062c\u0627\u0645\u062f.<\/p>\n<p>forge verify: \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u06a9\u0627\u0648\u0634\u06af\u0631 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u062a\u0623\u06cc\u06cc\u062f \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>  \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627<\/p>\n<div data-article-id=\"2141941\" id=\"article-body\">\n<p>Foundry \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u062a\u0648\u0633\u0639\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0628\u0631\u0627\u06cc Solidity \u0627\u0633\u062a.<br \/>\u0637\u06cc\u0641 \u06af\u0633\u062a\u0631\u062f\u0647 \u0627\u06cc \u0627\u0632 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0633\u0647\u06cc\u0644 \u062a\u0648\u0633\u0639\u0647\u060c \u0622\u0632\u0645\u0627\u06cc\u0634 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f \u062f\u0631 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u0647\u0627\u06cc EVM \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u062a\u063a\u06cc\u06cc\u0631 \u0648\u0636\u0639\u06cc\u062a \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/foundry-tutorial-para-inciantes-58o1\/#%D8%B1%DB%8C%D8%AE%D8%AA%D9%87_%DA%AF%D8%B1%DB%8C_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F\" >\u0631\u06cc\u062e\u062a\u0647 \u06af\u0631\u06cc \u0686\u06cc\u0633\u062a\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/foundry-tutorial-para-inciantes-58o1\/#%DA%86%D8%B1%D8%A7_%D8%A7%D8%B2_Foundry_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\" >\u0686\u0631\u0627 \u0627\u0632 Foundry \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/foundry-tutorial-para-inciantes-58o1\/#%D8%A8%D8%B1%D8%AE%DB%8C_%D8%A7%D8%B2_%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D9%87%D8%A7%DB%8C_%D8%A7%D8%B5%D9%84%DB%8C_Foundry\" >\u0628\u0631\u062e\u06cc \u0627\u0632 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u0627\u0635\u0644\u06cc Foundry:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/foundry-tutorial-para-inciantes-58o1\/#%D9%86%D8%B5%D8%A8_Foundry_%D8%AF%D8%B1_%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2\" >\u0646\u0635\u0628 Foundry \u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/foundry-tutorial-para-inciantes-58o1\/#%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2%D9%87%D8%A7\" >\u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/foundry-tutorial-para-inciantes-58o1\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%D9%86%D8%B5%D8%A8_WSL_%D8%B2%DB%8C%D8%B1_%D8%B3%DB%8C%D8%B3%D8%AA%D9%85_%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3\" >\u0645\u0631\u062d\u0644\u0647 1: \u0646\u0635\u0628 WSL (\u0632\u06cc\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0628\u0631\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/foundry-tutorial-para-inciantes-58o1\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%DA%A9%D8%AF_%D9%88%DB%8C%DA%98%D9%88%D8%A7%D9%84_%D8%A7%D8%B3%D8%AA%D9%88%D8%AF%DB%8C%D9%88_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%A7%DB%8C_%DA%A9%D8%A7%D8%B1_%D8%A8%D8%A7_WSL_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 2: \u06a9\u062f \u0648\u06cc\u0698\u0648\u0627\u0644 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648 \u0631\u0627 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 WSL \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/foundry-tutorial-para-inciantes-58o1\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_Git_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 3: Git \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/foundry-tutorial-para-inciantes-58o1\/#%D9%85%D8%B1%D8%AD%D9%84%D9%87_4_Foundry_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0645\u0631\u062d\u0644\u0647 4: Foundry \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/foundry-tutorial-para-inciantes-58o1\/#%D8%AE%D9%84%D8%A7%D8%B5%D9%87_%D8%AF%D8%B3%D8%AA%D9%88%D8%B1%D8%A7%D8%AA_%D8%B6%D8%B1%D9%88%D8%B1%DB%8C\" >\u062e\u0644\u0627\u0635\u0647 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0636\u0631\u0648\u0631\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/foundry-tutorial-para-inciantes-58o1\/#%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D9%87%D8%A7\" >\u0648\u06cc\u0698\u06af\u06cc \u0647\u0627<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B1%DB%8C%D8%AE%D8%AA%D9%87_%DA%AF%D8%B1%DB%8C_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F\"><\/span>\n<p>  \u0631\u06cc\u062e\u062a\u0647 \u06af\u0631\u06cc \u0686\u06cc\u0633\u062a\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Foundry \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u062a\u0648\u0633\u0639\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f Solidity \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u06cc\u06a9 \u062a\u062c\u0631\u0628\u0647 \u062a\u0648\u0633\u0639\u0647 \u06a9\u0627\u0631\u0622\u0645\u062f\u062a\u0631 \u0648 \u0642\u0648\u06cc\u200c\u062a\u0631 \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a. \u0645\u062c\u0645\u0648\u0639\u0647 \u06a9\u0627\u0645\u0644\u06cc \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0634\u0627\u0645\u0644 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644\u060c \u0622\u0632\u0645\u0627\u06cc\u0634\u060c \u0627\u0634\u06a9\u0627\u0644 \u0632\u062f\u0627\u06cc\u06cc \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0647\u0645\u0647 \u062f\u0631 \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u0648\u0627\u062d\u062f \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0634\u062f\u0647 \u0627\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%DA%86%D8%B1%D8%A7_%D8%A7%D8%B2_Foundry_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\"><\/span>\n<p>  \u0686\u0631\u0627 \u0627\u0632 Foundry \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>\n<strong>\u0633\u0631\u0639\u062a:<\/strong> \u062a\u062f\u0648\u06cc\u0646 \u0633\u0631\u06cc\u0639 \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f.<\/li>\n<li>\n<strong>\u0633\u0647\u0648\u0644\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647:<\/strong> \u0631\u0627\u0628\u0637 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 \u0628\u0635\u0631\u06cc \u0648 \u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0636\u062d.<\/li>\n<li>\n<strong>\u0628\u06cc\u0636\u0647 \u0647\u0627:<\/strong> \u0686\u0627\u0631\u0686\u0648\u0628 \u062a\u0633\u062a \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0628\u0631\u0627\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u06a9\u06cc\u0641\u06cc\u062a \u06a9\u062f.<\/li>\n<li>\n<strong>\u062a\u0648\u0633\u0639\u0647 \u067e\u0630\u06cc\u0631\u06cc:<\/strong> Foundry \u0631\u0627 \u0628\u0627 \u067e\u0644\u0627\u06af\u06cc\u0646 \u0647\u0627 \u0648 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\n<strong>\u062c\u0627\u0645\u0639\u0647:<\/strong> \u06cc\u06a9 \u062c\u0627\u0645\u0639\u0647 \u0641\u0639\u0627\u0644 \u0648 \u062f\u0627\u0626\u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0631\u0634\u062f.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A8%D8%B1%D8%AE%DB%8C_%D8%A7%D8%B2_%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D9%87%D8%A7%DB%8C_%D8%A7%D8%B5%D9%84%DB%8C_Foundry\"><\/span>\n<p>  \u0628\u0631\u062e\u06cc \u0627\u0632 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u0627\u0635\u0644\u06cc Foundry:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\n<strong>\u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0627\u0628\u0633\u062a\u06af\u06cc:<\/strong> Foundry \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u062e\u0648\u062f \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u062f\u060c \u0627\u0632 \u062c\u0645\u0644\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0633\u0627\u06cc\u0631 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627.<\/li>\n<li>\n<strong>\u062a\u0627\u0644\u06cc\u0641:<\/strong> Foundry \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc Solidity \u0634\u0645\u0627 \u0631\u0627 \u0633\u0631\u06cc\u0639 \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0628\u0627\u06cc\u062a \u06a9\u062f \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc \u0634\u062f\u0647 \u0631\u0627 \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n<li>\n<strong>\u0628\u06cc\u0636\u0647 \u0647\u0627:<\/strong> Foundry \u0634\u0627\u0645\u0644 \u06cc\u06a9 \u0686\u0627\u0631\u0686\u0648\u0628 \u062a\u0633\u062a \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u062a\u0633\u062a \u0647\u0627\u06cc \u0648\u0627\u062d\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f \u0648 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\n<strong>\u06a9\u0627\u0634\u062a:<\/strong> Foundry \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u06cc\u0627 \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u0627\u0635\u0644\u06cc \u0622\u0633\u0627\u0646 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong>\u062a\u0639\u0627\u0645\u0644 \u0628\u0627 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646:<\/strong> Foundry \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u0627\u0632 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0628\u0627 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u062a\u0639\u0627\u0645\u0644 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u0648 \u062a\u0648\u0633\u0639\u0647 \u0648 \u0627\u0634\u06a9\u0627\u0644 \u0632\u062f\u0627\u06cc\u06cc \u0631\u0627 \u062a\u0633\u0647\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<\/ul>\n<p>\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 Foundry \u0631\u0627 \u0633\u0641\u0627\u0631\u0634\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u06af\u0633\u062a\u0631\u0634 \u062f\u0647\u06cc\u0645 \u0648 \u0628\u0647 \u0634\u0645\u0627 \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0631\u0627 \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645 \u06a9\u0647 \u0627\u0628\u0632\u0627\u0631 \u0631\u0627 \u0628\u0627 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u062e\u0627\u0635 \u062e\u0648\u062f \u062a\u0637\u0628\u06cc\u0642 \u062f\u0647\u06cc\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%D8%B5%D8%A8_Foundry_%D8%AF%D8%B1_%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2\"><\/span>\n<p>  \u0646\u0635\u0628 Foundry \u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0646\u0635\u0628 \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 Foundry\u060c \u0627\u0628\u0632\u0627\u0631\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f <br \/>\u062f\u0631 Solidity\u060c \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0634\u0645\u0627.<br \/>\u0645\u0627 \u0627\u0632 \u0632\u06cc\u0631\u0633\u06cc\u0633\u062a\u0645 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0628\u0631\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633 (WSL) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f<br \/>\u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0645\u0627\u0646\u0646\u062f \u0644\u06cc\u0646\u0648\u06a9\u0633\u060c<br \/>\u0627\u06cc\u062f\u0647 \u0622\u0644 \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2%D9%87%D8%A7\"><\/span>\n<p>  \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\u0631\u0627\u06cc\u0627\u0646\u0647 \u0627\u06cc \u0628\u0627 \u0648\u06cc\u0646\u062f\u0648\u0632 10 \u06cc\u0627 \u0628\u0627\u0644\u0627\u062a\u0631.<\/li>\n<li>\u06cc\u06a9 \u0627\u062a\u0635\u0627\u0644 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u06cc<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_1_%D9%86%D8%B5%D8%A8_WSL_%D8%B2%DB%8C%D8%B1_%D8%B3%DB%8C%D8%B3%D8%AA%D9%85_%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3\"><\/span>\n<p>  \u0645\u0631\u062d\u0644\u0647 1: \u0646\u0635\u0628 WSL (\u0632\u06cc\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0628\u0631\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>\n<strong>\u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/strong> \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc Windows + R \u0631\u0627 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f\u060c &#8220;cmd&#8221; \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0646\u06cc\u062f \u0648 Enter \u0631\u0627 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f.<\/li>\n<li>\n<strong>\u0646\u0635\u0628 \u06cc\u0627 \u062f\u0628\u06cc\u0627\u0646:<\/strong> \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   wsl <span class=\"nt\">--install<\/span> Debian\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\n<strong>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0627\u0631\u0628\u0631:<\/strong> \u0647\u0646\u06af\u0627\u0645 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc\u060c \u0627\u0632 \u0634\u0645\u0627 \u062e\u0648\u0627\u0633\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u06cc\u06a9 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<p><strong>\u0645\u0634\u0627\u0647\u062f\u0647:<\/strong> \u0627\u06af\u0631 \u0647\u0646\u06af\u0627\u0645 \u0646\u0635\u0628 WSL \u0628\u0627 \u0645\u0634\u06a9\u0644\u06cc \u0645\u0648\u0627\u062c\u0647 \u0634\u062f\u06cc\u062f\u060c \u0644\u0637\u0641\u0627\u064b \u0628\u0631\u0627\u06cc \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u0628\u0647 \u0627\u06cc\u0646 \u067e\u06cc\u0648\u0646\u062f \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f: https:\/\/answers.microsoft.com\/en-us\/windows\/forum\/all\/0x8000000d-ubuntu-installation-fails-with-error\/ dde92478 -bcaf-41a1-a204-8cbf31273ca2<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_2_%DA%A9%D8%AF_%D9%88%DB%8C%DA%98%D9%88%D8%A7%D9%84_%D8%A7%D8%B3%D8%AA%D9%88%D8%AF%DB%8C%D9%88_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%A7%DB%8C_%DA%A9%D8%A7%D8%B1_%D8%A8%D8%A7_WSL_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0645\u0631\u062d\u0644\u0647 2: \u06a9\u062f \u0648\u06cc\u0698\u0648\u0627\u0644 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648 \u0631\u0627 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 WSL \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>\n<strong>\u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u0627\u0641\u0632\u0648\u062f\u0646\u06cc \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/strong> Visual Studio Code \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u067e\u0633\u0648\u0646\u062f\u0647\u0627\u06cc &#8220;Remote &#8211; WSL&#8221; \u0628\u06af\u0631\u062f\u06cc\u062f \u0648 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\n<strong>\u0627\u062a\u0635\u0627\u0644 \u0628\u0647 WSL:<\/strong> \u0631\u0648\u06cc \u0646\u0645\u0627\u062f Remote Explorer \u062f\u0631 \u0646\u0648\u0627\u0631 \u06a9\u0646\u0627\u0631\u06cc \u0633\u0645\u062a \u0686\u067e \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f \u0648 \u0645\u062d\u06cc\u0637 Linux (Debian) \u062e\u0648\u062f \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\n<strong>\u06cc\u06a9 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/strong> \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 VS Code\u060c \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062c\u062f\u06cc\u062f \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 Foundry \u062e\u0648\u062f \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   <span class=\"nb\">mkdir <\/span>foundry-project\n   <span class=\"nb\">cd <\/span>foundry-project\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_3_Git_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0645\u0631\u062d\u0644\u0647 3: Git \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>\n<strong>\u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u06cc\u0627 Git \u0646\u0635\u0628 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/strong> \u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f <code>git --version<\/code> \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0627\u06af\u0631 Git \u0646\u0635\u0628 \u0646\u06cc\u0633\u062a\u060c \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   <span class=\"nb\">sudo <\/span>apt-get <span class=\"nb\">install <\/span>git\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\n<strong>Git \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f:<\/strong>\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   git config <span class=\"nt\">--global<\/span> user.email <span class=\"s2\">\"seu_email@example.com\"<\/span>\n   git config <span class=\"nt\">--global<\/span> user.name <span class=\"s2\">\"Seu Nome\"<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D8%AD%D9%84%D9%87_4_Foundry_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0645\u0631\u062d\u0644\u0647 4: Foundry \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>\n<strong>\u06a9\u0631\u0644 \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/strong>\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   <span class=\"nb\">sudo <\/span>apt-get <span class=\"nb\">install <\/span>curl\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\n<strong>\u0646\u0635\u0628 o Foundry:<\/strong>\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   curl <span class=\"nt\">-L<\/span> https:\/\/foundry.paradigm.xyz | bash\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>Foundry \u0631\u0627 \u0628\u0647 PATH \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   <span class=\"nb\">source<\/span> ~\/.bashrc  <span class=\"c\"># ou ~\/.zshrc dependendo do shell<\/span>\n\n4. <span class=\"k\">**<\/span>Atualize o Foundry:<span class=\"k\">**<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u0631\u06cc\u062e\u062a\u0647 \u06af\u0631\u06cc<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>5. **Verifique a vers\u00e3o:**\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u062c\u0639\u0644 &#8212; \u0646\u0633\u062e\u0647<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n### Passo 5: Crie seu primeiro projeto Foundry\n\n1. **Inicialize um novo projeto:**\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>forge init my-project<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>2. **Abra o projeto no VS Code:**\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u0633\u06cc \u062f\u06cc \u067e\u0631\u0648\u0698\u0647 \u0645\u0646<br \/>\u06a9\u062f .<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n## Come\u00e7ando a Desenvolver\n\nAgora voc\u00ea tem o Foundry instalado e configurado para come\u00e7ar a desenvolver seus contratos inteligentes em Solidity. Explore a documenta\u00e7\u00e3o oficial do Foundry para aprender mais sobre seus recursos e funcionalidades.\n\n**Observa\u00e7\u00f5es:**\n\n* **Documenta\u00e7\u00e3o oficial do Foundry:** [https:\/\/book.getfoundry.sh\/](https:\/\/book.getfoundry.sh\/)\n* **Comunidade Foundry:** Participe da comunidade do Foundry para obter ajuda e compartilhar seus conhecimentos.\n\n## **Pr\u00e9-requisitos**\n1. Conhecimento b\u00e1sico de programa\u00e7\u00e3o e **Solidity**.\n2. Instala\u00e7\u00e3o do [Foundry](https:\/\/book.getfoundry.sh\/) e suas depend\u00eancias:\n3.  Uma carteira Ethereum, para obter a chaves (como MetaMask).\n\n---\n\n### **Passo 1: Configurar um novo projeto**\n\n1. Crie um novo projeto com o Foundry:\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u0642\u0631\u0627\u0631\u062f\u0627\u062f init my-smart-\u0631\u0627 \u062c\u0639\u0644 \u06a9\u0646\u06cc\u062f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>   Isso criar\u00e1 uma estrutura de pastas como esta:\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0645\u0646\/<br \/>\u251c\u2500\u2500 lib\/<br \/>\u251c\u2500\u2500 src\/<br \/>\u2502 \u2514\u2500\u2500 Counter.sol<br \/>\u251c\u2500\u2500 \u0641\u06cc\u0644\u0645\u0646\u0627\u0645\u0647\/<br \/>\u2502 \u2514\u2500\u2500 Deploy.s.sol<br \/>\u251c\u2500\u2500 \u062a\u0633\u062a\/<br \/>\u2502 \u2514\u2500\u2500 Counter.t.sol<br \/>\u2514\u2500\u2500 \u0631\u06cc\u062e\u062a\u0647 \u06af\u0631\u06cc.toml<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n2. Entre no diret\u00f3rio do projeto:\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u0633\u06cc \u062f\u06cc my-smart-contract<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n3. Instale depend\u00eancias adicionais, se necess\u00e1rio (como OpenZeppelin):\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>forge \u0646\u0635\u0628 OpenZeppelin\/openzeppelin-contracts<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n---\n\n### **Passo 2: Escrever um Smart Contract**\n\n1. Criar um novo arquivo `src\/SimpleStorage.sol`, programar um novo contrato. Por exemplo, um contrato simples de armazenamento:\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u0633\u062a\u062d\u06a9\u0627\u0645<br \/>\/\/ SPDX-License-Identifier: MIT<br \/>\u0627\u0633\u062a\u062d\u06a9\u0627\u0645 \u067e\u0631\u0627\u06af\u0645\u0627 ^0.8.0;<\/p>\n<p>\u0642\u0631\u0627\u0631\u062f\u0627\u062f SimpleStorage {<br \/>uint256 private storedData.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>   event DataStored(uint256 data);\n\n   function set(uint256 x) public {\n       storedData = x;\n       emit DataStored(x);\n   }\n\n   function get() public view returns (uint256) {\n       return storedData;\n   }\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>}<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n2. Salve o arquivo.\n\n---\n\n### **Passo 4: Testar o contrato com Foundry**\n\n1. Crie um arquivo de teste no diret\u00f3rio `test\/`, por exemplo, `SimpleStorage.t.sol`:\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u0633\u062a\u062d\u06a9\u0627\u0645<br \/>\/\/ SPDX-License-Identifier: MIT<br \/>\u0627\u0633\u062a\u062d\u06a9\u0627\u0645 \u067e\u0631\u0627\u06af\u0645\u0627 ^0.8.0;<\/p>\n<p>\u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 &#8220;forge-std\/Test.sol&#8221;\u061b<br \/>\u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 &#8220;..\/src\/SimpleStorage.sol&#8221;\u061b<\/p>\n<p>\u0642\u0631\u0627\u0631\u062f\u0627\u062f SimpleStorageTest \u062a\u0633\u062a \u0627\u0633\u062a {<br \/>SimpleStorage simpleStorage;<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>   function setUp() public {\n       simpleStorage = new SimpleStorage();\n   }\n\n   function testSetAndGet() public {\n       simpleStorage.set(42);\n       uint256 value = simpleStorage.get();\n       assertEq(value, 42, \"Stored value is incorrect\");\n   }\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>}<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n2. Execute os testes:\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u062a\u0633\u062a \u062c\u0639\u0644<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n   Voc\u00ea ver\u00e1 a sa\u00edda indicando se os testes passaram.\n\n---\n\n### **Passo 5: Implementar o script de implanta\u00e7\u00e3o**\n\n1. No arquivo `script\/Deploy.s.sol`, crie um script para implantar o contrato:\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u0633\u062a\u062d\u06a9\u0627\u0645<br \/>\/\/ SPDX-License-Identifier: MIT<br \/>\u0627\u0633\u062a\u062d\u06a9\u0627\u0645 \u067e\u0631\u0627\u06af\u0645\u0627 ^0.8.0;<\/p>\n<p>\u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 &#8220;forge-std\/Script.sol&#8221;\u061b<br \/>\u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 &#8220;..\/src\/SimpleStorage.sol&#8221;\u061b<\/p>\n<p>\u0642\u0631\u0627\u0631\u062f\u0627\u062f DeploySimpleStorage \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0633\u062a {<br \/>\u062a\u0627\u0628\u0639 run() \u062e\u0627\u0631\u062c\u06cc {<br \/>vm.startBroadcast();<br \/>SimpleStorage simpleStorage = new SimpleStorage();<br \/>console.log(&#8220;SimpleStorage \u0645\u0633\u062a\u0642\u0631 \u062f\u0631:&#8221;\u060c \u0622\u062f\u0631\u0633(simpleStorage));<br \/>vm.stopBroadcast();<br \/>}<br \/>}<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n2. Compile os contratos:\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u0633\u0627\u062e\u062a \u0641\u0648\u0631\u062c<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n3. Execute o script de implanta\u00e7\u00e3o:\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a forge script\/Deploy.s.sol &#8211;rpc-url &#8211;private-key &#8211;broadcast<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n   - Substitua `<your_rpc_url>` pelo URL do seu n\u00f3 Ethereum (por exemplo, Infura ou Alchemy).\n   - Substitua `<your_private_key>` pela chave privada da sua carteira.\n\n---\n\n### **Passo 6: Interagir com o contrato**\n\nAp\u00f3s a implanta\u00e7\u00e3o, voc\u00ea pode interagir com o contrato usando ferramentas como:\n- **Ethers.js** ou **Web3.js**.\n- **forge** para chamadas diretas.\n\nPor exemplo, para chamar fun\u00e7\u00f5es:\n<\/your_private_key><\/your_rpc_url><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>forge \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc &#8211;rpc-url &#8211;to &#8211;function &#8220;get()&#8221; &#8211;abi src\/SimpleStorage.sol<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n---\n\n### **Passo 7: Melhorar e iterar**\n\n- Adicione funcionalidades ao seu contrato.\n- Crie mais testes para cobrir casos de uso adicionais.\n- Experimente diferentes modos de Foundry para otimizar ou analisar o g\u00e1s consumido:\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u062a\u0633\u062a \u062c\u0639\u0644 &#8211;\u06af\u0627\u0632-\u06af\u0632\u0627\u0631\u0634<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n\n## Comandos Essenciais\n\nAqui est\u00e3o os principais comandos do **Foundry** para desenvolvimento, organizados com explica\u00e7\u00f5es e exemplos pr\u00e1ticos:\n\n### **Configura\u00e7\u00e3o Inicial**\n1. **`forge init`**  \n   Inicializa um novo projeto Foundry.  \n   **Exemplo**:  \n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>forge init my-project<br \/>\u0633\u06cc \u062f\u06cc \u067e\u0631\u0648\u0698\u0647 \u0645\u0646<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n2. **`forge build`**  \n   Compila os contratos no projeto.  \n   **Exemplo**:  \n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u0633\u0627\u062e\u062a \u0641\u0648\u0631\u062c<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>   - Os artefatos gerados s\u00e3o salvos na pasta `out\/`.\n\n3. **`forge clean`**  \n   Remove os artefatos de compila\u00e7\u00e3o e limpa o cache.  \n   **Exemplo**:  \n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u062c\u0639\u0644 \u062a\u0645\u06cc\u0632<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n---\n\n### **Testes**\n4. **`forge test`**  \n   Executa testes automatizados em contratos.  \n   **Exemplo**:  \n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u062a\u0633\u062a \u062c\u0639\u0644<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>   - **Op\u00e7\u00f5es \u00fateis**:\n     - Aumentar verbosidade dos logs:  \n       ```\n\nbash\n       forge test -vvv\n\n\n       ```\n     - Rodar um teste espec\u00edfico:  \n       ```\n\nbash\n       forge test --match-test testFunctionName\n\n\n       ```\n\n5. **`forge snapshot`**  \n   Atualiza snapshots para testes baseados em valores fixos.  \n   **Exemplo**:  \n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u062c\u0639\u0644 \u0639\u06a9\u0633 \u0641\u0648\u0631\u06cc<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n---\n\n### **Deploy e Intera\u00e7\u00e3o**\n6. **`forge create`**  \n   Implanta contratos em uma blockchain.  \n   **Exemplo**:  \n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>forge \u0627\u06cc\u062c\u0627\u062f ContractName &#8211;rpc-url &#8211;private-key <\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n7. **`forge call`**  \n   Faz chamadas para m\u00e9todos de contratos j\u00e1 implantados.  \n   **Exemplo**:  \n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>forge call &#8211;rpc-url &#8211;address &#8211;sig &#8220;methodName(uint256)&#8221; 123<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n---\n\n### **Auditoria e Seguran\u00e7a**\n8. **`forge verify-contract`**  \n   Verifica o contrato no Etherscan ou outro explorador.  \n   **Exemplo**:  \n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>forge verify-contract 0x1234&#8230; MyContract &#8211;chain-id 1 &#8211;etherscan-api-key <\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n9. **`forge coverage`**  \n   Gera relat\u00f3rios de cobertura para os testes.  \n   **Exemplo**:  \n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0636\u0631\u0628\u0647 \u0634\u062f\u06cc\u062f<br \/>\u067e\u0648\u0634\u0634 \u062c\u0639\u0644<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\n---\n\n### **Utilit\u00e1rios**\n10. **`forge inspect`**  \n    Mostra informa\u00e7\u00f5es detalhadas sobre contratos, como ABI ou bytecode.  \n    **Exemplo**:  \n    ```\n\nbash\n    forge inspect ContractName abi\n\n\n    ```\n\n11. **`forge update`**  \n    Atualiza as depend\u00eancias do projeto.  \n    **Exemplo**:  \n    ```\n\nbash\n    forge update\n\n\n    ```\n\n12. **`forge fmt`**  \n    Formata automaticamente os arquivos Solidity do projeto.  \n    **Exemplo**:  \n    ```\n\nbash\n    forge fmt\n\n\n    ```\n\n---\n\n### **Gerenciamento de Depend\u00eancias**\n13. **`forge install`**  \n    Adiciona uma depend\u00eancia ao projeto.  \n    **Exemplo**:  \n    ```\n\nbash\n    forge install OpenZeppelin\/openzeppelin-contracts\n\n\n    ```\n\n14. **`forge remap`**  \n    Atualiza os remappings no arquivo `remappings.txt`.  \n    **Exemplo**:  \n    ```\n\nbash\n    forge remap\n\n\n    ```\n\n---\n\n### **Configura\u00e7\u00e3o Geral**\n15. **`forge config`**  \n    Exibe as configura\u00e7\u00f5es do projeto.  \n    **Exemplo**:  \n    ```\n\nbash\n    forge config\n\n\n    ```\n\n16. **`forge cache`**  \n    Gerencia o cache do projeto.  \n    **Exemplo**:  \n    ```\n\nbash\n    forge cache ls\n    forge cache clean\n\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<hr\/>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AE%D9%84%D8%A7%D8%B5%D9%87_%D8%AF%D8%B3%D8%AA%D9%88%D8%B1%D8%A7%D8%AA_%D8%B6%D8%B1%D9%88%D8%B1%DB%8C\"><\/span>\n<p>  \u062e\u0644\u0627\u0635\u0647 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0636\u0631\u0648\u0631\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0628\u0631\u0627\u06cc \u0647\u0631 \u06a9\u0633\u06cc \u06a9\u0647 \u0628\u0627 \u0622\u0646 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u0636\u0631\u0648\u0631\u06cc \u0627\u0633\u062a <strong>\u0631\u06cc\u062e\u062a\u0647 \u06af\u0631\u06cc<\/strong> \u062f\u0631 \u062a\u0648\u0633\u0639\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f \u0627\u06af\u0631 \u062f\u0631 \u0645\u0648\u0631\u062f \u0645\u0648\u0627\u0631\u062f \u062e\u0627\u0635 \u06cc\u0627 \u062c\u0632\u0626\u06cc\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u0628\u0647 \u06a9\u0645\u06a9 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f\u060c \u0628\u0627 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0645\u0634\u0648\u0631\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n<ul>\n<li>\n<strong><code>forge init <nome-do-projeto\/><\/code>:<\/strong> \u067e\u0631\u0648\u0698\u0647 \u062c\u062f\u06cc\u062f\u06cc \u0631\u0627 \u0634\u0631\u0648\u0639 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong><code>forge build<\/code>:<\/strong> \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc Solidity \u0631\u0627 \u062a\u062f\u0648\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong><code>forge test<\/code>:<\/strong> \u062a\u0633\u062a \u0647\u0627 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\n<strong><code>forge create<\/code>:<\/strong> \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u06cc \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0634\u0628\u06a9\u0647 \u0645\u0633\u062a\u0642\u0631 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong><code>forge script<\/code>:<\/strong> \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong><code>forge upgrade<\/code>:<\/strong> \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0645\u0633\u062a\u0642\u0631 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong><code>forge inspect<\/code>:<\/strong> \u0628\u0627\u06cc\u062a \u06a9\u062f \u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong><code>forge inspect Greeter.sol:Greeter<\/code>:<\/strong> \u0628\u0627\u06cc\u062a \u06a9\u062f \u0642\u0631\u0627\u0631\u062f\u0627\u062f Greeter \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong><code>forge clean<\/code>:<\/strong> \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062a\u0648\u0644\u06cc\u062f \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u0631\u0627 \u067e\u0627\u06a9 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong><code>forge fmt<\/code>:<\/strong> \u0641\u0631\u0645\u062a \u06a9\u062f \u062c\u0627\u0645\u062f.<\/li>\n<li>\n<strong><code>forge verify<\/code>:<\/strong> \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u06a9\u0627\u0648\u0634\u06af\u0631 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u062a\u0623\u06cc\u06cc\u062f \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D9%87%D8%A7\"><\/span>\n<p>  \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang Foundry \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u062a\u0648\u0633\u0639\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0628\u0631\u0627\u06cc Solidity \u0627\u0633\u062a.\u0637\u06cc\u0641 \u06af\u0633\u062a\u0631\u062f\u0647 \u0627\u06cc \u0627\u0632 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0633\u0647\u06cc\u0644 \u062a\u0648\u0633\u0639\u0647\u060c \u0622\u0632\u0645\u0627\u06cc\u0634 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f \u062f\u0631 \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646 \u0647\u0627\u06cc EVM \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f. \u0631\u06cc\u062e\u062a\u0647 \u06af\u0631\u06cc \u0686\u06cc\u0633\u062a\u061f Foundry \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u062a\u0648\u0633\u0639\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f Solidity \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u06cc\u06a9 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":87116,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-87115","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/87115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=87115"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/87115\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/87116"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=87115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=87115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=87115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}