Продолжая предыдущий пост, я хотел бы продолжить развитие децентрализованного.
На прошлом уроке мы создали узел на локальном хосте с помощью каски. Если вы еще не запустили его, выполните следующую команду:
npx hardhat node
Описанные ниже шаги можно выполнять только после запуска блокчейна.
1 — Открытие консоли каски с помощью Node JS
Учитывая, что мы уже сделали развертывание из нашего смарт-контракта в локальной среде. Теперь давайте взаимодействовать через консоль.
npx hardhat console
2)Присоединение переменных к нашему смарт-контракту.
Как только консоль запустится, создайте константу, чтобы привязать Фабрику к нашему контракту.
const Greeter = await ethers.getContractFactory('Greeter');
После этой процедуры вы можете начать взаимодействовать со смарт-контрактом, который мы развернули ранее, который находится в хеше 0x5FbDB2315678afecb367f032d93F642f64180aa3.
const greeter = await Greeter.attach('0x5FbDB2315678afecb367f032d93F642f64180aa3')
Сделанный. Теперь мы можем прикрепить хэш нашего смарт-контракта к константе приветствия.
Чтобы начать взаимодействие со смарт-контрактом, мы можем выполнить задачу с именем setGreeting().
await greeter.setGreeting("Ola, mundo!")
Что мы только что сделали, так это выполнили действие в рамках нашего смарт-контракта. Мы вызываем setGreeting и вводим новый заголовок со строкой «Hello world!». Для проверки выполните следующую команду.
await greeter.greet()
и результат будет.
'Ola, mundo!'
Большой! Мы смогли взаимодействовать с нашим смарт-контрактом и вставить новый заголовок «Olá, mundo!» на локальном блокчейне.
3) Проведение испытаний.
Помимо создания примеров смарт-контрактов, Hardhat также устанавливает предварительно настроенный тест под названием sample-script.js.
npx hardhat test
Результат будет:
Greeter Deploying a Greeter with greeting: Hello, world! Changing greeting from 'Hello, world!' to 'Hola, mundo!' ✔ Should return the new greeting once it's changed (1246ms)
Также было бы неплохо настроить службу непрерывной интеграции с CircleCI, которая сможет автоматически тестировать при фиксации на Github.
Все верно, я считаю, что эти шаги дадут вам хорошее представление о том, как работать со смарт-контрактом. Надеюсь это поможет.
Чтобы получить доступ к нашему репозиторию, зайдите на наш Github.