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

شروع کار با فریمورک foundry

برای شروع کار با Foundry، ابتدا باید آن را نصب کنید. می‌توانید با استفاده از دستور زیر، فریمورک Foundry را بر روی سیستم خود نصب کنید:

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

پس از نصب، می‌توانید دستور foundryup را برای به‌روزرسانی و نصب وابستگی‌ها به کار ببرید.

ایجاد پروژه جدید با فریمورک foundry

برای ایجاد یک پروژه جدید با استفاده از Foundry، کافی است از دستور زیر استفاده کنید:

forge init my-new-project

این دستور باعث ایجاد یک ساختار پروژه پایه با فایل‌های ضروری، از جمله قراردادها و تست‌ها، می‌شود.

نوشتن قرارداد هوشمند

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

// SPDX-License-Identifier: MIT
pragma solidity ^.8.;

contract HelloWorld {
    string public greet = "Hello, World!";
    
    function setGreeting(string memory _greet) public {
        greet = _greet;
    }
}

این قرارداد شامل یک متغیر greet و یک تابع برای تنظیم مقدار آن است.

آموزش سالیدیتی (+ 5 پروژه عملی)

تست قرارداد هوشمند

Foundry امکاناتی را برای نوشتن تست‌های خودکار قراردادهای هوشمند فراهم می‌کند. برای نوشتن تست، می‌توانید فایل جدیدی به پوشه tests اضافه کنید. به عنوان مثال:

// SPDX-License-Identifier: MIT
pragma solidity ^.8.;

import "forge-std/Test.sol";
import "../src/HelloWorld.sol";

contract HelloWorldTest is Test {
    HelloWorld helloWorld;

    function setUp() public {
        helloWorld = new HelloWorld();
    }

    function testInitialGreeting() public {
        assertEq(helloWorld.greet(), "Hello, World!");
    }

    function testSetGreeting() public {
        helloWorld.setGreeting("Hi");
        assertEq(helloWorld.greet(), "Hi");
    }
}

این تست به بررسی کارکرد صحیح قرارداد هوشمند شما کمک می‌کند.

دیپلوی قرارداد هوشمند

پس از آزمایش موفقیت‌ آمیز قرارداد، می‌توانید آن را بر روی شبکه‌ای مثل اتریوم دیپلوی کنید. می‌توانید با استفاده از Foundry و یک فایل اسکریپت، قرارداد خود را به راحتی دیپلوی کنید:

forge create --rpc-url <RPC_URL> --private-key <YOUR_PRIVATE_KEY> src/HelloWorld.sol:HelloWorld

نتیجه‌ گیری

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