caldera
СайтDiscordx.comLinkedIn
  • 🏠Основний сайт
  • 📋Інтеграції
  • 📚Початок роботи
    • Вступ
    • Швидкий старт
  • ⚡Про мережі Caldera
    • Що таке Rollups?
    • Наші Rollup Стек
      • Arbitrum Nitro
      • Optimism Bedrock
      • ZK Stack
      • Polygon CDK
    • Налаштування
      • Нативний токен газу
      • Альтернативна доступність даних
      • Децентралізоване секвенування
      • Guardian Nodes
    • Надійність
    • Безпека
  • 💼Деплой контрактів
    • Hardhat
    • Foundry
    • Remix
  • 🛠️Інструменти користувача
    • Hub Page
    • Block Explorer
    • Bridge UI
    • Testnet Кран
    • Документи Whitelabel
Powered by GitBook
On this page
  • Що таке Hardhat?
  • Створення проекту Hardhat
  • Створення смарт-контракту
  • Створення конфігураційного файлу
  • Розгортання смарт-контракту
  1. Деплой контрактів

Hardhat

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

Що таке Hardhat?

Hardhat — це середовище розробки для Ethereum, яке допомагає розробникам керувати і автоматизувати звичайні завдання, пов'язані зі створенням смарт-контрактів і децентралізованих додатків. Він може безпосередньо взаємодіяти з API Ethereum від Caldera, що дозволяє розгортати смарт-контракти в мережу Caldera.

Крім того, Hardhat є комплексом інструментів для створення програмного забезпечення на базі Ethereum, що включає різні компоненти, які допомагають у редагуванні, компіляції, налагодженні та розгортанні смарт-контрактів і децентралізованих додатків. Всі ці компоненти працюють разом, щоб створити повноцінне середовище розробки.

Створення проекту Hardhat

  1. Створіть директорію для вашого проекту:

    mkdir hardhat && cd hardhat
  2. Ініціалізуйте проект, що створить файл package.json:

    npm init -y
  3. Встановіть Hardhat:

    npm install hardhat
  4. Створіть проект:

    npx hardhat
  5. Створіть порожній файл hardhat.config.js і встановіть плагін Ethers для використання бібліотеки Ethers.js для взаємодії з мережею:

    npm install @nomiclabs/hardhat-ethers ethers

Створення смарт-контракту

  1. Створіть директорію contracts:

    mkdir contracts && cd contracts
  2. Створіть файл your_contract.sol у директорії contracts:

    touch your_contract.sol

Створення конфігураційного файлу

  1. Змініть конфігураційний файл Hardhat і створіть захищений файл для зберігання вашого приватного ключа:

    • Створіть файл secrets.json для зберігання вашого приватного ключа:

      touch secrets.json
    • Додайте ваш приватний ключ до secrets.json:

      {
        "privateKey": "YOUR-PRIVATE-KEY-HERE"
      }
    • Додайте файл до .gitignore вашого проекту і ніколи не розголошуйте ваш приватний ключ.

  2. Змініть файл hardhat.config.js:

    • Імплементуйте плагін Ethers.js:

      require('@nomiclabs/hardhat-ethers');
    • Імплементуйте файл secrets.json:

      const { privateKey } = require('./secrets.json');
    • Додайте конфігурацію мережі Caldera в module.exports:

      module.exports = {
        solidity: "0.8.1",
        defaultNetwork: "rinkeby",
        networks: {
          rinkeby: {
            url: "https://eth-rinkeby.alchemyapi.io/v2/123abc123abc123abc123abc123abcde",
            accounts: [privateKey]
          },
          caldera: {
            url: "RPC URL",  // Вставте ваш RPC URL тут
          }
        },
      };

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

  1. Скомпілюйте контракт:

    npx hardhat compile
  2. Створіть нову директорію для скриптів і назвіть її scripts, потім додайте новий файл під назвою deploy.js:

    mkdir scripts && cd scripts
    touch deploy.js
  3. Створіть скрипт розгортання, наприклад, наступний:

    // scripts/deploy.js
    
    async function main() {
      // 1. Отримання контракту для розгортання
      const Your_Contract = await ethers.getContractFactory('your_contract');
      console.log('Deploying Your_Contract...');
    
      // 2. Ініціалізація нового смарт-контракту
      const your_contract = await Your_Contract.deploy();
    
      // 3. Очікування завершення розгортання
      await your_contract.deployed();
    
      // 4. Використовуйте екземпляр контракту для отримання адреси контракту
      console.log('Your_Contract deployed to:', your_contract.address);
    }
    
    main()
    .then(() => process.exit(0))
    .catch((error) => {
      console.error(error);
      process.exit(1);
    });
  4. Розгорніть your_contract.sol за допомогою наступної команди:

    npx hardhat run scripts/deploy.js --network caldera
PreviousБезпекаNextFoundry

Last updated 9 months ago

💼