sbellem / evmos

Apache License 2.0
0 stars 0 forks source link

Notes on building from source and running e2e tests #1

Open sbellem opened 1 year ago

sbellem commented 1 year ago

[!IMPORTANT]
Use the dev branch

Clone and get submodules

Get the git submodules, e.g., when cloning:

git clone --recurse-submodules --branch dev https://github.com/sbellem/evmos.git

or after cloning:

git submodule update --init --remote

Build local node

docker compose  -f docker-compose/docker-compose.local.yml build evmosnodelocal

Init/setup

docker compose -f docker-compose/docker-compose.local.yml run evmosnodelocal bash /config/setup.sh

[!NOTE] Can this be done in the docker image instead, or automated in some way?

Change permissions of running_node/ dir:

sudo chown -R `id -un`:`id -gn` running_node/
# not needed it seems
#mkdir -p ./running_node/node1/.evmosd/zama/keys/network-fhe-keys
fhevm-tfhe-cli generate-keys --destination-dir running_node/node1/.evmosd/zama/keys/network-fhe-keys/

Launch a node

docker compose  -f docker-compose/docker-compose.local.yml -f docker-compose/docker-compose.local.override.yml  up --detach

Follow logs:

docker compose --file docker-compose/docker-compose.local.yml logs --follow

Run end-to-end tests

cd third_party/fhevm-solidity/ && npm install
mkdir -p keys/network-public-fhe-keys
cp ../../running_node/node1/.evmosd/zama/keys/network-fhe-keys/pks keys/network-public-fhe-keys/
PRIVATE_KEY=$(docker compose -f ../../docker-compose/docker-compose.local.yml exec evmosnodelocal evmosd --home /root/.evmosd keys unsafe-export-eth-key mykey1 --keyring-backend test)

Run the e2e tests:

docker compose -f ci/docker-compose.yml run app python ci/tests/ERC20.py $PRIVATE_KEY
sbellem commented 1 year ago

Use commit (bf55b5533bb034f661a239d7fe041021105c928e](https://github.com/zama-ai/evmos/commit/bf55b5533bb034f661a239d7fe041021105c928e)