Развертывание с использованием Foundry на Cuckoo Chain
В этом руководстве вы узнаете, как развернуть токен ERC20 на Cuckoo Chain с помощью Foundry. Foundry — это инструментальная цепочка для разработки смарт-контрактов на языке Rust, которая управляет зависимостями, компилирует проекты, запускает тесты, развертывает и позволяет взаимодействовать с цепочкой через командную строку и скрипты на Solidity.
Благодаря тому, что Cuckoo Chain основан на Arbitrum и Ethereum Stack и совместим с EVM, смарт-контракты, основанные на Ethereum, могут быть легко перенесены с минимальными изменениями.
Необходимые условия
Вам необходимо выполнить следующие шаги, что займет примерно 10 минут:
-
Получите $CAI в тестовой сети Cuckoo: Используйте этот кран, чтобы получить немного CAI.
-
Установите Rust: Если Rust не установлен, следуйте этому руководству.
-
Установите Foundry: Если Foundry не установлен, следуйте этому руководству.
Начнем!
Шаг 1: Настройка проекта
1.1 Инициализация нового проекта Foundry
Откройте терминал и выполните команду:
forge init my-project
1.2 Установка контрактов OpenZeppelin
Добавьте библиотеку контрактов OpenZeppelin в ваш проект:
forge install OpenZeppelin/openzeppelin-contracts
Шаг 2: Написание контракта ERC20
2.1 Создание файла контракта
В директории /src
создайте файл с именем MyERC20.sol
и добавьте следующий код:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol";
contract MyERC20 is ERC20 {
constructor() ERC20("MyToken", "MTK") {}
}
Этот простой токен ERC20 называется "MyToken" с символом "MTK". Вы можете изменить имя и символ по своему усмотрению.
Вот как должен выглядеть ваш проект на данный момент:
Шаг 3: Компиляция контракта
3.1 Компиляция смарт-контракта
Используйте Foundry для компиляции вашего контракта:
forge build
Шаг 4: Развертывание контракта ERC20
4.1 Развертывание контракта
Чтобы развернуть ваш контракт, выполните следующую команду, заменив <YOUR_PRIVATE_KEY>
на ваш фактический приватный ключ:
forge create --rpc-url https://testnet-rpc.cuckoo.network --private-key <YOUR_PRIVATE_KEY> src/MyERC20.sol:MyERC20
Никогда не делитесь своим приватным ключом публично. Храните его в безопасности, чтобы предотвратить несанкционированный доступ.