Pull to refresh

Запустите вашу локальную сеть Ethereum

✅ Настройте свой 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. Не удаляйте сами папки

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.