mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-11-03 23:47:27 +00:00 
			
		
		
		
	update build file
This commit is contained in:
		
							parent
							
								
									54feea3d12
								
							
						
					
					
						commit
						de2559f6cc
					
				@ -7,7 +7,7 @@ FROM golang:1.20-alpine AS build-env
 | 
				
			|||||||
RUN apk add bash git make libc-dev gcc linux-headers eudev-dev jq curl
 | 
					RUN apk add bash git make libc-dev gcc linux-headers eudev-dev jq curl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set working directory for the build
 | 
					# Set working directory for the build
 | 
				
			||||||
WORKDIR /root/kava
 | 
					WORKDIR /root/0g-chain
 | 
				
			||||||
# default home directory is /root
 | 
					# default home directory is /root
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Copy dependency files first to facilitate dependency caching
 | 
					# Copy dependency files first to facilitate dependency caching
 | 
				
			||||||
@ -32,6 +32,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
 | 
				
			|||||||
FROM alpine:3.15
 | 
					FROM alpine:3.15
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN apk add bash jq curl
 | 
					RUN apk add bash jq curl
 | 
				
			||||||
COPY --from=build-env /go/bin/kava /bin/kava
 | 
					COPY --from=build-env /go/bin/0gchaind /bin/0gchaind
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CMD ["kava"]
 | 
					CMD ["0gchaind"]
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
FROM golang:1.20-bullseye AS kava-builder
 | 
					FROM golang:1.20-bullseye AS chain-builder
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set up dependencies
 | 
					# Set up dependencies
 | 
				
			||||||
RUN apt-get update \
 | 
					RUN apt-get update \
 | 
				
			||||||
@ -19,7 +19,7 @@ RUN git clone https://github.com/facebook/rocksdb.git \
 | 
				
			|||||||
    && make -j$(nproc) install-shared \
 | 
					    && make -j$(nproc) install-shared \
 | 
				
			||||||
    && ldconfig
 | 
					    && ldconfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WORKDIR /root/kava
 | 
					WORKDIR /root/0gchain
 | 
				
			||||||
# Copy dependency files first to facilitate dependency caching
 | 
					# Copy dependency files first to facilitate dependency caching
 | 
				
			||||||
COPY ./go.mod ./
 | 
					COPY ./go.mod ./
 | 
				
			||||||
COPY ./go.sum ./
 | 
					COPY ./go.sum ./
 | 
				
			||||||
@ -32,13 +32,13 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
 | 
				
			|||||||
# Add source files
 | 
					# Add source files
 | 
				
			||||||
COPY . .
 | 
					COPY . .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ARG kava_database_backend=rocksdb
 | 
					ARG 0gchain_database_backend=rocksdb
 | 
				
			||||||
ENV KAVA_DATABASE_BACKEND=$kava_database_backend
 | 
					ENV 0GCHAIN_DATABASE_BACKEND=$0gchain_database_backend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Mount go build and mod caches as container caches, persisted between builder invocations
 | 
					# Mount go build and mod caches as container caches, persisted between builder invocations
 | 
				
			||||||
RUN --mount=type=cache,target=/root/.cache/go-build \
 | 
					RUN --mount=type=cache,target=/root/.cache/go-build \
 | 
				
			||||||
    --mount=type=cache,target=/go/pkg/mod \
 | 
					    --mount=type=cache,target=/go/pkg/mod \
 | 
				
			||||||
    make install COSMOS_BUILD_OPTIONS=$KAVA_DATABASE_BACKEND
 | 
					    make install COSMOS_BUILD_OPTIONS=$0GCHAIN_DATABASE_BACKEND
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM ubuntu:22.04
 | 
					FROM ubuntu:22.04
 | 
				
			||||||
@ -48,10 +48,10 @@ RUN apt-get update \
 | 
				
			|||||||
    && rm -rf /var/lib/apt/lists/*
 | 
					    && rm -rf /var/lib/apt/lists/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# copy rocksdb shared objects
 | 
					# copy rocksdb shared objects
 | 
				
			||||||
COPY --from=kava-builder /usr/local/lib/ /usr/local/lib/
 | 
					COPY --from=chain-builder /usr/local/lib/ /usr/local/lib/
 | 
				
			||||||
RUN ldconfig
 | 
					RUN ldconfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# copy kava binary
 | 
					# copy 0g-chain binary
 | 
				
			||||||
COPY --from=kava-builder /go/bin/kava /bin/kava
 | 
					COPY --from=chain-builder /go/bin/0gchaind /bin/0gchaind
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CMD ["kava"]
 | 
					CMD ["0gchaind"]
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										39
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								Makefile
									
									
									
									
									
								
							@ -1,8 +1,10 @@
 | 
				
			|||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
###                             Project Info                                 ###
 | 
					###                             Project Info                                 ###
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
PROJECT_NAME := kava# unique namespace for project
 | 
					PROJECT_NAME := 0g-chain# unique namespace for project
 | 
				
			||||||
 | 
					BINARY_NAME := 0gchaind
 | 
				
			||||||
 | 
					MAIN_ENTRY := ./cmd/$(BINARY_NAME)
 | 
				
			||||||
 | 
					DOCKER_IMAGE_NAME := 0glabs/$(PROJECT_NAME)
 | 
				
			||||||
GO_BIN ?= go
 | 
					GO_BIN ?= go
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
 | 
					GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
 | 
				
			||||||
@ -37,7 +39,7 @@ print-git-info:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
.PHONY: print-version
 | 
					.PHONY: print-version
 | 
				
			||||||
print-version:
 | 
					print-version:
 | 
				
			||||||
	@echo "kava $(VERSION)\ntendermint $(TENDERMINT_VERSION)\ncosmos $(COSMOS_SDK_VERSION)"
 | 
						@echo "$(BINARY_NAME) $(VERSION)\ntendermint $(TENDERMINT_VERSION)\ncosmos $(COSMOS_SDK_VERSION)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
###                             Project Settings                             ###
 | 
					###                             Project Settings                             ###
 | 
				
			||||||
@ -142,8 +144,8 @@ build_tags_comma_sep := $(subst $(whitespace),$(comma),$(build_tags))
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# process linker flags
 | 
					# process linker flags
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ldflags = -X github.com/cosmos/cosmos-sdk/version.Name=kava \
 | 
					ldflags = -X github.com/cosmos/cosmos-sdk/version.Name=$(PROJECT_NAME) \
 | 
				
			||||||
		  -X github.com/cosmos/cosmos-sdk/version.AppName=kava \
 | 
							  -X github.com/cosmos/cosmos-sdk/version.AppName=$(PROJECT_NAME) \
 | 
				
			||||||
		  -X github.com/cosmos/cosmos-sdk/version.Version=$(VERSION_NUMBER) \
 | 
							  -X github.com/cosmos/cosmos-sdk/version.Version=$(VERSION_NUMBER) \
 | 
				
			||||||
		  -X github.com/cosmos/cosmos-sdk/version.Commit=$(GIT_COMMIT) \
 | 
							  -X github.com/cosmos/cosmos-sdk/version.Commit=$(GIT_COMMIT) \
 | 
				
			||||||
		  -X "github.com/cosmos/cosmos-sdk/version.BuildTags=$(build_tags_comma_sep)" \
 | 
							  -X "github.com/cosmos/cosmos-sdk/version.BuildTags=$(build_tags_comma_sep)" \
 | 
				
			||||||
@ -188,16 +190,16 @@ all: install
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
build: go.sum
 | 
					build: go.sum
 | 
				
			||||||
ifeq ($(OS), Windows_NT)
 | 
					ifeq ($(OS), Windows_NT)
 | 
				
			||||||
	$(GO_BIN) build -mod=readonly $(BUILD_FLAGS) -o out/$(shell $(GO_BIN) env GOOS)/kava.exe ./cmd/kava
 | 
						$(GO_BIN) build -mod=readonly $(BUILD_FLAGS) -o out/$(shell $(GO_BIN) env GOOS)/$(BINARY_NAME).exe $(MAIN_ENTRY)
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
	$(GO_BIN) build -mod=readonly $(BUILD_FLAGS) -o out/$(shell $(GO_BIN) env GOOS)/kava ./cmd/kava
 | 
						$(GO_BIN) build -mod=readonly $(BUILD_FLAGS) -o out/$(shell $(GO_BIN) env GOOS)/$(BINARY_NAME) $(MAIN_ENTRY)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
build-linux: go.sum
 | 
					build-linux: go.sum
 | 
				
			||||||
	LEDGER_ENABLED=false GOOS=linux GOARCH=amd64 $(MAKE) build
 | 
						LEDGER_ENABLED=false GOOS=linux GOARCH=amd64 $(MAKE) build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
install: go.sum
 | 
					install: go.sum
 | 
				
			||||||
	$(GO_BIN) install -mod=readonly $(BUILD_FLAGS) ./cmd/kava
 | 
						$(GO_BIN) install -mod=readonly $(BUILD_FLAGS) $(MAIN_ENTRY)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
########################################
 | 
					########################################
 | 
				
			||||||
### Tools & dependencies
 | 
					### Tools & dependencies
 | 
				
			||||||
@ -219,6 +221,7 @@ go.sum: go.mod
 | 
				
			|||||||
# Set to exclude riot links as they trigger false positives
 | 
					# Set to exclude riot links as they trigger false positives
 | 
				
			||||||
link-check:
 | 
					link-check:
 | 
				
			||||||
	@$(GO_BIN) get -u github.com/raviqqe/liche@f57a5d1c5be4856454cb26de155a65a4fd856ee3
 | 
						@$(GO_BIN) get -u github.com/raviqqe/liche@f57a5d1c5be4856454cb26de155a65a4fd856ee3
 | 
				
			||||||
 | 
						# TODO: replace kava in following line with project name
 | 
				
			||||||
	liche -r . --exclude "^http://127.*|^https://riot.im/app*|^http://kava-testnet*|^https://testnet-dex*|^https://kava3.data.kava.io*|^https://ipfs.io*|^https://apps.apple.com*|^https://kava.quicksync.io*"
 | 
						liche -r . --exclude "^http://127.*|^https://riot.im/app*|^http://kava-testnet*|^https://testnet-dex*|^https://kava3.data.kava.io*|^https://ipfs.io*|^https://apps.apple.com*|^https://kava.quicksync.io*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -240,19 +243,19 @@ format:
 | 
				
			|||||||
###                                Localnet                                 ###
 | 
					###                                Localnet                                 ###
 | 
				
			||||||
###############################################################################
 | 
					###############################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Build docker image and tag as kava/kava:local
 | 
					# Build docker image and tag as 0glabs/0g-chain:local
 | 
				
			||||||
docker-build:
 | 
					docker-build:
 | 
				
			||||||
	DOCKER_BUILDKIT=1 $(DOCKER) build -t kava/kava:local .
 | 
						DOCKER_BUILDKIT=1 $(DOCKER) build -t $(DOCKER_IMAGE_NAME):local .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
docker-build-rocksdb:
 | 
					docker-build-rocksdb:
 | 
				
			||||||
	DOCKER_BUILDKIT=1 $(DOCKER) build -f Dockerfile-rocksdb -t kava/kava:local .
 | 
						DOCKER_BUILDKIT=1 $(DOCKER) build -f Dockerfile-rocksdb -t $(DOCKER_IMAGE_NAME):local .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
build-docker-local-kava:
 | 
					build-docker-local-0gchain:
 | 
				
			||||||
	@$(MAKE) -C networks/local
 | 
						@$(MAKE) -C networks/local
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Run a 4-node testnet locally
 | 
					# Run a 4-node testnet locally
 | 
				
			||||||
localnet-start: build-linux localnet-stop
 | 
					localnet-start: build-linux localnet-stop
 | 
				
			||||||
	@if ! [ -f build/node0/kvd/config/genesis.json ]; then docker run --rm -v $(CURDIR)/build:/kvd:Z kava/kavanode testnet --v 4 -o . --starting-ip-address 192.168.10.2 --keyring-backend=test ; fi
 | 
						@if ! [ -f build/node0/kvd/config/genesis.json ]; then docker run --rm -v $(CURDIR)/build:/kvd:Z $(DOCKER_IMAGE_NAME)-node testnet --v 4 -o . --starting-ip-address 192.168.10.2 --keyring-backend=test ; fi
 | 
				
			||||||
	docker-compose up -d
 | 
						docker-compose up -d
 | 
				
			||||||
 | 
					
 | 
				
			||||||
localnet-stop:
 | 
					localnet-stop:
 | 
				
			||||||
@ -261,7 +264,7 @@ localnet-stop:
 | 
				
			|||||||
# Launch a new single validator chain
 | 
					# Launch a new single validator chain
 | 
				
			||||||
start:
 | 
					start:
 | 
				
			||||||
	./contrib/devnet/init-new-chain.sh
 | 
						./contrib/devnet/init-new-chain.sh
 | 
				
			||||||
	kava start
 | 
						$(BINARY_NAME) start
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#proto-format:
 | 
					#proto-format:
 | 
				
			||||||
#@echo "Formatting Protobuf files"
 | 
					#@echo "Formatting Protobuf files"
 | 
				
			||||||
@ -302,7 +305,7 @@ test:
 | 
				
			|||||||
	@$(GO_BIN) test $$($(GO_BIN) list ./... | grep -v 'contrib' | grep -v 'tests/e2e')
 | 
						@$(GO_BIN) test $$($(GO_BIN) list ./... | grep -v 'contrib' | grep -v 'tests/e2e')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
test-rocksdb:
 | 
					test-rocksdb:
 | 
				
			||||||
	@go test -tags=rocksdb ./cmd/kava/opendb
 | 
						@go test -tags=rocksdb $(MAIN_ENTRY)/opendb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Run cli integration tests
 | 
					# Run cli integration tests
 | 
				
			||||||
# `-p 4` to use 4 cores, `-tags cli_test` to tell $(GO_BIN) not to ignore the cli package
 | 
					# `-p 4` to use 4 cores, `-tags cli_test` to tell $(GO_BIN) not to ignore the cli package
 | 
				
			||||||
@ -318,15 +321,15 @@ test-migrate:
 | 
				
			|||||||
# This submits an AWS Batch job to run a lot of sims, each within a docker image. Results are uploaded to S3
 | 
					# This submits an AWS Batch job to run a lot of sims, each within a docker image. Results are uploaded to S3
 | 
				
			||||||
start-remote-sims:
 | 
					start-remote-sims:
 | 
				
			||||||
	# build the image used for running sims in, and tag it
 | 
						# build the image used for running sims in, and tag it
 | 
				
			||||||
	docker build -f simulations/Dockerfile -t kava/kava-sim:master .
 | 
						docker build -f simulations/Dockerfile -t $(DOCKER_IMAGE_NAME)-sim:master .
 | 
				
			||||||
	# push that image to the hub
 | 
						# push that image to the hub
 | 
				
			||||||
	docker push kava/kava-sim:master
 | 
						docker push $(DOCKER_IMAGE_NAME)-sim:master
 | 
				
			||||||
	# submit an array job on AWS Batch, using 1000 seeds, spot instances
 | 
						# submit an array job on AWS Batch, using 1000 seeds, spot instances
 | 
				
			||||||
	aws batch submit-job \
 | 
						aws batch submit-job \
 | 
				
			||||||
		-—job-name "master-$(VERSION)" \
 | 
							-—job-name "master-$(VERSION)" \
 | 
				
			||||||
		-—job-queue “simulation-1-queue-spot" \
 | 
							-—job-queue “simulation-1-queue-spot" \
 | 
				
			||||||
		-—array-properties size=1000 \
 | 
							-—array-properties size=1000 \
 | 
				
			||||||
		-—job-definition kava-sim-master \
 | 
							-—job-definition $(BINARY_NAME)-sim-master \
 | 
				
			||||||
		-—container-override environment=[{SIM_NAME=master-$(VERSION)}]
 | 
							-—container-override environment=[{SIM_NAME=master-$(VERSION)}]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
update-kvtool:
 | 
					update-kvtool:
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@ version: '3'
 | 
				
			|||||||
services:
 | 
					services:
 | 
				
			||||||
  kvdnode0:
 | 
					  kvdnode0:
 | 
				
			||||||
    container_name: kvdnode0
 | 
					    container_name: kvdnode0
 | 
				
			||||||
    image: "kava/kavanode"
 | 
					    image: "0glabs/0g-chain-node"
 | 
				
			||||||
    ports:
 | 
					    ports:
 | 
				
			||||||
      - "26656-26657:26656-26657"
 | 
					      - "26656-26657:26656-26657"
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
@ -17,7 +17,7 @@ services:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  kvdnode1:
 | 
					  kvdnode1:
 | 
				
			||||||
    container_name: kvdnode1
 | 
					    container_name: kvdnode1
 | 
				
			||||||
    image: "kava/kavanode"
 | 
					    image: "0glabs/0g-chain-node"
 | 
				
			||||||
    ports:
 | 
					    ports:
 | 
				
			||||||
      - "26659-26660:26656-26657"
 | 
					      - "26659-26660:26656-26657"
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
@ -31,7 +31,7 @@ services:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  kvdnode2:
 | 
					  kvdnode2:
 | 
				
			||||||
    container_name: kvdnode2
 | 
					    container_name: kvdnode2
 | 
				
			||||||
    image: "kava/kavanode"
 | 
					    image: "0glabs/0g-chain-node"
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - ID=2
 | 
					      - ID=2
 | 
				
			||||||
      - LOG=${LOG:-kvd.log}
 | 
					      - LOG=${LOG:-kvd.log}
 | 
				
			||||||
@ -45,7 +45,7 @@ services:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  kvdnode3:
 | 
					  kvdnode3:
 | 
				
			||||||
    container_name: kvdnode3
 | 
					    container_name: kvdnode3
 | 
				
			||||||
    image: "kava/kavanode"
 | 
					    image: "0glabs/0g-chain-node"
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - ID=3
 | 
					      - ID=3
 | 
				
			||||||
      - LOG=${LOG:-kvd.log}
 | 
					      - LOG=${LOG:-kvd.log}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user