Руководство по развертыванию контрактов

Наше недавнее обновление Pre-Alpha Testnet позволяет сообществу развертывать смарт-контракты в сети Scroll! В этом руководстве мы расскажем вам, как развернуть контракт в тестовой сети Scroll. Данный демо-репозиторий иллюстрирует развертывание контрактов с помощью Hardhat и Foundry.

Примечание: Прежде чем начать развертывание контракта, необходимо запросить тестовые токены из faucet и использовать мост для передачи некоторого количества TSETH из Scroll L1 в Scroll L2.

Развертывание контрактов с помощью Hardhat

  1. Если вы этого еще не сделали, то установите nodejs и yarn.

  2. Скопируйте репозиторий и установите зависимости

git clone https://github.com/scroll-tech/scroll-contract-deploy-demo.git
cd scroll-contract-deploy-demo
yarn install

3. Создайте файл .env в соответствии с примером .env.example в корневом каталоге. Измените PRIVATE_KEY на личный ключ вашей учетной записи в .env.

4. Запустите yarn compile, чтобы скомпилировать контракт.

5. Запустите yarn deploy:scrollTestnet, чтобы развернуть контракт Scroll Pre-Alpha Testnet.

Развертывание контрактов с помощью Foundry

  1. Скопируйте репозиторий

ggit clone https://github.com/scroll-tech/scroll-contract-deploy-demo.git
cd scroll-contract-deploy-demo

2. Установите Foundry

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

3. Запустите forge build для сборки проекта

4. Разверните свой контракт с помощью Foundry

forge create --rpc-url https://prealpha.scroll.io/l2 \
  --value <lock_amount> \
  --constructor-args <unlock_time> \
  --private-key <your_private_key> \
  --legacy \
  contracts/Lock.sol:Lock
  • <lock_amount> - это количество TSETH, которое должно быть заблокировано в контракте. Попробуйте установить небольшую сумму, например, 0.0000001ether.

  • <unlock_time> - это временная метка Unix, после которой средства, заблокированные в контракте, станут доступны для снятия. Попробуйте установить это значение на какую-нибудь временную метку Unix в будущем, например 1696118400 (эта временная метка Unix соответствует 1 октября 2023 года).

Для примера:

forge create --rpc-url hhttps://prealpha-rpc.scroll.io/l2 \
  --value 0.00000000002ether \
  --constructor-args 1696118400 \
  --private-key 0xabc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc1 \
  --legacy contracts/Lock.sol:Lock

Вопросы и обратная связь

Благодарим вас за участие и разработку в Scroll Pre-Alpha Testnet. Если у вас возникнут какие-либо проблемы, присоединяйтесь к нашему Discord и задавайте вопросы в канале evelopers.

Примечания разработчика

  1. Опкод SELFDESTRUCT отключен и не будет поддерживаться в Scroll, поскольку его планируют в дальнейшем удалить из EVM.

  2. На данный момент мы установили стоимость газа на Layer 2 такую же, как на Layer 1 Ethereum. Однако стоимость газа может быть изменена и в будущем установлена в соответствии с фактическими затратами на проверку. Мы постараемся минимизировать эти изменения, применяя их в основном к конфликтным к ZK прекомпиляциям, когда это необходимо для обеспечения безопасности.

Last updated