From 11f4a16713b4e0ca63d1b528f14538b7877afec5 Mon Sep 17 00:00:00 2001 From: clarkchenc <651044554@qq.com> Date: Thu, 9 Mar 2023 18:13:42 +0800 Subject: [PATCH 1/3] chg: embed bridge into delivery as a subcommand --- Makefile | 75 ++------------------- README.md | 5 ++ bridge/bridge.go | 15 ++++- bridge/cmd/root.go | 24 +++---- bridge/setu/broadcaster/broadcaster_test.go | 4 +- cmd/{heimdallcli => deliverycli}/main.go | 4 +- cmd/{heimdallcli => deliverycli}/stake.go | 0 cmd/{heimdalld => deliveryd}/init.go | 0 cmd/{heimdalld => deliveryd}/main.go | 2 + cmd/{heimdalld => deliveryd}/testnet.go | 0 helper/call_test.go | 2 +- helper/config.go | 4 +- helper/config_test.go | 2 +- server/root.go | 2 +- 14 files changed, 42 insertions(+), 97 deletions(-) rename cmd/{heimdallcli => deliverycli}/main.go (98%) rename cmd/{heimdallcli => deliverycli}/stake.go (100%) rename cmd/{heimdalld => deliveryd}/init.go (100%) rename cmd/{heimdalld => deliveryd}/main.go (99%) rename cmd/{heimdalld => deliveryd}/testnet.go (100%) diff --git a/Makefile b/Makefile index 7ee234dd..d8c91fcb 100644 --- a/Makefile +++ b/Makefile @@ -27,19 +27,13 @@ tests: build: clean mkdir -p build - go build -o build/heimdalld ./cmd/heimdalld - go build -o build/heimdallcli ./cmd/heimdallcli - go build -o build/bridge bridge/bridge.go - mv build/heimdalld build/deliveryd - mv build/heimdallcli build/deliverycli + go build -o build/deliveryd ./cmd/deliveryd + go build -o build/deliverycli ./cmd/deliverycli @echo "====================================================\n==================Build Successful==================\n====================================================" install: - go install $(BUILD_FLAGS) ./cmd/heimdalld - go install $(BUILD_FLAGS) ./cmd/heimdallcli - go install $(BUILD_FLAGS) bridge/bridge.go - mv $(GOPATH)/bin/heimdalld $(GOPATH)/bin/deliveryd - mv $(GOPATH)/bin/heimdallcli $(GOPATH)/bin/deliverycli + go install $(BUILD_FLAGS) ./cmd/deliveryd + go install $(BUILD_FLAGS) ./cmd/deliverycli contracts: abigen --abi=contracts/rootchain/rootchain.abi --pkg=rootchain --out=contracts/rootchain/rootchain.go @@ -50,51 +44,6 @@ contracts: abigen --abi=contracts/stakinginfo/stakinginfo.abi --pkg=stakinginfo --out=contracts/stakinginfo/stakinginfo.go abigen --abi=contracts/validatorset/validatorset.abi --pkg=validatorset --out=contracts/validatorset/validatorset.go abigen --abi=contracts/erc20/erc20.abi --pkg=erc20 --out=contracts/erc20/erc20.go - - -init-delivery: - ./build/deliveryd init - -show-account-delivery: - ./build/deliveryd show-account - -show-node-id: - ./build/deliveryd tendermint show-node-id - -run-delivery: - ./build/deliveryd start - -start-delivery: - mkdir -p ./logs & - ./build/deliveryd start > ./logs/deliveryd.log & - -reset-delivery: - ./build/deliveryd unsafe-reset-all - ./build/bridge purge-queue - rm -rf ~/.deliveryd/bridge - -run-server: - ./build/deliveryd rest-server - -start-server: - mkdir -p ./logs & - ./build/deliveryd rest-server > ./logs/deliveryd-rest-server.log & - -start: - mkdir -p ./logs - bash docker/start.sh - -run-bridge: - ./build/bridge start --all - -start-bridge: - mkdir -p logs & - ./build/bridge start --all > ./logs/bridge.log & - -start-all: - mkdir -p ./logs - bash docker/start-deliveryd.sh - # # Code quality # @@ -106,20 +55,4 @@ ifndef LINT_COMMAND endif golangci-lint run -# -# docker commands -# - -build-docker: - @echo Fetching latest tag: $(LATEST_GIT_TAG) - git checkout $(LATEST_GIT_TAG) - docker build -t "maticnetwork/heimdall:$(LATEST_GIT_TAG)" -f docker/Dockerfile . - -push-docker: - @echo Pushing docker tag image: $(LATEST_GIT_TAG) - docker push "maticnetwork/heimdall:$(LATEST_GIT_TAG)" - -build-docker-develop: - docker build -t "maticnetwork/heimdall:develop" -f docker/Dockerfile.develop . - .PHONY: contracts build diff --git a/README.md b/README.md index 617c2df6..00e5dd73 100644 --- a/README.md +++ b/README.md @@ -25,3 +25,8 @@ $ deliveryd start $ deliveryd rest-server ``` +### Run-bridge +```bash +$ deliveryd bridge +``` + diff --git a/bridge/bridge.go b/bridge/bridge.go index 7555a6fe..8c6a710e 100644 --- a/bridge/bridge.go +++ b/bridge/bridge.go @@ -1,7 +1,18 @@ package main -import "github.com/maticnetwork/heimdall/bridge/cmd" +import ( + "os" + + "github.com/maticnetwork/heimdall/bridge/cmd" + "github.com/maticnetwork/heimdall/helper" +) func main() { - cmd.Execute() + rootCmd := cmd.BridgeCommands() + logger := helper.Logger.With("module", "bridge/cmd/") + + if err := rootCmd.Execute(); err != nil { + logger.Error("bridge cmd failed", "Error", err) + os.Exit(1) + } } diff --git a/bridge/cmd/root.go b/bridge/cmd/root.go index 200d582d..500ec873 100644 --- a/bridge/cmd/root.go +++ b/bridge/cmd/root.go @@ -1,8 +1,6 @@ package cmd import ( - "fmt" - "os" "path/filepath" "github.com/spf13/cobra" @@ -28,9 +26,13 @@ var rootCmd = &cobra.Command{ }, } +func BridgeCommands() *cobra.Command { + return rootCmd +} + // InitTendermintViperConfig sets global viper configuration needed to heimdall func InitTendermintViperConfig(cmd *cobra.Command) { - tendermintNode, _ := cmd.Flags().GetString(helper.NodeFlag) + tendermintNode, _ := cmd.Flags().GetString(helper.TendermintNodeFlag) homeValue, _ := cmd.Flags().GetString(helper.HomeFlag) withDeliveryConfigValue, _ := cmd.Flags().GetString(helper.WithDeliveryConfigFlag) bridgeDBValue, _ := cmd.Flags().GetString(bridgeDBFlag) @@ -43,7 +45,7 @@ func InitTendermintViperConfig(cmd *cobra.Command) { } // set to viper - viper.Set(helper.NodeFlag, tendermintNode) + viper.Set(helper.TendermintNodeFlag, tendermintNode) viper.Set(helper.HomeFlag, homeValue) viper.Set(helper.WithDeliveryConfigFlag, withDeliveryConfigValue) viper.Set(bridgeDBFlag, bridgeDBValue) @@ -54,19 +56,11 @@ func InitTendermintViperConfig(cmd *cobra.Command) { helper.InitDeliveryConfig("") } -// Execute adds all child commands to the root command and sets flags appropriately. -// This is called by main.main(). It only needs to happen once to the rootCmd. -func Execute() { - if err := rootCmd.Execute(); err != nil { - fmt.Println(err) - os.Exit(1) - } -} - func init() { var logger = helper.Logger.With("module", "bridge/cmd/") - rootCmd.PersistentFlags().StringP(helper.NodeFlag, "n", "tcp://localhost:26657", "Node to connect to") - rootCmd.PersistentFlags().String(helper.HomeFlag, os.ExpandEnv("$HOME/.deliveryd"), "directory for config and data") + + rootCmd.PersistentFlags().StringP(helper.TendermintNodeFlag, "n", helper.DefaultTendermintNode, "Node to connect to") + rootCmd.PersistentFlags().String(helper.HomeFlag, helper.DefaultNodeHome, "directory for config and data") rootCmd.PersistentFlags().String( helper.WithDeliveryConfigFlag, "", diff --git a/bridge/setu/broadcaster/broadcaster_test.go b/bridge/setu/broadcaster/broadcaster_test.go index 693b21b4..c08749df 100644 --- a/bridge/setu/broadcaster/broadcaster_test.go +++ b/bridge/setu/broadcaster/broadcaster_test.go @@ -17,8 +17,8 @@ func TestBroadcastToHeimdall(t *testing.T) { t.Parallel() cdc := app.MakeCodec() // cli context - tendermintNode := "tcp://localhost:26657" - viper.Set(helper.NodeFlag, tendermintNode) + tendermintNode := helper.DefaultTendermintNode + viper.Set(helper.TendermintNodeFlag, tendermintNode) viper.Set("log_level", "info") // cliCtx := cliContext.NewCLIContext().WithCodec(cdc) // cliCtx.BroadcastMode = client.BroadcastSync diff --git a/cmd/heimdallcli/main.go b/cmd/deliverycli/main.go similarity index 98% rename from cmd/heimdallcli/main.go rename to cmd/deliverycli/main.go index e6d8fcbf..1ea8f2bb 100644 --- a/cmd/heimdallcli/main.go +++ b/cmd/deliverycli/main.go @@ -57,12 +57,12 @@ var ( ) func initTendermintViperConfig(cmd *cobra.Command) { - tendermintNode, _ := cmd.Flags().GetString(helper.NodeFlag) + tendermintNode, _ := cmd.Flags().GetString(helper.TendermintNodeFlag) homeValue, _ := cmd.Flags().GetString(helper.HomeFlag) withDeliveryConfigValue, _ := cmd.Flags().GetString(helper.WithDeliveryConfigFlag) // set to viper - viper.Set(helper.NodeFlag, tendermintNode) + viper.Set(helper.TendermintNodeFlag, tendermintNode) viper.Set(helper.HomeFlag, homeValue) viper.Set(helper.WithDeliveryConfigFlag, withDeliveryConfigValue) diff --git a/cmd/heimdallcli/stake.go b/cmd/deliverycli/stake.go similarity index 100% rename from cmd/heimdallcli/stake.go rename to cmd/deliverycli/stake.go diff --git a/cmd/heimdalld/init.go b/cmd/deliveryd/init.go similarity index 100% rename from cmd/heimdalld/init.go rename to cmd/deliveryd/init.go diff --git a/cmd/heimdalld/main.go b/cmd/deliveryd/main.go similarity index 99% rename from cmd/heimdalld/main.go rename to cmd/deliveryd/main.go index 8249ca87..8327db92 100644 --- a/cmd/heimdalld/main.go +++ b/cmd/deliveryd/main.go @@ -44,6 +44,7 @@ import ( "github.com/maticnetwork/heimdall/app" authTypes "github.com/maticnetwork/heimdall/auth/types" + hmbridge "github.com/maticnetwork/heimdall/bridge/cmd" "github.com/maticnetwork/heimdall/helper" restServer "github.com/maticnetwork/heimdall/server" hmTypes "github.com/maticnetwork/heimdall/types" @@ -156,6 +157,7 @@ func main() { rootCmd.AddCommand(showAccountCmd()) rootCmd.AddCommand(showPrivateKeyCmd()) rootCmd.AddCommand(restServer.ServeCommands(cdc, restServer.RegisterRoutes)) + rootCmd.AddCommand(hmbridge.BridgeCommands()) rootCmd.AddCommand(VerifyGenesis(ctx, cdc)) rootCmd.AddCommand(initCmd(ctx, cdc)) rootCmd.AddCommand(testnetCmd(ctx, cdc)) diff --git a/cmd/heimdalld/testnet.go b/cmd/deliveryd/testnet.go similarity index 100% rename from cmd/heimdalld/testnet.go rename to cmd/deliveryd/testnet.go diff --git a/helper/call_test.go b/helper/call_test.go index 0bcd889a..4b7ecf99 100644 --- a/helper/call_test.go +++ b/helper/call_test.go @@ -15,7 +15,7 @@ import ( // Test - to decode signers from checkpoint sigs data func TestCheckpointsigs(t *testing.T) { tendermintNode := "tcp://localhost:26657" - viper.Set(NodeFlag, tendermintNode) + viper.Set(TendermintNodeFlag, tendermintNode) viper.Set("log_level", "info") InitDeliveryConfig(os.ExpandEnv("$HOME/.deliveryd")) diff --git a/helper/config.go b/helper/config.go index cbf5886a..d70e7b73 100644 --- a/helper/config.go +++ b/helper/config.go @@ -27,7 +27,7 @@ import ( ) const ( - NodeFlag = "node" + TendermintNodeFlag = "node" WithDeliveryConfigFlag = "with-delivery-config" HomeFlag = "home" FlagClientHome = "home-client" @@ -97,7 +97,7 @@ const ( DefaultBttcChainID string = "15001" - DefaultChain string = "mainnet" + DefaultChain = "mainnet" secretFilePerm = 0600 ) diff --git a/helper/config_test.go b/helper/config_test.go index e7352e09..a71228bf 100644 --- a/helper/config_test.go +++ b/helper/config_test.go @@ -12,7 +12,7 @@ import ( func TestHeimdallConfig(t *testing.T) { // cli context tendermintNode := "tcp://localhost:26657" - viper.Set(NodeFlag, tendermintNode) + viper.Set(TendermintNodeFlag, tendermintNode) viper.Set("log_level", "info") // cliCtx := cliContext.NewCLIContext().WithCodec(cdc) // cliCtx.BroadcastMode = client.BroadcastSync diff --git a/server/root.go b/server/root.go index 29d617a3..a9f81363 100644 --- a/server/root.go +++ b/server/root.go @@ -49,7 +49,7 @@ func ServeCommands(cdc *codec.Codec, registerRoutesFn func(*lcd.RestServer)) *co cmd.Flags().String(client.FlagListenAddr, "tcp://0.0.0.0:1317", "The address for the server to listen on") cmd.Flags().Bool(client.FlagTrustNode, true, "Trust connected full node (don't verify proofs for responses)") cmd.Flags().String(client.FlagChainID, "", "The chain ID to connect to") - cmd.Flags().String(client.FlagNode, "tcp://localhost:26657", "Address of the node to connect to") + cmd.Flags().String(client.FlagNode, helper.DefaultTendermintNode, "Address of the node to connect to") cmd.Flags().Int(client.FlagMaxOpenConnections, 1000, "The number of maximum open connections") return cmd From 28ff14cad7abc4972e9e1abe28400ac0849d409f Mon Sep 17 00:00:00 2001 From: clarkchenc <651044554@qq.com> Date: Thu, 16 Mar 2023 17:25:39 +0800 Subject: [PATCH 2/3] chg: modify local docker build and remove ci for docker --- .github/workflows/dockerimage.yml | 25 ------------------------- Makefile | 12 ++++++++++++ 2 files changed, 12 insertions(+), 25 deletions(-) delete mode 100644 .github/workflows/dockerimage.yml diff --git a/.github/workflows/dockerimage.yml b/.github/workflows/dockerimage.yml deleted file mode 100644 index 41876ea6..00000000 --- a/.github/workflows/dockerimage.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Docker Image CI - -on: - push: - tags: - - 'v*.*.*' - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Build the Docker image - env: - DOCKERHUB: ${{ secrets.DOCKERHUB }} - DOCKERHUB_KEY: ${{ secrets.DOCKERHUB_KEY }} - run: | - ls -l - echo "Docker login" - docker login -u $DOCKERHUB -p $DOCKERHUB_KEY - echo "running build" - docker build -f docker/Dockerfile -t maticnetwork/heimdall:${GITHUB_REF/refs\/tags\//} . - echo "pushing image" - docker push maticnetwork/heimdall:${GITHUB_REF/refs\/tags\//} - echo "DONE!" diff --git a/Makefile b/Makefile index d8c91fcb..0eeb6436 100644 --- a/Makefile +++ b/Makefile @@ -55,4 +55,16 @@ ifndef LINT_COMMAND endif golangci-lint run +# +# docker commands +# + +build-docker: + @echo Fetching latest tag: $(LATEST_GIT_TAG) + git checkout $(LATEST_GIT_TAG) + docker build -t "bttcprotocol/delivery:$(LATEST_GIT_TAG)" -f docker/Dockerfile . + +build-docker-develop: + docker build -t "bttcprotocol/delivery:develop" -f docker/Dockerfile.develop . + .PHONY: contracts build From e2b1617a71dafe264abb9855cb89b937651204e8 Mon Sep 17 00:00:00 2001 From: clarkchenc <651044554@qq.com> Date: Tue, 21 Mar 2023 15:44:17 +0800 Subject: [PATCH 3/3] chg: remove bridge and change docker image name --- Makefile | 4 ++-- bridge/bridge.go | 18 ------------------ 2 files changed, 2 insertions(+), 20 deletions(-) delete mode 100644 bridge/bridge.go diff --git a/Makefile b/Makefile index 0eeb6436..af78a1d0 100644 --- a/Makefile +++ b/Makefile @@ -62,9 +62,9 @@ endif build-docker: @echo Fetching latest tag: $(LATEST_GIT_TAG) git checkout $(LATEST_GIT_TAG) - docker build -t "bttcprotocol/delivery:$(LATEST_GIT_TAG)" -f docker/Dockerfile . + docker build -t "delivery:$(LATEST_GIT_TAG)" -f docker/Dockerfile . build-docker-develop: - docker build -t "bttcprotocol/delivery:develop" -f docker/Dockerfile.develop . + docker build -t "delivery:develop" -f docker/Dockerfile.develop . .PHONY: contracts build diff --git a/bridge/bridge.go b/bridge/bridge.go deleted file mode 100644 index 8c6a710e..00000000 --- a/bridge/bridge.go +++ /dev/null @@ -1,18 +0,0 @@ -package main - -import ( - "os" - - "github.com/maticnetwork/heimdall/bridge/cmd" - "github.com/maticnetwork/heimdall/helper" -) - -func main() { - rootCmd := cmd.BridgeCommands() - logger := helper.Logger.With("module", "bridge/cmd/") - - if err := rootCmd.Execute(); err != nil { - logger.Error("bridge cmd failed", "Error", err) - os.Exit(1) - } -}