Продолжая предыдущий пост, я хотел бы продолжить развитие децентрализованного.

На прошлом уроке мы создали узел на локальном хосте с помощью каски. Если вы еще не запустили его, выполните следующую команду:

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.