From 152af77c079d1b395c91e2f8ca8d1e693bf2e78d Mon Sep 17 00:00:00 2001 From: Levent DEMIR Date: Mon, 15 Jul 2024 15:24:21 +0200 Subject: [PATCH 1/2] feat(fhevm): use dev image --- Makefile | 39 ++++--------------- .../docker-compose-full.override.yml | 11 ------ docker-compose/docker-compose-full.yml | 4 +- package.json | 2 +- 4 files changed, 10 insertions(+), 46 deletions(-) delete mode 100644 docker-compose/docker-compose-full.override.yml diff --git a/Makefile b/Makefile index 8fdffec..e8fc3fb 100644 --- a/Makefile +++ b/Makefile @@ -69,33 +69,12 @@ endif check-all-test-repo: check-fhevm-solidity - -change-running-node-owner: - @$(SUDO) chown -R $(USER): running_node/ - - -init-ethermint-node: - @$(MAKE) init-ethermint-node-from-registry - -init-ethermint-node-from-registry: - @docker compose -f docker-compose/docker-compose-full.yml run fhevm-validator bash /config/setup.sh - $(MAKE) change-running-node-owner - $(MAKE) generate-fhe-keys-registry - -generate-fhe-keys-registry: -ifeq ($(KEY_GEN),false) - @echo "KEY_GEN is false, executing corresponding commands..." - @bash ./scripts/copy_fhe_keys.sh $(KMS_DEV_VERSION) $(PWD)/running_node/node2/.ethermintd/zama/keys/network-fhe-keys $(PWD)/running_node/node2/.ethermintd/zama/keys/kms-fhe-keys -else ifeq ($(KEY_GEN),true) - @echo "KEY_GEN is true, executing corresponding commands..." - @bash ./scripts/prepare_volumes_from_kms_core.sh $(KMS_DEV_VERSION) $(PWD)/running_node/node2/.ethermintd/zama/keys/network-fhe-keys $(PWD)/running_node/node2/.ethermintd/zama/keys/kms-fhe-keys -else - @echo "KEY_GEN is set to an unrecognized value: $(KEY_GEN)" -endif - +generate-fhe-keys: + @bash ./scripts/copy_fhe_keys.sh $(KMS_DEV_VERSION) $(PWD)/network-fhe-keys $(PWD)/kms-fhe-keys run-full: - @docker compose -f docker-compose/docker-compose-full.yml -f docker-compose/docker-compose-full.override.yml up --detach + $(MAKE) generate-fhe-keys + @docker compose -f docker-compose/docker-compose-full.yml up --detach @echo 'sleep a little to let the docker start up' sleep 10 @@ -131,20 +110,16 @@ run-true-input-async-test: e2e-test: @$(MAKE) check-all-test-repo - @$(MAKE) init-ethermint-node-from-registry $(MAKE) run-full $(MAKE) run-e2e-test $(MAKE) stop-full - -clean-node-storage: - @echo 'clean node storage' - sudo rm -rf running_node - -clean: clean-node-storage +clean: $(MAKE) stop-full rm -rf $(BUILDDIR)/ rm -rf $(WORKDIR)/ + rm -rf network-fhe-keys + rm -rf kms-fhe-keys print-info: diff --git a/docker-compose/docker-compose-full.override.yml b/docker-compose/docker-compose-full.override.yml deleted file mode 100644 index 5dabcee..0000000 --- a/docker-compose/docker-compose-full.override.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: "3" - -services: - fhevm-validator: - # To avoid panic this env variable is added at run and not init (calling setup.sh) - environment: - - FHEVM_GO_KEYS_DIR=/root/.ethermintd/zama/keys/network-fhe-keys - entrypoint: - /usr/bin/ethermintd start --home /root/.ethermintd --pruning=nothing --log_level - info --minimum-gas-prices=0.0001aphoton --json-rpc.gas-cap=50000000 --json-rpc.api eth,txpool,net,web3 - --rpc.laddr tcp://0.0.0.0:26657 diff --git a/docker-compose/docker-compose-full.yml b/docker-compose/docker-compose-full.yml index 3d7426d..58382d1 100644 --- a/docker-compose/docker-compose-full.yml +++ b/docker-compose/docker-compose-full.yml @@ -81,12 +81,12 @@ services: fhevm-validator: environment: - TFHE_EXECUTOR_CONTRACT_ADDRESS=0x05fD9B5EFE0a996095f42Ed7e77c390810CF660c - image: ghcr.io/zama-ai/ethermint-node:v0.5.0 + image: ghcr.io/zama-ai/ethermint-dev-node:v0.5.0-2 ports: - "26656-26657:26656-26657" - "8545-8546:8545-8546" volumes: - - ../running_node/node2:/root:Z + - $PWD/network-fhe-keys:/network-fhe-keys:Z - ../setup.sh:/config/setup.sh:Z security_opt: - no-new-privileges:true diff --git a/package.json b/package.json index 4c8200d..c9cf6d1 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "task:getEthereumAddress": "hardhat task:getEthereumAddress", "task:deployERC20": "hardhat task:deployERC20", "task:accounts": "hardhat task:accounts", - "fhevm:start": "make init-ethermint-node && make run-full && ./scripts/fund_test_addresses_docker.sh && ./launch-fhevm.sh", + "fhevm:start": "make run-full && ./scripts/fund_test_addresses_docker.sh && ./launch-fhevm.sh", "fhevm:stop": "make clean", "fhevm:restart": "fhevm:stop && fhevm:start", "fhevm:faucet": "npm run fhevm:faucet:alice && sleep 5 && npm run fhevm:faucet:bob && sleep 5 && npm run fhevm:faucet:carol && sleep 5 && npm run fhevm:faucet:dave && sleep 5 && npm run fhevm:faucet:eve", From f76320613c7a9b2fbf198b4b91529b1288439a95 Mon Sep 17 00:00:00 2001 From: Levent DEMIR Date: Mon, 15 Jul 2024 15:55:38 +0200 Subject: [PATCH 2/2] chore: remove unused code --- Makefile | 80 +------------------------------------------------------- 1 file changed, 1 insertion(+), 79 deletions(-) diff --git a/Makefile b/Makefile index e8fc3fb..8543f1e 100644 --- a/Makefile +++ b/Makefile @@ -6,24 +6,12 @@ KEY_GEN = false BINDIR ?= $(GOPATH)/bin ETHERMINT_BINARY = ethermintd ETHERMINT_DIR = ethermint -BUILDDIR ?= $(CURDIR)/build - - - -WORKDIR ?= $(CURDIR)/work_dir -SUDO := $(shell which sudo) - # This version must the same as in docker-compose-full.yml # TODO add check KMS_DEV_VERSION ?= v0.7.1 -FHEVM_SOLIDITY_REPO ?= fhevm -FHEVM_SOLIDITY_PATH ?= $(WORKDIR)/$(FHEVM_SOLIDITY_REPO) -FHEVM_SOLIDITY_PATH_EXISTS := $(shell test -d $(FHEVM_SOLIDITY_PATH)/.git && echo "true" || echo "false") -FHEVM_SOLIDITY_VERSION ?= V0.5.1 - export GO111MODULE = on # Default target executed when no arguments are given to make. @@ -33,41 +21,11 @@ default_target: all # process build tags - - ############################################################################### ### Single validator ### ############################################################################### -$(WORKDIR)/: - $(info WORKDIR) - mkdir -p $(WORKDIR) - -clone-fhevm-solidity: $(WORKDIR)/ - $(info Cloning fhevm-solidity version $(FHEVM_SOLIDITY_VERSION)) - cd $(WORKDIR) && git clone https://github.com/zama-ai/fhevm.git - cd $(FHEVM_SOLIDITY_PATH) && git checkout $(FHEVM_SOLIDITY_VERSION) - -check-fhevm-solidity: $(WORKDIR)/ - $(info check-fhevm-solidity) -ifeq ($(FHEVM_SOLIDITY_PATH_EXISTS), true) - @echo "fhevm-solidity exists in $(FHEVM_SOLIDITY_PATH)" - @if [ ! -d $(WORKDIR)/fhevm ]; then \ - echo 'fhevm-solidity is not available in $(WORKDIR)'; \ - echo "FHEVM_SOLIDITY_PATH is set to a custom value"; \ - else \ - echo 'fhevm-solidity is already available in $(WORKDIR)'; \ - fi -else - @echo "fhevm-solidity does not exist" - echo "We clone it for you!" - echo "If you want your own version please update FHEVM_SOLIDITY_PATH pointing to your fhevm-solidity folder!" - $(MAKE) clone-fhevm-solidity -endif - - -check-all-test-repo: check-fhevm-solidity generate-fhe-keys: @bash ./scripts/copy_fhe_keys.sh $(KMS_DEV_VERSION) $(PWD)/network-fhe-keys $(PWD)/kms-fhe-keys @@ -76,53 +34,17 @@ run-full: $(MAKE) generate-fhe-keys @docker compose -f docker-compose/docker-compose-full.yml up --detach @echo 'sleep a little to let the docker start up' - sleep 10 + sleep 5 stop-full: @docker compose -f docker-compose/docker-compose-full.yml down -TEST_FILE := run_tests.sh -TEST_IF_FROM_REGISTRY := - -run-e2e-test: check-all-test-repo - @cd $(FHEVM_SOLIDITY_PATH) && npm ci - @sleep 5 - @./scripts/fund_test_addresses_docker.sh - @cd $(FHEVM_SOLIDITY_PATH) && cp .env.example .env - @cd $(FHEVM_SOLIDITY_PATH) && npm i - @cd $(FHEVM_SOLIDITY_PATH) && ./setup-local-fhevm.sh - @cd $(FHEVM_SOLIDITY_PATH) && npx hardhat test - - -prepare-e2e-test: check-all-test-repo - @cd $(FHEVM_SOLIDITY_PATH) && npm ci - @sleep 5 - @./scripts/fund_test_addresses_docker.sh - @cd $(FHEVM_SOLIDITY_PATH) && cp .env.example .env - @cd $(FHEVM_SOLIDITY_PATH) && npm i - @cd $(FHEVM_SOLIDITY_PATH) && ./setup-local-fhevm.sh - -run-async-test: - @cd $(FHEVM_SOLIDITY_PATH) && npx hardhat test --grep 'test async decrypt uint8' - -run-true-input-async-test: - @cd $(FHEVM_SOLIDITY_PATH) && npx hardhat test --grep 'test async decrypt uint64 non-trivial' - -e2e-test: - @$(MAKE) check-all-test-repo - $(MAKE) run-full - $(MAKE) run-e2e-test - $(MAKE) stop-full clean: $(MAKE) stop-full - rm -rf $(BUILDDIR)/ - rm -rf $(WORKDIR)/ rm -rf network-fhe-keys rm -rf kms-fhe-keys print-info: @echo 'KMS_DEV_VERSION: $(KMS_DEV_VERSION) for KEY_GEN---extracted from Makefile' - @echo 'FHEVM_SOLIDITY_VERSION: $(FHEVM_SOLIDITY_VERSION) ---extracted from Makefile' - @bash scripts/get_repository_info.sh fhevm $(FHEVM_SOLIDITY_PATH) \ No newline at end of file