OBS: Eu gosto de usar o NodeJS com NVM (Node Version Manager), que permite trabalhar com multiplas versões do runtime, mas não é algo necessário.
Após configurar as ferramentas, instale as dependências do projeto do smart contract.
# entrar na pasta do projeto
cd envs/ethereum-network
# instalar o gerenciador de pacotes Yarn
npm install -g yarn
# instalar as dependências do projeto
yarn install --non-interactive --frozen-lockfileApós a configuração do projeto do smart contract é necessário gerar os binds do contrato em Go.
# entrar na pasta do projeto
cd envs/ethereum-network
# compilar contrato
npx hardhat compile --config hardhat.config.local.js
# gerar bindings para o código Go
npx hardhat gobind --config hardhat.config.local.jsDaí em diante podemos rodar a aplicação em si.
Tentei criar targets em um Makefile para facilitar o entendimento das etapas.
Antes de executar o projeto localmente é necessário compilar o contrato e iniciar a rede Ethereum.
make generate