Foundry

Розгортання смарт-контрактів за допомогою Foundry

Що таке Foundry? Foundry — це набір інструментів для розробки на Ethereum, написаний на Rust, який допомагає розробникам управляти залежностями, компілювати проекти, запускати тести, розгортати контракти та взаємодіяти з блокчейнами через командний інтерфейс.

Крім того, Foundry може безпосередньо взаємодіяти з API Ethereum від Caldera, що дозволяє використовувати Foundry для розгортання смарт-контрактів у мережу Caldera.

Початок роботи з Foundry

  1. Встановлення Foundry:

    • Linux або MacOS:

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

      curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs/ | sh
      cargo install --git https://github.com/foundry-rs/foundry foundry-cli anvil --bins --locked
  2. Створіть проект:

    forge init foundry
  3. Перейдіть до директорії src в проекті та створіть ваш смарт-контракт:

    cd src
    touch MyToken.sol
  4. Введіть ваш смарт-контракт або використовуйте зразковий контракт нижче:

    // SPDX-License-Identifier: MIT
    // версія компілятора має бути не менше 0.8.17 і менше 0.9.0
    pragma solidity ^0.8.17;
    
    contract HelloWorld {
        string public greet = "Hello World!";
    }
  5. Встановіть контракти OpenZeppelin як залежність:

    forge install OpenZeppelin/openzeppelin-contracts
  6. Скомпілюйте контракт:

    forge build

Розгортання вашого смарт-контракту

Розгортання контракту за допомогою Forge є простим процесом, який можна виконати за допомогою однієї команди. Однак, для цього потрібні RPC-ендпоінт, приватний ключ, що має кошти, та будь-які аргументи для конструктора контракту.

Наприклад, контракт MyToken.sol потребує вказання початкової кількості токенів у своєму конструкторі, тому команда для його розгортання на мережі буде включати аргумент 100.

Щоб розгорнути контракт MyToken.sol, використовуйте команду, яка відповідає RPC URL для мережі Caldera, під час виконання команди forge create:

Last updated