Содержание
Что такое MetaMask, Ganache и Remix
По сути это минимальный технологический стек, необходимый для разработки смарт-контрактов:
- Ganache — локальный блокчейн Ethereum для разработки и тестирования смарт-контрактов.
- MetaMask — расширение Chrome для управления вашим кошельком Ethereum.
- Remix — редактор, для написания кода смарт-контрактов.
Настройки Ganache
Предполагаем, что он у вас уже установлен и запущен (если это не так, читайте как это сделать в статье «Погружение в Truffle & Ganache для разработчиков смарт-контактов«).
- При запуске Ganache, обязательно создайте свой workspace и назовите его каким-нибудь именем и в дальнейшем используйте его для того, чтобы каждый раз при перезапуске Ganache у вас не пересоздавались адреса кошельков. Иначе вам придется и все настройки для MetaMask производить заново.
- Опционально, в настройках workspace вы можете также указать ссылку на ваш truffle проект, а также при необходимости поменять конфигурацию вашего локального блокчейна.
- Здесь нам понадобиться информация о нашем RPC Server для подключения к нему:

- Также для подключения к локальному Ganache блокчейну из MetaMask, нам понадобится хотя бы один приватный ключ (справа напротив адреса нажмите картинку с ключом и получите приватный ключ):

Настройка MetaMask для связки с Ganache
- Прежде всего нужно установить расширение MetaMask если его у вас еще нет и зарегистрироваться.
- Добавьте настройки для вашей новой тестовой сети, как на изображении:

- Далее нажмите на иконку вашего аккаунта MetaMask и выбирете пункт «Импортировать счет«, после чего введите приватный ключ, который вы получили на этапе 4 предыдущего раздела.

- Для удобства, можно переименовать дефолтное название вашего аккаунта.

Настройка Remix для связи с Ganache
- Откройте Remix и перейдите в раздел «Deploy & run transactions» и далее в поле «Environment» выберите из выпадающего списка «Web3 Provider«.

- Во всплывающем окне скорректируйте RPC Server который вы получили в пункте 3 из раздела о настройке Ganache и нажмите «Ok».

На этом настройка завершена! 😎