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

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

Примечание: Прежде чем приступить к развертыванию контракта, необходимо запросить тестовые токены из крана Goerli и использовать мост для передачи некоторых тестовых токенов из Goerli в Scroll Alpha.

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

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

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

git clone https://github.com/scroll-tech/scroll-contract-deploy-demo.git
cd scroll-contract-deploy-demo
yarn install
  1. Создайте файл .env в соответствии с примером .env.example в корневом каталоге. Измените PRIVATE_KEY на личный ключ вашей учетной записи в .env.

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

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

  4. Запустите yarn test для теста hardhat.

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

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

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

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

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

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

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

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

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

Для примера:

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

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

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

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

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

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

Last updated