✅ Настройте свой env, чтобы начать работу с блокчейном
Прежде всего нам нужно наладить работу нашей локальной сети Ethereum. Вот как мы можем скомпилировать и протестировать наш код смарт-контракта! Вы знаете, как вам нужно раскрутить локальную среду, чтобы над ней поработать? То же самое и здесь!
На данный момент все, что вам нужно знать, это то, что смарт-контракт - это фрагмент кода, который живет в блокчейне. Блокчейн - это общедоступное место, где каждый может безопасно читать и записывать данные за определенную плату. Думайте об этом как об AWS или Heroku, но на самом деле никто не владеет им!
В данном случае мы хотим, чтобы люди ругали нас. Общая картина здесь такова:
1. Мы собираемся написать смарт-контракт. В этом контракте заложена вся логика обработки ?. Это похоже на код вашего сервера.
2. Наш смарт-контракт будет развернут в блокчейне. Таким образом, любой человек в мире сможет получить доступ к нашему смарт-контракту и запустить его (если мы дадим ему на это разрешение). Итак, очень похоже на сервер :).
3. Мы собираемся создать клиентский веб-сайт , который позволит людям легко взаимодействовать с нашим смарт-контрактом на блокчейне.
Я объясню некоторые вещи подробно по мере необходимости (например, как работает майнинг, как компилируются и запускаются смарт-контракты и т. Д.), Но пока давайте просто сосредоточимся на том, чтобы все работало .
✨ Магия Hardhat
1. Мы будем часто использовать инструмент под названием Hardhat. Это позволит нам легко развернуть локальную сеть Ethereum и предоставить нам поддельные тестовые ETH и поддельные тестовые учетные записи для работы. Помните, это как локальный сервер, за исключением того, что «сервер» - это блокчейн.
2. Быстро составляйте смарт-контракты и тестируйте их на нашем локальном блокчейне.
Сначала вам нужно получить node / npm. Если у вас его нет, идите сюда .
Мы рекомендуем вам установить как минимум node v15, иначе вы можете столкнуться с некоторыми проблемами!
Затем перейдем к терминалу (Git Bash работать не будет). Идите вперед и перейдите в каталог, в котором вы хотите работать. Как только вы окажетесь там, выполните следующие команды:
mkdir my-wave-portal
cd my-wave-portal
npm init -y
npm install --save-dev hardhat
? Запустить образец проекта
Круто, теперь у нас должен быть Hardhat. Давайте запустим образец проекта.
Бегать:
npx hardhat
Примечание: если у вас установлена пряжа вместе с npm, вы можете получить такие ошибки, как npm ERR! could not determine executable to run
. В этом случае можно yarn add hardhat
.
Выберите вариант создания образца проекта. Скажи всему да.
Пример проекта попросит вас установить hardhat-waffle и hardhat-ethers. Это и другие полезности, которыми мы воспользуемся позже :).
Идите вперед и установите эти другие зависимости на тот случай, если он не сделал это автоматически.
npm install --save-dev @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers ethers
Наконец, запустите, npx hardhat accounts
и это должно распечатать несколько строк, которые выглядят следующим образом:
0xa0Ee7A142d267C1f36714E4a8F75612F20a79720
Это адреса Ethereum, которые Hardhat генерирует для нас, чтобы имитировать реальных пользователей в блокчейне. Это поможет нам на тонну позже в проекте, когда мы захотим смоделировать, как пользователи кричат на нас!
? Запустить
Чтобы убедиться, что все работает, запустите:
npx hardhat compile
Затем запустите:
npx hardhat test
Вы должны увидеть что-то вроде этого:

Давайте сделаем небольшую уборку.
Теперь откройте код проекта в своем любимом редакторе кода. Мне больше всего нравится VSCode! Мы хотим удалить весь сгенерированный для нас неудачный стартовый код. Нам это не нужно. Мы профи;)!
Идите вперед и удалите файл sample-test.js
под test
. Также удалите sample-script.js
под scripts
. Затем удалите Greeter.sol
под contracts
. Не удаляйте сами папки