diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 2789954226..b39e20ffb7 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -40,7 +40,7 @@ jobs: strategy: matrix: args: ["build", "lint", "gosec", "test-unit-cover"] - os: [ubuntu-latest] + os: [ubuntu-latest-large] runs-on: ${{ matrix.os }} steps: - name: Checkout diff --git a/.github/workflows/tagged_docker.yml b/.github/workflows/tagged_docker.yml new file mode 100644 index 0000000000..a7a1b73727 --- /dev/null +++ b/.github/workflows/tagged_docker.yml @@ -0,0 +1,77 @@ +# SPDX-License-Identifier: MIT +# +# Copyright (c) 2023 Berachain Foundation +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. + +name: docker + +on: + push: + # tags: + branches: + - '**' + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build-and-push: + runs-on: ubuntu-latest-large + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Log in to the Container registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GH_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + file: examples/beacond/docker/base.Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-args: | + TAG=${{ github.ref_name }} diff --git a/Makefile b/Makefile index 36d67f2a12..5d59033e73 100644 --- a/Makefile +++ b/Makefile @@ -70,7 +70,7 @@ IMAGE_VERSION ?= v0.0.0 BASE_IMAGE ?= beacond/base:$(IMAGE_VERSION) # Docker Paths -BASE_DOCKER_PATH = ./app/docker +BASE_DOCKER_PATH = ./examples/beacond/docker EXEC_DOCKER_PATH = $(BASE_DOCKER_PATH)/base.Dockerfile LOCAL_DOCKER_PATH = $(BASE_DOCKER_PATH)/local/Dockerfile SEED_DOCKER_PATH = $(BASE_DOCKER_PATH)/seed/Dockerfile @@ -151,11 +151,14 @@ mockery: # beacond # ################# -# TODO: add start-erigon and start-nethermind +# TODO: add start-erigon and start-nethermin + +JWT_PATH = ${TESTAPP_DIR}/jwt.hex +ETH_GENESIS_PATH = ${TESTAPP_DIR}/eth-genesis.json # Start beacond start: - @./app/entrypoint.sh + @JWT_SECRET_PATH=$(JWT_PATH) ./examples/beacond/entrypoint.sh # Start reth node start-reth: @@ -164,38 +167,39 @@ start-reth: -p 30303:30303 \ -p 8545:8545 \ -p 8551:8551 \ - --rm -v $(PWD)/app:/app \ + --rm -v $(PWD)/${TESTAPP_DIR}:/${TESTAPP_DIR} \ -v $(PWD)/.tmp:/.tmp \ ghcr.io/paradigmxyz/reth node \ - --chain ./app/eth-genesis.json \ + --chain ${ETH_GENESIS_PATH} \ --http \ --http.addr "0.0.0.0" \ --http.api eth \ --authrpc.addr "0.0.0.0" \ - --authrpc.jwtsecret ./app/jwt.hex + --authrpc.jwtsecret $(JWT_PATH) \ --datadir .tmp/reth # Init and start geth node start-geth: rm -rf .tmp/geth docker run \ - --rm -v $(PWD)/app:/app \ + --rm -v $(PWD)/${TESTAPP_DIR}:/${TESTAPP_DIR} \ -v $(PWD)/.tmp:/.tmp \ ethereum/client-go init \ --datadir .tmp/geth \ - ./app/eth-genesis.json + ${ETH_GENESIS_PATH} + docker run \ -p 30303:30303 \ -p 8545:8545 \ -p 8551:8551 \ - --rm -v $(PWD)/app:/app \ + --rm -v $(PWD)/${TESTAPP_DIR}:/${TESTAPP_DIR} \ -v $(PWD)/.tmp:/.tmp \ ethereum/client-go \ --http \ --http.addr 0.0.0.0 \ --http.api eth \ --authrpc.addr 0.0.0.0 \ - --authrpc.jwtsecret ./app/jwt.hex \ + --authrpc.jwtsecret $(JWT_PATH) \ --authrpc.vhosts "*" \ --datadir .tmp/geth @@ -205,17 +209,17 @@ start-nethermind: -p 30303:30303 \ -p 8545:8545 \ -p 8551:8551 \ - -v $(PWD)/app:/app \ + -v $(PWD)/${TESTAPP_DIR}:/${TESTAPP_DIR} \ -v $(PWD)/.tmp:/.tmp \ - nethermind/nethermind \ + nethermind/nethermind \y --JsonRpc.Port 8545 \ --JsonRpc.EngineEnabledModules "eth,net,engine" \ --JsonRpc.EnginePort 8551 \ --JsonRpc.EngineHost 0.0.0.0 \ --JsonRpc.Host 0.0.0.0 \ - --JsonRpc.JwtSecretFile ../app/jwt.hex \ + --JsonRpc.JwtSecretFile ../$(JWT_PATH) \ --Sync.PivotNumber 0 \ - --Init.ChainSpecPath ../app/eth-nether-genesis.json + --Init.ChainSpecPath ../$(TESTAPP_DIR)/eth-nether-genesis.json # Start besu node start-besu: @@ -223,11 +227,11 @@ start-besu: -p 30303:30303 \ -p 8545:8545 \ -p 8551:8551 \ - -v $(PWD)/app:/app \ + -v $(PWD)/${TESTAPP_DIR}:/${TESTAPP_DIR} \ -v $(PWD)/.tmp:/.tmp \ hyperledger/besu:latest \ --data-path=.tmp/besu \ - --genesis-file=../../app/eth-genesis.json \ + --genesis-file=../../${ETH_GENESIS_PATH} \ --rpc-http-enabled \ --rpc-http-api=ETH,NET,ENGINE,DEBUG,NET,WEB3 \ --host-allowlist="*" \ @@ -235,7 +239,7 @@ start-besu: --engine-rpc-port=8551 \ --engine-rpc-enabled \ --engine-host-allowlist="*" \ - --engine-jwt-secret=../../app/jwt.hex + --engine-jwt-secret=../../${JWT_PATH} diff --git a/app/README.md b/app/README.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/build/scripts/cosmos.mk b/build/scripts/cosmos.mk index e348aade34..40416381db 100644 --- a/build/scripts/cosmos.mk +++ b/build/scripts/cosmos.mk @@ -10,7 +10,7 @@ export COMMIT := $(shell git log -1 --format='%H') CURRENT_DIR = $(shell pwd) OUT_DIR ?= $(CURDIR)/build/bin BINDIR ?= $(GOPATH)/build/bin -TESTAPP_DIR = ./app +TESTAPP_DIR = examples/beacond PROJECT_NAME = $(shell git remote get-url origin | xargs basename -s .git) # process build tags diff --git a/config/execution_client.go b/config/execution_client.go index 9098e89b34..7d830d85cf 100644 --- a/config/execution_client.go +++ b/config/execution_client.go @@ -45,7 +45,7 @@ func DefaultExecutionClientConfig() ExecutionClient { RPCDialURL: "http://localhost:8551", RPCTimeout: 5, //nolint:gomnd // default config. RPCRetries: 3, //nolint:gomnd // default config. - JWTSecretPath: "./app/jwt.hex", + JWTSecretPath: "./jwt.hex", RequiredChainID: 7, //nolint:gomnd // default config. } } diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000000..53670f2162 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,5 @@ +# examples + +Here we show a variety of examples of how to use beaconkit. + + diff --git a/app/app.go b/examples/beacond/app/app.go similarity index 99% rename from app/app.go rename to examples/beacond/app/app.go index 8eecbe14ea..a6ee8fbfb8 100644 --- a/app/app.go +++ b/examples/beacond/app/app.go @@ -23,7 +23,7 @@ // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. -package testapp +package app import ( "context" diff --git a/app/app_config.go b/examples/beacond/app/app_config.go similarity index 99% rename from app/app_config.go rename to examples/beacond/app/app_config.go index 57c793218c..b2edf7e7d3 100644 --- a/app/app_config.go +++ b/examples/beacond/app/app_config.go @@ -23,7 +23,7 @@ // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. -package testapp +package app import ( runtimev1alpha1 "cosmossdk.io/api/cosmos/app/runtime/v1alpha1" diff --git a/app/export.go b/examples/beacond/app/export.go similarity index 99% rename from app/export.go rename to examples/beacond/app/export.go index f0b65e9531..b933f06775 100644 --- a/app/export.go +++ b/examples/beacond/app/export.go @@ -23,7 +23,7 @@ // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. -package testapp +package app import ( "encoding/json" diff --git a/app/beacond/main.go b/examples/beacond/cmd/main.go similarity index 87% rename from app/beacond/main.go rename to examples/beacond/cmd/main.go index 490b0dceee..ab83844cf2 100644 --- a/app/beacond/main.go +++ b/examples/beacond/cmd/main.go @@ -32,15 +32,15 @@ import ( svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" - testapp "github.com/itsdevbear/bolaris/app" - "github.com/itsdevbear/bolaris/app/beacond/cmd" "github.com/itsdevbear/bolaris/config" + "github.com/itsdevbear/bolaris/examples/beacond/app" + "github.com/itsdevbear/bolaris/examples/beacond/cmd/root" ) func main() { config.SetupCosmosConfig() - rootCmd := cmd.NewRootCmd() - if err := svrcmd.Execute(rootCmd, "", testapp.DefaultNodeHome); err != nil { + rootCmd := root.NewRootCmd() + if err := svrcmd.Execute(rootCmd, "", app.DefaultNodeHome); err != nil { log.NewLogger(rootCmd.OutOrStderr()).Error("failure when running app", "error", err) os.Exit(1) } diff --git a/app/beacond/cmd/root.go b/examples/beacond/cmd/root/root.go similarity index 99% rename from app/beacond/cmd/root.go rename to examples/beacond/cmd/root/root.go index 92fd5118c6..7f21399793 100644 --- a/app/beacond/cmd/root.go +++ b/examples/beacond/cmd/root/root.go @@ -24,7 +24,7 @@ // OTHER DEALINGS IN THE SOFTWARE. //nolint:govet,gomnd,lll // from sdk. -package cmd +package root import ( "context" @@ -70,7 +70,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/crisis" genutilcli "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" - testapp "github.com/itsdevbear/bolaris/app" + testapp "github.com/itsdevbear/bolaris/examples/beacond/app" beaconconfig "github.com/itsdevbear/bolaris/config" beacontemplate "github.com/itsdevbear/bolaris/config/template" diff --git a/app/beacond/cmd/root_test.go b/examples/beacond/cmd/root/root_test.go similarity index 92% rename from app/beacond/cmd/root_test.go rename to examples/beacond/cmd/root/root_test.go index 05e9c1e458..bc18bd4dac 100644 --- a/app/beacond/cmd/root_test.go +++ b/examples/beacond/cmd/root/root_test.go @@ -23,7 +23,7 @@ // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. -package cmd_test +package root_test import ( "fmt" @@ -34,12 +34,12 @@ import ( svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" - testapp "github.com/itsdevbear/bolaris/app" - "github.com/itsdevbear/bolaris/app/beacond/cmd" + testapp "github.com/itsdevbear/bolaris/examples/beacond/app" + "github.com/itsdevbear/bolaris/examples/beacond/cmd/root" ) func TestInitCommand(t *testing.T) { - rootCmd := cmd.NewRootCmd() + rootCmd := root.NewRootCmd() rootCmd.SetOut(os.NewFile(0, os.DevNull)) rootCmd.SetArgs([]string{ "init", // Test the init cmd @@ -59,7 +59,7 @@ func TestHomeFlagRegistration(t *testing.T) { os.Stdout = os.NewFile(0, os.DevNull) homeDir := os.TempDir() - rootCmd := cmd.NewRootCmd() + rootCmd := root.NewRootCmd() rootCmd.SetArgs([]string{ "query", fmt.Sprintf("--%s", flags.FlagHome), diff --git a/app/contracts/gen.go b/examples/beacond/contracts/gen.go similarity index 100% rename from app/contracts/gen.go rename to examples/beacond/contracts/gen.go diff --git a/app/contracts/main/main.go b/examples/beacond/contracts/main/main.go similarity index 97% rename from app/contracts/main/main.go rename to examples/beacond/contracts/main/main.go index 47e8105060..efc5f2c6db 100644 --- a/app/contracts/main/main.go +++ b/examples/beacond/contracts/main/main.go @@ -37,8 +37,8 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/ethclient" - "github.com/itsdevbear/bolaris/app/contracts" "github.com/itsdevbear/bolaris/beacon/logs/callback" + "github.com/itsdevbear/bolaris/examples/beacond/contracts" evmv1 "github.com/itsdevbear/bolaris/types/evm/v1" ) diff --git a/app/contracts/staking.abigen.go b/examples/beacond/contracts/staking.abigen.go similarity index 100% rename from app/contracts/staking.abigen.go rename to examples/beacond/contracts/staking.abigen.go diff --git a/app/contracts/staking.go b/examples/beacond/contracts/staking.go similarity index 100% rename from app/contracts/staking.go rename to examples/beacond/contracts/staking.go diff --git a/app/docker/README.md b/examples/beacond/docker/README.md similarity index 100% rename from app/docker/README.md rename to examples/beacond/docker/README.md diff --git a/app/docker/base.Dockerfile b/examples/beacond/docker/base.Dockerfile similarity index 97% rename from app/docker/base.Dockerfile rename to examples/beacond/docker/base.Dockerfile index dfad713e1d..3fc79d5089 100644 --- a/app/docker/base.Dockerfile +++ b/examples/beacond/docker/base.Dockerfile @@ -21,8 +21,6 @@ ARG GO_VERSION=1.21.6 ARG RUNNER_IMAGE=alpine ARG BUILD_TAGS="netgo,ledger,muslc" -ARG GOARCH=amd64 -ARG GOOS=linux ARG NAME=beacond ARG APP_NAME=beacond ARG DB_BACKEND=pebbledb @@ -64,8 +62,6 @@ COPY . . # Build args ARG NAME -ARG GOARCH -ARG GOOS ARG APP_NAME ARG DB_BACKEND ARG CMD_PATH @@ -73,7 +69,6 @@ ARG CMD_PATH # Build beacond RUN --mount=type=cache,target=/root/.cache/go-build \ --mount=type=cache,target=/root/go/pkg/mod \ - env GOOS=${GOOS} GOARCH=${GOARCH} && \ env NAME=${NAME} DB_BACKEND=${DB_BACKEND} && \ env APP_NAME=${APP_NAME} && \ env CGO_ENABLED=1 && \ diff --git a/app/docker/docker-compose.yml b/examples/beacond/docker/docker-compose.yml similarity index 100% rename from app/docker/docker-compose.yml rename to examples/beacond/docker/docker-compose.yml diff --git a/app/docker/ethgen/genesis.json b/examples/beacond/docker/ethgen/genesis.json similarity index 100% rename from app/docker/ethgen/genesis.json rename to examples/beacond/docker/ethgen/genesis.json diff --git a/app/docker/ethgen/jwt.hex b/examples/beacond/docker/ethgen/jwt.hex similarity index 100% rename from app/docker/ethgen/jwt.hex rename to examples/beacond/docker/ethgen/jwt.hex diff --git a/app/docker/ethgen/p2p-secret-0.key b/examples/beacond/docker/ethgen/p2p-secret-0.key similarity index 100% rename from app/docker/ethgen/p2p-secret-0.key rename to examples/beacond/docker/ethgen/p2p-secret-0.key diff --git a/app/docker/ethgen/p2p-secret-1.key b/examples/beacond/docker/ethgen/p2p-secret-1.key similarity index 100% rename from app/docker/ethgen/p2p-secret-1.key rename to examples/beacond/docker/ethgen/p2p-secret-1.key diff --git a/app/docker/ethgen/p2p-secret-2.key b/examples/beacond/docker/ethgen/p2p-secret-2.key similarity index 100% rename from app/docker/ethgen/p2p-secret-2.key rename to examples/beacond/docker/ethgen/p2p-secret-2.key diff --git a/app/docker/ethgen/p2p-secret-3.key b/examples/beacond/docker/ethgen/p2p-secret-3.key similarity index 100% rename from app/docker/ethgen/p2p-secret-3.key rename to examples/beacond/docker/ethgen/p2p-secret-3.key diff --git a/app/docker/network-init-3.sh b/examples/beacond/docker/network-init-3.sh similarity index 100% rename from app/docker/network-init-3.sh rename to examples/beacond/docker/network-init-3.sh diff --git a/app/docker/network-init-4.sh b/examples/beacond/docker/network-init-4.sh similarity index 100% rename from app/docker/network-init-4.sh rename to examples/beacond/docker/network-init-4.sh diff --git a/app/docker/nginx.conf b/examples/beacond/docker/nginx.conf similarity index 100% rename from app/docker/nginx.conf rename to examples/beacond/docker/nginx.conf diff --git a/app/docker/reset-temp.sh b/examples/beacond/docker/reset-temp.sh similarity index 100% rename from app/docker/reset-temp.sh rename to examples/beacond/docker/reset-temp.sh diff --git a/app/docker/seed/scripts/get-seed-address.sh b/examples/beacond/docker/seed/scripts/get-seed-address.sh similarity index 100% rename from app/docker/seed/scripts/get-seed-address.sh rename to examples/beacond/docker/seed/scripts/get-seed-address.sh diff --git a/app/docker/seed/scripts/liveness-probe.sh b/examples/beacond/docker/seed/scripts/liveness-probe.sh similarity index 100% rename from app/docker/seed/scripts/liveness-probe.sh rename to examples/beacond/docker/seed/scripts/liveness-probe.sh diff --git a/app/docker/seed/scripts/readiness-probe.sh b/examples/beacond/docker/seed/scripts/readiness-probe.sh similarity index 100% rename from app/docker/seed/scripts/readiness-probe.sh rename to examples/beacond/docker/seed/scripts/readiness-probe.sh diff --git a/app/docker/seed/scripts/reset.sh b/examples/beacond/docker/seed/scripts/reset.sh similarity index 100% rename from app/docker/seed/scripts/reset.sh rename to examples/beacond/docker/seed/scripts/reset.sh diff --git a/app/docker/seed/scripts/seed-start.sh b/examples/beacond/docker/seed/scripts/seed-start.sh similarity index 100% rename from app/docker/seed/scripts/seed-start.sh rename to examples/beacond/docker/seed/scripts/seed-start.sh diff --git a/app/docker/seed/scripts/seed0-init-step1.sh b/examples/beacond/docker/seed/scripts/seed0-init-step1.sh similarity index 100% rename from app/docker/seed/scripts/seed0-init-step1.sh rename to examples/beacond/docker/seed/scripts/seed0-init-step1.sh diff --git a/app/docker/seed/scripts/seed0-init-step2.sh b/examples/beacond/docker/seed/scripts/seed0-init-step2.sh similarity index 100% rename from app/docker/seed/scripts/seed0-init-step2.sh rename to examples/beacond/docker/seed/scripts/seed0-init-step2.sh diff --git a/app/docker/seed/scripts/seed1-init-step1.sh b/examples/beacond/docker/seed/scripts/seed1-init-step1.sh similarity index 100% rename from app/docker/seed/scripts/seed1-init-step1.sh rename to examples/beacond/docker/seed/scripts/seed1-init-step1.sh diff --git a/app/docker/seed/scripts/seed1-init-step2.sh b/examples/beacond/docker/seed/scripts/seed1-init-step2.sh similarity index 100% rename from app/docker/seed/scripts/seed1-init-step2.sh rename to examples/beacond/docker/seed/scripts/seed1-init-step2.sh diff --git a/app/docker/seed/scripts/seed2-init-step2.sh b/examples/beacond/docker/seed/scripts/seed2-init-step2.sh similarity index 100% rename from app/docker/seed/scripts/seed2-init-step2.sh rename to examples/beacond/docker/seed/scripts/seed2-init-step2.sh diff --git a/app/docker/seed/scripts/set-moniker.sh b/examples/beacond/docker/seed/scripts/set-moniker.sh similarity index 100% rename from app/docker/seed/scripts/set-moniker.sh rename to examples/beacond/docker/seed/scripts/set-moniker.sh diff --git a/app/docker/seed/scripts/set-persistent-peers.sh b/examples/beacond/docker/seed/scripts/set-persistent-peers.sh similarity index 100% rename from app/docker/seed/scripts/set-persistent-peers.sh rename to examples/beacond/docker/seed/scripts/set-persistent-peers.sh diff --git a/app/docker/seed/scripts/set-seed-address.sh b/examples/beacond/docker/seed/scripts/set-seed-address.sh similarity index 100% rename from app/docker/seed/scripts/set-seed-address.sh rename to examples/beacond/docker/seed/scripts/set-seed-address.sh diff --git a/app/entrypoint.sh b/examples/beacond/entrypoint.sh similarity index 99% rename from app/entrypoint.sh rename to examples/beacond/entrypoint.sh index b2cc43bc06..5d3d131e42 100755 --- a/app/entrypoint.sh +++ b/examples/beacond/entrypoint.sh @@ -121,4 +121,4 @@ fi ./build/bin/beacond start --pruning=nothing "$TRACE" \ --log_level $LOGLEVEL --api.enabled-unsafe-cors \ --api.enable --api.swagger --minimum-gas-prices=0.0001abera \ ---home "$HOMEDIR" --beacon-kit.execution-client.jwt-secret-path "./app/jwt.hex" +--home "$HOMEDIR" --beacon-kit.execution-client.jwt-secret-path ${JWT_SECRET_PATH} diff --git a/app/eth-genesis.json b/examples/beacond/eth-genesis.json similarity index 100% rename from app/eth-genesis.json rename to examples/beacond/eth-genesis.json diff --git a/app/eth-nether-genesis.json b/examples/beacond/eth-nether-genesis.json similarity index 100% rename from app/eth-nether-genesis.json rename to examples/beacond/eth-nether-genesis.json diff --git a/app/jwt.hex b/examples/beacond/jwt.hex similarity index 100% rename from app/jwt.hex rename to examples/beacond/jwt.hex