برنامه نویسی

آموزش ریخته گری برای اولین بار – انجمن DEV

Summarize this content to 400 words in Persian Lang
Foundry یک ابزار توسعه قرارداد هوشمند برای Solidity است.طیف گسترده ای از ویژگی ها را برای تسهیل توسعه، آزمایش و استقرار قراردادهای هوشمند در بلاک چین های EVM ارائه می دهد.

ریخته گری چیست؟

Foundry یک ابزار توسعه قرارداد هوشمند Solidity است که برای ارائه یک تجربه توسعه کارآمدتر و قوی‌تر طراحی شده است. مجموعه کاملی از ابزارها شامل کامپایل، آزمایش، اشکال زدایی و استقرار را فراهم می کند که همه در یک محیط واحد یکپارچه شده اند.

چرا از Foundry استفاده کنیم؟

سرعت: تدوین سریع و کارآمد.

سهولت استفاده: رابط خط فرمان بصری و ساختار پروژه واضح.

بیضه ها: چارچوب تست یکپارچه برای اطمینان از کیفیت کد.

توسعه پذیری: Foundry را با پلاگین ها و اسکریپت های سفارشی سفارشی کنید.

جامعه: یک جامعه فعال و دائما در حال رشد.

برخی از ویژگی های اصلی Foundry:

مدیریت وابستگی: Foundry به شما امکان می دهد به راحتی وابستگی های پروژه خود را مدیریت کنید، از جمله قراردادهای سایر کتابخانه ها.

تالیف: Foundry قراردادهای Solidity شما را سریع و کارآمد جمع‌آوری می‌کند و بایت کد بهینه‌سازی شده را تولید می‌کند.

بیضه ها: Foundry شامل یک چارچوب تست یکپارچه است که به شما امکان می دهد تست های واحد را برای قراردادهای خود بنویسید و اجرا کنید.

کاشت: Foundry استقرار قراردادهای خود را در شبکه های آزمایشی یا شبکه های اصلی آسان می کند.

تعامل با بلاک چین: Foundry به شما امکان می دهد مستقیماً از ترمینال با بلاک چین تعامل داشته باشید و توسعه و اشکال زدایی را تسهیل می کند.

ما می‌توانیم Foundry را سفارشی کرده و گسترش دهیم و به شما این امکان را می‌دهیم که ابزار را با نیازهای خاص خود تطبیق دهید.

نصب Foundry در ویندوز

نصب گام به گام Foundry، ابزاری برای توسعه قراردادهای هوشمند در Solidity، در سیستم ویندوز شما.ما از زیرسیستم ویندوز برای لینوکس (WSL) استفاده خواهیم کردبرای ایجاد یک محیط توسعه مانند لینوکس،ایده آل برای توسعه قراردادهای هوشمند

پیش نیازها:

رایانه ای با ویندوز 10 یا بالاتر.
یک اتصال اینترنتی

مرحله 1: نصب WSL (زیر سیستم ویندوز برای لینوکس)

ترمینال ویندوز را باز کنید: کلیدهای Windows + R را فشار دهید، “cmd” را تایپ کنید و Enter را فشار دهید.

نصب یا دبیان: دستور زیر را در ترمینال اجرا کنید:

wsl –install Debian

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پیکربندی کاربر: هنگام راه اندازی، از شما خواسته می شود که یک نام کاربری و رمز عبور برای محیط لینوکس خود ایجاد کنید.

مشاهده: اگر هنگام نصب WSL با مشکلی مواجه شدید، لطفاً برای راهنمایی به این پیوند مراجعه کنید: https://answers.microsoft.com/en-us/windows/forum/all/0x8000000d-ubuntu-installation-fails-with-error/ dde92478 -bcaf-41a1-a204-8cbf31273ca2

مرحله 2: کد ویژوال استودیو را برای کار با WSL پیکربندی کنید

برنامه های افزودنی را نصب کنید: Visual Studio Code را باز کنید و به دنبال پسوندهای “Remote – WSL” بگردید و آنها را نصب کنید.

اتصال به WSL: روی نماد Remote Explorer در نوار کناری سمت چپ کلیک کنید و محیط Linux (Debian) خود را انتخاب کنید.

یک دایرکتوری جدید ایجاد کنید: در ترمینال VS Code، دستورات زیر را برای ایجاد یک دایرکتوری جدید برای پروژه Foundry خود اجرا کنید:

mkdir foundry-project
cd foundry-project

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: Git را نصب کنید

بررسی کنید که آیا Git نصب شده است: دستور را اجرا کنید git –version در ترمینال اگر Git نصب نیست، اجرا کنید:

sudo apt-get install git

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Git را پیکربندی کنید:

git config –global user.email “seu_email@example.com”
git config –global user.name “Seu Nome”

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: Foundry را نصب کنید

کرل را نصب کنید:

sudo apt-get install curl

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نصب o Foundry:

curl -L https://foundry.paradigm.xyz | bash

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Foundry را به PATH اضافه کنید:

source ~/.bashrc # ou ~/.zshrc dependendo do shell

4. **Atualize o Foundry:**

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدریخته گری

5. **Verifique a versão:**

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدجعل — نسخه

### Passo 5: Crie seu primeiro projeto Foundry

1. **Inicialize um novo projeto:**

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدforge init my-project

2. **Abra o projeto no VS Code:**

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدسی دی پروژه منکد .

## Começando a Desenvolver

Agora você tem o Foundry instalado e configurado para começar a desenvolver seus contratos inteligentes em Solidity. Explore a documentação oficial do Foundry para aprender mais sobre seus recursos e funcionalidades.

**Observações:**

* **Documentação oficial do Foundry:** [https://book.getfoundry.sh/](https://book.getfoundry.sh/)
* **Comunidade Foundry:** Participe da comunidade do Foundry para obter ajuda e compartilhar seus conhecimentos.

## **Pré-requisitos**
1. Conhecimento básico de programação e **Solidity**.
2. Instalação do [Foundry](https://book.getfoundry.sh/) e suas dependências:
3. Uma carteira Ethereum, para obter a chaves (como MetaMask).

### **Passo 1: Configurar um novo projeto**

1. Crie um novo projeto com o Foundry:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدقرارداد init my-smart-را جعل کنید

Isso criará uma estrutura de pastas como esta:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

قرارداد هوشمند من/├── lib/├── src/│ └── Counter.sol├── فیلمنامه/│ └── Deploy.s.sol├── تست/│ └── Counter.t.sol└── ریخته گری.toml

2. Entre no diretório do projeto:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدسی دی my-smart-contract

3. Instale dependências adicionais, se necessário (como OpenZeppelin):

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدforge نصب OpenZeppelin/openzeppelin-contracts

### **Passo 2: Escrever um Smart Contract**

1. Criar um novo arquivo `src/SimpleStorage.sol`, programar um novo contrato. Por exemplo, um contrato simples de armazenamento:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

استحکام// SPDX-License-Identifier: MITاستحکام پراگما ^0.8.0;

قرارداد SimpleStorage {uint256 private storedData.

event DataStored(uint256 data);

function set(uint256 x) public {
storedData = x;
emit DataStored(x);
}

function get() public view returns (uint256) {
return storedData;
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

2. Salve o arquivo.

### **Passo 4: Testar o contrato com Foundry**

1. Crie um arquivo de teste no diretório `test/`, por exemplo, `SimpleStorage.t.sol`:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

استحکام// SPDX-License-Identifier: MITاستحکام پراگما ^0.8.0;

وارد کردن “forge-std/Test.sol”؛وارد کردن “../src/SimpleStorage.sol”؛

قرارداد SimpleStorageTest تست است {SimpleStorage simpleStorage;

function setUp() public {
simpleStorage = new SimpleStorage();
}

function testSetAndGet() public {
simpleStorage.set(42);
uint256 value = simpleStorage.get();
assertEq(value, 42, “Stored value is incorrect”);
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}

2. Execute os testes:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدتست جعل

Você verá a saída indicando se os testes passaram.

### **Passo 5: Implementar o script de implantação**

1. No arquivo `script/Deploy.s.sol`, crie um script para implantar o contrato:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

استحکام// SPDX-License-Identifier: MITاستحکام پراگما ^0.8.0;

وارد کردن “forge-std/Script.sol”؛وارد کردن “../src/SimpleStorage.sol”؛

قرارداد DeploySimpleStorage اسکریپت است {تابع run() خارجی {vm.startBroadcast();SimpleStorage simpleStorage = new SimpleStorage();console.log(“SimpleStorage مستقر در:”، آدرس(simpleStorage));vm.stopBroadcast();}}

2. Compile os contratos:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدساخت فورج

3. Execute o script de implantação:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیداسکریپت forge script/Deploy.s.sol –rpc-url –private-key –broadcast

– Substitua “ pelo URL do seu nó Ethereum (por exemplo, Infura ou Alchemy).
– Substitua “ pela chave privada da sua carteira.

### **Passo 6: Interagir com o contrato**

Após a implantação, você pode interagir com o contrato usando ferramentas como:
– **Ethers.js** ou **Web3.js**.
– **forge** para chamadas diretas.

Por exemplo, para chamar funções:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدforge فراخوانی –rpc-url –to –function “get()” –abi src/SimpleStorage.sol

### **Passo 7: Melhorar e iterar**

– Adicione funcionalidades ao seu contrato.
– Crie mais testes para cobrir casos de uso adicionais.
– Experimente diferentes modos de Foundry para otimizar ou analisar o gás consumido:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدتست جعل –گاز-گزارش

## Comandos Essenciais

Aqui estão os principais comandos do **Foundry** para desenvolvimento, organizados com explicações e exemplos práticos:

### **Configuração Inicial**
1. **`forge init`**
Inicializa um novo projeto Foundry.
**Exemplo**:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدforge init my-projectسی دی پروژه من

2. **`forge build`**
Compila os contratos no projeto.
**Exemplo**:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدساخت فورج

– Os artefatos gerados são salvos na pasta `out/`.

3. **`forge clean`**
Remove os artefatos de compilação e limpa o cache.
**Exemplo**:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدجعل تمیز

### **Testes**
4. **`forge test`**
Executa testes automatizados em contratos.
**Exemplo**:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدتست جعل

– **Opções úteis**:
– Aumentar verbosidade dos logs:
“`

bash
forge test -vvv

“`
– Rodar um teste específico:
“`

bash
forge test –match-test testFunctionName

“`

5. **`forge snapshot`**
Atualiza snapshots para testes baseados em valores fixos.
**Exemplo**:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدجعل عکس فوری

### **Deploy e Interação**
6. **`forge create`**
Implanta contratos em uma blockchain.
**Exemplo**:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدforge ایجاد ContractName –rpc-url –private-key

7. **`forge call`**
Faz chamadas para métodos de contratos já implantados.
**Exemplo**:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدforge call –rpc-url –address –sig “methodName(uint256)” 123

### **Auditoria e Segurança**
8. **`forge verify-contract`**
Verifica o contrato no Etherscan ou outro explorador.
**Exemplo**:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدforge verify-contract 0x1234… MyContract –chain-id 1 –etherscan-api-key

9. **`forge coverage`**
Gera relatórios de cobertura para os testes.
**Exemplo**:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدیدپوشش جعل

### **Utilitários**
10. **`forge inspect`**
Mostra informações detalhadas sobre contratos, como ABI ou bytecode.
**Exemplo**:
“`

bash
forge inspect ContractName abi

“`

11. **`forge update`**
Atualiza as dependências do projeto.
**Exemplo**:
“`

bash
forge update

“`

12. **`forge fmt`**
Formata automaticamente os arquivos Solidity do projeto.
**Exemplo**:
“`

bash
forge fmt

“`

### **Gerenciamento de Dependências**
13. **`forge install`**
Adiciona uma dependência ao projeto.
**Exemplo**:
“`

bash
forge install OpenZeppelin/openzeppelin-contracts

“`

14. **`forge remap`**
Atualiza os remappings no arquivo `remappings.txt`.
**Exemplo**:
“`

bash
forge remap

“`

### **Configuração Geral**
15. **`forge config`**
Exibe as configurações do projeto.
**Exemplo**:
“`

bash
forge config

“`

16. **`forge cache`**
Gerencia o cache do projeto.
**Exemplo**:
“`

bash
forge cache ls
forge cache clean

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

خلاصه دستورات ضروری

این دستورات برای هر کسی که با آن کار می کند ضروری است ریخته گری در توسعه قراردادهای هوشمند اگر در مورد موارد خاص یا جزئیات بیشتر به کمک نیاز دارید، با مستندات مشورت کنید.

forge init : پروژه جدیدی را شروع می کند.

forge build: قراردادهای Solidity را تدوین می کند.

forge test: تست ها را اجرا کنید.

forge create: قراردادی را در یک شبکه مستقر می کند.

forge script: اسکریپت های سفارشی را اجرا می کند.

forge upgrade: قرارداد مستقر را به روز می کند.

forge inspect: بایت کد یک قرارداد را بررسی می کند.

forge inspect Greeter.sol:Greeter: بایت کد قرارداد Greeter را بررسی می کند.

forge clean: فایل های تولید شده توسط کامپایل را پاک می کند.

forge fmt: فرمت کد جامد.

forge verify: قرارداد را در یک کاوشگر بلاک چین تأیید می کند.

ویژگی ها

Foundry یک ابزار توسعه قرارداد هوشمند برای Solidity است.
طیف گسترده ای از ویژگی ها را برای تسهیل توسعه، آزمایش و استقرار قراردادهای هوشمند در بلاک چین های EVM ارائه می دهد.

ریخته گری چیست؟

Foundry یک ابزار توسعه قرارداد هوشمند Solidity است که برای ارائه یک تجربه توسعه کارآمدتر و قوی‌تر طراحی شده است. مجموعه کاملی از ابزارها شامل کامپایل، آزمایش، اشکال زدایی و استقرار را فراهم می کند که همه در یک محیط واحد یکپارچه شده اند.

چرا از Foundry استفاده کنیم؟

  • سرعت: تدوین سریع و کارآمد.
  • سهولت استفاده: رابط خط فرمان بصری و ساختار پروژه واضح.
  • بیضه ها: چارچوب تست یکپارچه برای اطمینان از کیفیت کد.
  • توسعه پذیری: Foundry را با پلاگین ها و اسکریپت های سفارشی سفارشی کنید.
  • جامعه: یک جامعه فعال و دائما در حال رشد.

برخی از ویژگی های اصلی Foundry:

  • مدیریت وابستگی: Foundry به شما امکان می دهد به راحتی وابستگی های پروژه خود را مدیریت کنید، از جمله قراردادهای سایر کتابخانه ها.
  • تالیف: Foundry قراردادهای Solidity شما را سریع و کارآمد جمع‌آوری می‌کند و بایت کد بهینه‌سازی شده را تولید می‌کند.
  • بیضه ها: Foundry شامل یک چارچوب تست یکپارچه است که به شما امکان می دهد تست های واحد را برای قراردادهای خود بنویسید و اجرا کنید.
  • کاشت: Foundry استقرار قراردادهای خود را در شبکه های آزمایشی یا شبکه های اصلی آسان می کند.
  • تعامل با بلاک چین: Foundry به شما امکان می دهد مستقیماً از ترمینال با بلاک چین تعامل داشته باشید و توسعه و اشکال زدایی را تسهیل می کند.

ما می‌توانیم Foundry را سفارشی کرده و گسترش دهیم و به شما این امکان را می‌دهیم که ابزار را با نیازهای خاص خود تطبیق دهید.

نصب Foundry در ویندوز

نصب گام به گام Foundry، ابزاری برای توسعه قراردادهای هوشمند
در Solidity، در سیستم ویندوز شما.
ما از زیرسیستم ویندوز برای لینوکس (WSL) استفاده خواهیم کرد
برای ایجاد یک محیط توسعه مانند لینوکس،
ایده آل برای توسعه قراردادهای هوشمند

پیش نیازها:

  • رایانه ای با ویندوز 10 یا بالاتر.
  • یک اتصال اینترنتی

مرحله 1: نصب WSL (زیر سیستم ویندوز برای لینوکس)

  1. ترمینال ویندوز را باز کنید: کلیدهای Windows + R را فشار دهید، “cmd” را تایپ کنید و Enter را فشار دهید.
  2. نصب یا دبیان: دستور زیر را در ترمینال اجرا کنید:
   wsl --install Debian
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. پیکربندی کاربر: هنگام راه اندازی، از شما خواسته می شود که یک نام کاربری و رمز عبور برای محیط لینوکس خود ایجاد کنید.

مشاهده: اگر هنگام نصب WSL با مشکلی مواجه شدید، لطفاً برای راهنمایی به این پیوند مراجعه کنید: https://answers.microsoft.com/en-us/windows/forum/all/0x8000000d-ubuntu-installation-fails-with-error/ dde92478 -bcaf-41a1-a204-8cbf31273ca2

مرحله 2: کد ویژوال استودیو را برای کار با WSL پیکربندی کنید

  1. برنامه های افزودنی را نصب کنید: Visual Studio Code را باز کنید و به دنبال پسوندهای “Remote – WSL” بگردید و آنها را نصب کنید.
  2. اتصال به WSL: روی نماد Remote Explorer در نوار کناری سمت چپ کلیک کنید و محیط Linux (Debian) خود را انتخاب کنید.
  3. یک دایرکتوری جدید ایجاد کنید: در ترمینال VS Code، دستورات زیر را برای ایجاد یک دایرکتوری جدید برای پروژه Foundry خود اجرا کنید:
   mkdir foundry-project
   cd foundry-project
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: Git را نصب کنید

  1. بررسی کنید که آیا Git نصب شده است: دستور را اجرا کنید git --version در ترمینال اگر Git نصب نیست، اجرا کنید:
   sudo apt-get install git
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. Git را پیکربندی کنید:
   git config --global user.email "seu_email@example.com"
   git config --global user.name "Seu Nome"
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: Foundry را نصب کنید

  1. کرل را نصب کنید:
   sudo apt-get install curl
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. نصب o Foundry:
   curl -L https://foundry.paradigm.xyz | bash
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. Foundry را به PATH اضافه کنید:
   source ~/.bashrc  # ou ~/.zshrc dependendo do shell

4. **Atualize o Foundry:**
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
ریخته گری

5. **Verifique a versão:**
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
جعل — نسخه


### Passo 5: Crie seu primeiro projeto Foundry

1. **Inicialize um novo projeto:**
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
forge init my-project

2. **Abra o projeto no VS Code:**
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
سی دی پروژه من
کد .


## Começando a Desenvolver

Agora você tem o Foundry instalado e configurado para começar a desenvolver seus contratos inteligentes em Solidity. Explore a documentação oficial do Foundry para aprender mais sobre seus recursos e funcionalidades.

**Observações:**

* **Documentação oficial do Foundry:** [https://book.getfoundry.sh/](https://book.getfoundry.sh/)
* **Comunidade Foundry:** Participe da comunidade do Foundry para obter ajuda e compartilhar seus conhecimentos.

## **Pré-requisitos**
1. Conhecimento básico de programação e **Solidity**.
2. Instalação do [Foundry](https://book.getfoundry.sh/) e suas dependências:
3.  Uma carteira Ethereum, para obter a chaves (como MetaMask).

---

### **Passo 1: Configurar um novo projeto**

1. Crie um novo projeto com o Foundry:
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
قرارداد init my-smart-را جعل کنید

   Isso criará uma estrutura de pastas como esta:
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

قرارداد هوشمند من/
├── lib/
├── src/
│ └── Counter.sol
├── فیلمنامه/
│ └── Deploy.s.sol
├── تست/
│ └── Counter.t.sol
└── ریخته گری.toml


2. Entre no diretório do projeto:
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
سی دی my-smart-contract


3. Instale dependências adicionais, se necessário (como OpenZeppelin):
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
forge نصب OpenZeppelin/openzeppelin-contracts


---

### **Passo 2: Escrever um Smart Contract**

1. Criar um novo arquivo `src/SimpleStorage.sol`, programar um novo contrato. Por exemplo, um contrato simples de armazenamento:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

استحکام
// SPDX-License-Identifier: MIT
استحکام پراگما ^0.8.0;

قرارداد SimpleStorage {
uint256 private storedData.

   event DataStored(uint256 data);

   function set(uint256 x) public {
       storedData = x;
       emit DataStored(x);
   }

   function get() public view returns (uint256) {
       return storedData;
   }
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}


2. Salve o arquivo.

---

### **Passo 4: Testar o contrato com Foundry**

1. Crie um arquivo de teste no diretório `test/`, por exemplo, `SimpleStorage.t.sol`:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

استحکام
// SPDX-License-Identifier: MIT
استحکام پراگما ^0.8.0;

وارد کردن “forge-std/Test.sol”؛
وارد کردن “../src/SimpleStorage.sol”؛

قرارداد SimpleStorageTest تست است {
SimpleStorage simpleStorage;

   function setUp() public {
       simpleStorage = new SimpleStorage();
   }

   function testSetAndGet() public {
       simpleStorage.set(42);
       uint256 value = simpleStorage.get();
       assertEq(value, 42, "Stored value is incorrect");
   }
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

}


2. Execute os testes:
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
تست جعل


   Você verá a saída indicando se os testes passaram.

---

### **Passo 5: Implementar o script de implantação**

1. No arquivo `script/Deploy.s.sol`, crie um script para implantar o contrato:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

استحکام
// SPDX-License-Identifier: MIT
استحکام پراگما ^0.8.0;

وارد کردن “forge-std/Script.sol”؛
وارد کردن “../src/SimpleStorage.sol”؛

قرارداد DeploySimpleStorage اسکریپت است {
تابع run() خارجی {
vm.startBroadcast();
SimpleStorage simpleStorage = new SimpleStorage();
console.log(“SimpleStorage مستقر در:”، آدرس(simpleStorage));
vm.stopBroadcast();
}
}


2. Compile os contratos:
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
ساخت فورج


3. Execute o script de implantação:
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
اسکریپت forge script/Deploy.s.sol –rpc-url –private-key –broadcast


   - Substitua `` pelo URL do seu nó Ethereum (por exemplo, Infura ou Alchemy).
   - Substitua `` pela chave privada da sua carteira.

---

### **Passo 6: Interagir com o contrato**

Após a implantação, você pode interagir com o contrato usando ferramentas como:
- **Ethers.js** ou **Web3.js**.
- **forge** para chamadas diretas.

Por exemplo, para chamar funções:
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
forge فراخوانی –rpc-url –to –function “get()” –abi src/SimpleStorage.sol


---

### **Passo 7: Melhorar e iterar**

- Adicione funcionalidades ao seu contrato.
- Crie mais testes para cobrir casos de uso adicionais.
- Experimente diferentes modos de Foundry para otimizar ou analisar o gás consumido:
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
تست جعل –گاز-گزارش



## Comandos Essenciais

Aqui estão os principais comandos do **Foundry** para desenvolvimento, organizados com explicações e exemplos práticos:

### **Configuração Inicial**
1. **`forge init`**  
   Inicializa um novo projeto Foundry.  
   **Exemplo**:  
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
forge init my-project
سی دی پروژه من


2. **`forge build`**  
   Compila os contratos no projeto.  
   **Exemplo**:  
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
ساخت فورج

   - Os artefatos gerados são salvos na pasta `out/`.

3. **`forge clean`**  
   Remove os artefatos de compilação e limpa o cache.  
   **Exemplo**:  
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
جعل تمیز


---

### **Testes**
4. **`forge test`**  
   Executa testes automatizados em contratos.  
   **Exemplo**:  
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
تست جعل

   - **Opções úteis**:
     - Aumentar verbosidade dos logs:  
       ```

bash
       forge test -vvv


       ```
     - Rodar um teste específico:  
       ```

bash
       forge test --match-test testFunctionName


       ```

5. **`forge snapshot`**  
   Atualiza snapshots para testes baseados em valores fixos.  
   **Exemplo**:  
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
جعل عکس فوری


---

### **Deploy e Interação**
6. **`forge create`**  
   Implanta contratos em uma blockchain.  
   **Exemplo**:  
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
forge ایجاد ContractName –rpc-url –private-key


7. **`forge call`**  
   Faz chamadas para métodos de contratos já implantados.  
   **Exemplo**:  
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
forge call –rpc-url –address –sig “methodName(uint256)” 123


---

### **Auditoria e Segurança**
8. **`forge verify-contract`**  
   Verifica o contrato no Etherscan ou outro explorador.  
   **Exemplo**:  
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
forge verify-contract 0x1234… MyContract –chain-id 1 –etherscan-api-key


9. **`forge coverage`**  
   Gera relatórios de cobertura para os testes.  
   **Exemplo**:  
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ضربه شدید
پوشش جعل


---

### **Utilitários**
10. **`forge inspect`**  
    Mostra informações detalhadas sobre contratos, como ABI ou bytecode.  
    **Exemplo**:  
    ```

bash
    forge inspect ContractName abi


    ```

11. **`forge update`**  
    Atualiza as dependências do projeto.  
    **Exemplo**:  
    ```

bash
    forge update


    ```

12. **`forge fmt`**  
    Formata automaticamente os arquivos Solidity do projeto.  
    **Exemplo**:  
    ```

bash
    forge fmt


    ```

---

### **Gerenciamento de Dependências**
13. **`forge install`**  
    Adiciona uma dependência ao projeto.  
    **Exemplo**:  
    ```

bash
    forge install OpenZeppelin/openzeppelin-contracts


    ```

14. **`forge remap`**  
    Atualiza os remappings no arquivo `remappings.txt`.  
    **Exemplo**:  
    ```

bash
    forge remap


    ```

---

### **Configuração Geral**
15. **`forge config`**  
    Exibe as configurações do projeto.  
    **Exemplo**:  
    ```

bash
    forge config


    ```

16. **`forge cache`**  
    Gerencia o cache do projeto.  
    **Exemplo**:  
    ```

bash
    forge cache ls
    forge cache clean


وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


خلاصه دستورات ضروری

این دستورات برای هر کسی که با آن کار می کند ضروری است ریخته گری در توسعه قراردادهای هوشمند اگر در مورد موارد خاص یا جزئیات بیشتر به کمک نیاز دارید، با مستندات مشورت کنید.

  • forge init : پروژه جدیدی را شروع می کند.
  • forge build: قراردادهای Solidity را تدوین می کند.
  • forge test: تست ها را اجرا کنید.
  • forge create: قراردادی را در یک شبکه مستقر می کند.
  • forge script: اسکریپت های سفارشی را اجرا می کند.
  • forge upgrade: قرارداد مستقر را به روز می کند.
  • forge inspect: بایت کد یک قرارداد را بررسی می کند.
  • forge inspect Greeter.sol:Greeter: بایت کد قرارداد Greeter را بررسی می کند.
  • forge clean: فایل های تولید شده توسط کامپایل را پاک می کند.
  • forge fmt: فرمت کد جامد.
  • forge verify: قرارداد را در یک کاوشگر بلاک چین تأیید می کند.

ویژگی ها

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا