Skip to content

Commit

Permalink
Merge pull request #6 from youchainhq/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
Nanyan committed Jun 22, 2020
2 parents b24826b + 3be86f1 commit c559e99
Show file tree
Hide file tree
Showing 23 changed files with 251 additions and 99 deletions.
8 changes: 4 additions & 4 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# binary is not build inside the docker,
# so ignores the whole context except for the exactly file we need.
**
!/output/you-linux-amd64
**/*_test.go
/output
/ignores
/build
7 changes: 6 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
FROM golang:1.13 as builder

ADD . /go-youchain
RUN cd /go-youchain && export GOPROXY=https://goproxy.cn/ && make build

FROM frolvlad/alpine-glibc:latest
RUN set -ex \
&& apk update && apk add tzdata \
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone
COPY ./output/you-linux-amd64 /bin/you
COPY --from=builder /go-youchain/output/you /bin/you

EXPOSE 7283 8283 8284 9283 9284
ENTRYPOINT ["/bin/you"]
60 changes: 21 additions & 39 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,59 +10,41 @@ BIN_BUILD_BRANCH := $(shell git symbolic-ref --short -q HEAD)
GROUP_NAME := youchain
SERVICE_NAME := you

# local build. let target build on the top as the default make target.
.PHONY: build install clean all

build: update_build_info direct_build clear_build_info
# local build. let target build on the top as the default make target.
build:
CGO_ENABLED=1 go build -o $(OUTPUT_DIR)/$(SERVICE_NAME) -ldflags "-s -w -X 'github.com/youchainhq/go-youchain/cmd/you/node.revision=$(GIT_COMMIT)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildTime=$(BIN_BUILD_TIME)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildBranch=$(BIN_BUILD_BRANCH)'" $(SRC_DIR)

install: update_build_info direct_install clear_build_info
install:
CGO_ENABLED=1 go install -ldflags "-s -w -X 'github.com/youchainhq/go-youchain/cmd/you/node.revision=$(GIT_COMMIT)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildTime=$(BIN_BUILD_TIME)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildBranch=$(BIN_BUILD_BRANCH)'" $(SRC_DIR)

clean: clear_build_info
clean:
go clean -cache
rm -rf $(OUTPUT_DIR)

update_build_info:
echo "package node\n\nconst revision = \"$(GIT_COMMIT)\"\n\nconst buildTime = \"$(BIN_BUILD_TIME)\"\n\nconst buildBranch = \"$(BIN_BUILD_BRANCH)\"" > $(SRC_DIR)/node/version.go

clear_build_info:
echo "package node\n\nconst revision = \"\"\n\nconst buildTime = \"\"\n\nconst buildBranch = \"\"" > $(SRC_DIR)/node/version.go

direct_build:
CGO_ENABLED=1 go build -o $(OUTPUT_DIR)/$(SERVICE_NAME) -ldflags "-s -w" $(SRC_DIR)

direct_install:
CGO_ENABLED=1 go install -ldflags "-s -w" $(SRC_DIR)

# Cross Compilation Targets (using xgo2 to support gomod)

direct_build_linux:
xgo2 --targets=linux/amd64 --dest $(OUTPUT_DIR)/ -ldflags "-s -w" --out "you" --pkg=${PKG_DIR} --goproxy=https://mirrors.aliyun.com/goproxy/ ${ROOT_DIR}

direct_build_arm64:
xgo2 --targets=linux/arm64 --dest $(OUTPUT_DIR)/ -ldflags "-s -w" --out "you" --pkg=${PKG_DIR} --goproxy=https://mirrors.aliyun.com/goproxy/ ${ROOT_DIR}

direct_build_win64:
xgo2 --targets=windows/amd64 --dest $(OUTPUT_DIR)/ -ldflags "-s -w" --out "you" --pkg=${PKG_DIR} --goproxy=https://mirrors.aliyun.com/goproxy/ ${ROOT_DIR}

direct_build_win: direct_build_win64

direct_build_darwin:
xgo2 --targets=darwin/amd64 --dest $(OUTPUT_DIR)/ -ldflags "-s -w" --out "you" --pkg=${PKG_DIR} --goproxy=https://mirrors.aliyun.com/goproxy/ ${ROOT_DIR}

direct_all:
xgo2 --targets=*/* --dest $(OUTPUT_DIR)/ -ldflags "-s -w" --out "you" --pkg=${PKG_DIR} --goproxy=https://mirrors.aliyun.com/goproxy/ ${ROOT_DIR}
build_linux:
xgo2 --targets=linux/amd64 --dest $(OUTPUT_DIR)/ -ldflags "-s -w -X 'github.com/youchainhq/go-youchain/cmd/you/node.revision=$(GIT_COMMIT)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildTime=$(BIN_BUILD_TIME)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildBranch=$(BIN_BUILD_BRANCH)'" --out "you" --pkg=${PKG_DIR} --goproxy=https://mirrors.aliyun.com/goproxy/ ${ROOT_DIR}

all: update_build_info direct_all clear_build_info
build_arm64:
xgo2 --targets=linux/arm64 --dest $(OUTPUT_DIR)/ -ldflags "-s -w -X 'github.com/youchainhq/go-youchain/cmd/you/node.revision=$(GIT_COMMIT)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildTime=$(BIN_BUILD_TIME)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildBranch=$(BIN_BUILD_BRANCH)'" --out "you" --pkg=${PKG_DIR} --goproxy=https://mirrors.aliyun.com/goproxy/ ${ROOT_DIR}

build_linux: update_build_info direct_build_linux clear_build_info
build_win64:
xgo2 --targets=windows/amd64 --dest $(OUTPUT_DIR)/ -ldflags "-s -w -X 'github.com/youchainhq/go-youchain/cmd/you/node.revision=$(GIT_COMMIT)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildTime=$(BIN_BUILD_TIME)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildBranch=$(BIN_BUILD_BRANCH)'" --out "you" --pkg=${PKG_DIR} --goproxy=https://mirrors.aliyun.com/goproxy/ ${ROOT_DIR}

build_arm64: update_build_info direct_build_arm64 clear_build_info
build_win32:
xgo2 --targets=windows/386 --dest $(OUTPUT_DIR)/ -ldflags "-s -w -X 'github.com/youchainhq/go-youchain/cmd/you/node.revision=$(GIT_COMMIT)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildTime=$(BIN_BUILD_TIME)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildBranch=$(BIN_BUILD_BRANCH)'" --out "you" --pkg=${PKG_DIR} --goproxy=https://mirrors.aliyun.com/goproxy/ ${ROOT_DIR}

build_win: update_build_info direct_build_win clear_build_info
build_darwin:
xgo2 --targets=darwin/amd64 --dest $(OUTPUT_DIR)/ -ldflags "-s -w -X 'github.com/youchainhq/go-youchain/cmd/you/node.revision=$(GIT_COMMIT)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildTime=$(BIN_BUILD_TIME)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildBranch=$(BIN_BUILD_BRANCH)'" --out "you" --pkg=${PKG_DIR} --goproxy=https://mirrors.aliyun.com/goproxy/ ${ROOT_DIR}

build_darwin: update_build_info direct_build_darwin clear_build_info
all:build
xgo2 --targets=linux/amd64,linux/arm64,windows/amd64,windows/386,darwin/amd64 --dest $(OUTPUT_DIR)/ -ldflags "-s -w -X 'github.com/youchainhq/go-youchain/cmd/you/node.revision=$(GIT_COMMIT)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildTime=$(BIN_BUILD_TIME)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildBranch=$(BIN_BUILD_BRANCH)'" --out "you" --pkg=${PKG_DIR} --goproxy=https://mirrors.aliyun.com/goproxy/ ${ROOT_DIR}

docker: build_linux
docker build -t ${GROUP_NAME}/${SERVICE_NAME}:build .
docker:
docker build -t ${GROUP_NAME}/${SERVICE_NAME}:latest-build .

# develop tools for go-youchain developer or smart contract developer
devtools:
Expand Down
2 changes: 1 addition & 1 deletion build/k8s-network-ci/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FROM registry.cn-hangzhou.aliyuncs.com/maisi/alpinetz08:latest
FROM reg.youchaininc.com/maisi/alpinetz08:latest
COPY you-linux-amd64 genesis.json ucon.json /bin/
RUN chmod +x /bin/you-linux-amd64
12 changes: 3 additions & 9 deletions build/k8s-network-ci/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
SHELL := /bin/bash
GROUP_NAME = maisi
RELEASE_DIR = ${GOPATH}/src/youchain/you-release
REGISTRY_URL = registry.cn-hangzhou.aliyuncs.com
REGISTRY_URL = reg.youchaininc.com
SRC_DIR = ../../cmd/you
PKG_DIR = github.com/youchainhq/go-youchain/cmd/you
ROOT_DIR = ../../
Expand All @@ -17,18 +17,12 @@ all: push
project_testcase:
cd ${ROOT_DIR} && go test -v -short ./...

update_version:
echo -e "package node\n\nconst revision = \"$(BIN_REVISION_STRING)\"\n\nconst buildTime = \"$(BIN_BUILD_TIME)\"\n\nconst buildBranch = \"$(BIN_BUILD_BRANCH)\"" > $(SRC_DIR)/node/version.go

clear_version:
echo -e "package node\n\nconst revision = \"\"\n\nconst buildTime = \"\"\n\nconst buildBranch = \"\"" > $(SRC_DIR)/node/version.go

docker:
go mod tidy
xgo2 --targets=linux/amd64 -ldflags "-s -w" -out you --pkg=${PKG_DIR} ${ROOT_DIR}
xgo2 --targets=linux/amd64 -ldflags "-s -w -X 'github.com/youchainhq/go-youchain/cmd/you/node.revision=$(GIT_COMMIT)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildTime=$(BIN_BUILD_TIME)' -X 'github.com/youchainhq/go-youchain/cmd/you/node.buildBranch=$(BIN_BUILD_BRANCH)'" -out you --pkg=${PKG_DIR} ${ROOT_DIR}
docker build -t ${GROUP_NAME}/${SERVICE_NAME}:$(BIN_REVISION_STRING) .
rm -rf you-linux-amd64

push: project_testcase update_version docker clear_version
push: project_testcase docker
docker tag ${GROUP_NAME}/${SERVICE_NAME}:$(BIN_REVISION_STRING) ${REGISTRY_URL}/${GROUP_NAME}/${SERVICE_NAME}:$(BIN_REVISION_STRING)
docker push ${REGISTRY_URL}/${GROUP_NAME}/${SERVICE_NAME}:$(BIN_REVISION_STRING)
24 changes: 20 additions & 4 deletions build/k8s-network-ci/ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,25 @@ curl -X GET $APISERVER/api/v1/namespaces/default/pods/$podname/log?follow=true -
# check job status
status=$(curl -X GET $APISERVER/apis/batch/v1/namespaces/default/jobs/$job/status -s --header "Authorization: Bearer $APITOKEN" --insecure)

echo -e "job status:\n"$status
stat=$(echo "$status"|jq .status)
echo "$stat"
if [ "$stat" = "\"Failure\"" ]; then
jobstat=failed
else

cnt=1
while [ "$stat" = "\"Failure\"" ]; do
if [ "$cnt" = "10" ]; then
break;
fi
sleep 3s
curl -X GET $APISERVER/api/v1/namespaces/default/pods/$podname/log?follow=true -s --header "Authorization: Bearer $APITOKEN" --insecure
# check job status
status=$(curl -X GET $APISERVER/apis/batch/v1/namespaces/default/jobs/$job/status -s --header "Authorization: Bearer $APITOKEN" --insecure)

echo -e "job status:\n"$status
stat=$(echo "$status"|jq .status)
cnt=`expr $cnt + 1`
done

if [ "$stat" != "\"Failure\"" ]; then
active=$(echo "$status"|jq .status.active)
while [ "$active" = "1" ]; do
sleep 1s
Expand All @@ -55,6 +69,8 @@ else
else
jobstat=successed
fi
else
jobstat=failed
fi

podIp=$(curl -X GET $APISERVER/api/v1/namespaces/default/pods?labelSelector={app=youchain-$app_name_version} -s --header "Authorization: Bearer $APITOKEN" --insecure | jq -r .items[0].status.podIP)
Expand Down
8 changes: 4 additions & 4 deletions build/k8s-network-ci/combo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ spec:
spec:
serviceAccount: nfs-client-provisioner
imagePullSecrets:
- name: aliyun-secret
- name: harborsecret
containers:
- image: registry.cn-hangzhou.aliyuncs.com/maisi/{ci_identify_app_image_version}
- image: reg.youchaininc.com/maisi/{ci_identify_app_image_version}
name: youchain-{ci_identify_app_name_version}
ports:
- name: http-rpc
Expand Down Expand Up @@ -125,10 +125,10 @@ spec:
app: {ci_identify_job_name}
spec:
imagePullSecrets:
- name: aliyun-secret
- name: harborsecret
containers:
- name: {ci_identify_job_name}
image: registry.cn-hangzhou.aliyuncs.com/maisi/yctest:0.7.6
image: reg.youchaininc.com/maisi/yctest:0.7.7
command: ["/bin/yctest-linux-amd64"]
imagePullPolicy: Always
args:
Expand Down
10 changes: 5 additions & 5 deletions cmd/you/node/version.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package node

const revision = ""

const buildTime = ""

const buildBranch = ""
var (
revision string
buildTime string
buildBranch string
)
17 changes: 15 additions & 2 deletions consensus/ucon/block_consensus_data_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ import (
"fmt"
"testing"

"github.com/stretchr/testify/assert"
"github.com/youchainhq/go-youchain/common"
"github.com/youchainhq/go-youchain/common/hexutil"
"github.com/youchainhq/go-youchain/core/types"
"github.com/youchainhq/go-youchain/crypto"
"github.com/youchainhq/go-youchain/rlp"

"github.com/stretchr/testify/assert"
)

func TestConsensusDataInBlock(t *testing.T) {
Expand Down Expand Up @@ -64,6 +64,19 @@ func TestConsensusDataInBlock(t *testing.T) {
assert.Equal(t, dataRev.Round, common.Big1())
}

func TestExtractConsensusData(t *testing.T) {
t.SkipNow() //run on need
conBytes := hexutil.MustDecode("0xf84e8001a05d93025288dddb431e3f43e07c63d1a96a28bf033457c74ee3f4d8eed88d3cf601a0010000000000000000000000000000000000000000000000000000000000000001801a8207d0820fa0")
data := &BlockConsensusData{}
err := rlp.DecodeBytes(conBytes, data)
if err != nil {
t.Errorf("GetConsensusDataFromHeader failed. err: %v", err)
}
t.Log("ConsensusData", "Round", data.Round, "RI", data.RoundIndex, "Seed", data.Seed.String(),
"SubUsers", data.SubUsers, "ProposerThreshold", data.ProposerThreshold, "ValidatorThreshold", data.ValidatorThreshold,
"CertThreshold", data.CertValThreshold, "Priority", data.Priority.String())
}

func TestBlockConsensusData_GetPublicKey(t *testing.T) {
sk, _ := crypto.GenerateKey()
data := &BlockConsensusData{
Expand Down
4 changes: 2 additions & 2 deletions core/genesis.go
Original file line number Diff line number Diff line change
Expand Up @@ -357,8 +357,8 @@ func DefaultGenesisBlock() *Genesis {
func DefaultTestNetGenesisBlock() *Genesis {
return &Genesis{
NetworkId: params.TestNetId,
Consensus: hexutil.MustDecode("0xf8f28001a0388582ae9408aea9a2789980a52c9a7f3953ac287777f7503ac189afe434dae8b881c24b3ea8d229d64c57c4237f8b6e161f197d2355ec68f10dc97f2ef97a36fe8df33fc7b074186b6bb6919efbb7ea7f97432dd6b41cb178c2791f0f2d03409aba04947dfa8c20629f8b14df0413164add799068024fca3172c2a8e83f41cf2b3fb6a89bc4b63d3147fa9d74db3d98d180b25fc38776c27740e2493f3d0f485b0b87a0010000000000000000000000000000000000000000000000000000000000000001a00100000000000000000000000000000000000000000000000000000000000000018502540be400801a"),
GasLimit: 5000000,
Consensus: hexutil.MustDecode("0xf84e8001a05d93025288dddb431e3f43e07c63d1a96a28bf033457c74ee3f4d8eed88d3cf601a0010000000000000000000000000000000000000000000000000000000000000001801a8207d0820fa0"),
GasLimit: 0x888888,
Alloc: decodePrealloc(testnetAllocData),
Validators: decodeValidators(testnetValidatorsData),
CurrVersion: params.YouV1,
Expand Down
2 changes: 1 addition & 1 deletion core/genesis_alloc.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ package core
const mainnetAllocData = "\xf9\a)\u0545\x11\x11\x11\x11\x11\x8c\x01\xcf8\x9c\xd4`G\xd00\x00\x00\x00\xc0\x80\xe4\x94(\x00C\xc5n\\\x9d\x8f/\xcc\x18\xd1\xcaAM\xbe\xd19\xddr\x8c\x01\xf7]\xf0Kc\x9b\xdf\fP\x00\x00\xc0\x80\u0614K\u007f)M\x99\xf9\xe6{\x16\x86\xe0\xaaA\xc0\xedJ\x90hS \x80\xc0\x80\xe4\x94`\x14\x12\n\xfd\xfeY\xd2?\xb4\xac\xdb\xe3=/h\x93\x18,\x17\x8c\x01:T!F\xf80\xba\xfc\x00\x00\x00\xc0\x80\u0614u\xf4\xb0\xb9t^Sb\xa7\"$\x03\xd5{\xa0\x8dj\n\x06\xb8\x80\xc0\x80\xf9\x06o\x94\x93AH\xb2\xe2Dk.V\xc2\xcbd R\x06\xa7}\xc1\x9a\xf0\x8c\x01\x8d|\xe5\f\x00\x1dq\x96t\x00\x00\xf9\x01\x98\xf8B\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00#\xf8B\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00u\xf4\xb0\xb9t^Sb\xa7\"$\x03\xd5{\xa0\x8dj\n\x06\xb8\xf8B\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\xe0\x96\xa1\xcf\xf9\x89~t\x00\x00\xf8B\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/\xf8B\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00K\u007f)M\x99\xf9\xe6{\x16\x86\xe0\xaaA\xc0\xedJ\x90hS \xf8B\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\x9cNj0#\xe8\x18\x00\x00\x00\xb9\x04\xaf`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x00\x88W`\x005`\xe0\x1c\x80c\u007f\xf36o\x11a\x00[W\x80c\u007f\xf36o\x14a\x00\xf4W\x80c\x8a!2\xb4\x14a\x01\x18W\x80c\x93\xb8\x04\x81\x14a\x01 W\x80c\xe4\u0751\xd7\x14a\x01(Wa\x00\x88V[\x80c\x10B,$\x14a\x00\x8dW\x80c0\xbf\xd09\x14a\x00\x97W\x80c:\xec\x9d\xd4\x14a\x00\xd2W\x80ch\xbat\\\x14a\x00\xecW[`\x00\x80\xfd[a\x00\x95a\x010V[\x00[a\x00\x9fa\x01\x9bV[`@\x80Q`\x01`\x01`\xa0\x1b\x03\x90\x95\x16\x85R` \x85\x01\x93\x90\x93R\x83\x83\x01\x91\x90\x91R`\xff\x16``\x83\x01RQ\x90\x81\x90\x03`\x80\x01\x90\xf3[a\x00\xdaa\x01\xb9V[`@\x80Q\x91\x82RQ\x90\x81\x90\x03` \x01\x90\xf3[a\x00\x95a\x01\xc0V[a\x00\xfca\x02(V[`@\x80Q`\x01`\x01`\xa0\x1b\x03\x90\x92\x16\x82RQ\x90\x81\x90\x03` \x01\x90\xf3[a\x00\xdaa\x02@V[a\x00\xfca\x02HV[a\x00\x9fa\x02`V[3su\xf4\xb0\xb9t^Sb\xa7\"$\x03\xd5{\xa0\x8dj\n\x06\xb8\x14a\x01\x8fW`@\x80QbF\x1b\xcd`\xe5\x1b\x81R` `\x04\x82\x01R`\x14`$\x82\x01Rsrequire AngelAddress``\x1b`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xfd[a\x01\x99`\x00a\x02~V[V[`\x04T`\x05T`\x06T`\aT`\x01`\x01`\xa0\x1b\x03\x90\x93\x16\x92`\xff\x16\x84V[b'\x8d\x00\x81V[3sK\u007f)M\x99\xf9\xe6{\x16\x86\xe0\xaaA\xc0\xedJ\x90hS \x14a\x02\x1eW`@\x80QbF\x1b\xcd`\xe5\x1b\x81R` `\x04\x82\x01R`\x13`$\x82\x01Rrrequire TeamAddress`h\x1b`D\x82\x01R\x90Q\x90\x81\x90\x03`d\x01\x90\xfd[a\x01\x99`\x04a\x02~V[sK\u007f)M\x99\xf9\xe6{\x16\x86\xe0\xaaA\xc0\xedJ\x90hS \x81V[c^\xc1\xc1\x00\x81V[su\xf4\xb0\xb9t^Sb\xa7\"$\x03\xd5{\xa0\x8dj\n\x06\xb8\x81V[`\x00T`\x01T`\x02T`\x03T`\x01`\x01`\xa0\x1b\x03\x90\x93\x16\x92`\xff\x16\x84V[`@\x80Q`\x80\x81\x01\x82R\x82T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x83\x01T` \x82\x01R`\x02\x83\x01T\x91\x81\x01\x91\x90\x91R`\x03\x82\x01T`\xff\x16``\x82\x01R`\x00\x90a\x02\u0190B\x90a\x03nV[\x90P`\x00\x81\x11a\x02\xd5W`\x00\x80\xfd[`\x02\x82\x01Ta\x02\ua402c\xff\xff\xff\xffa\x04\x19\x16V[`\x02\x83\x01U\x81T`@Q`\x01`\x01`\xa0\x1b\x03\x90\x91\x16\x90\x82\x15a\b\xfc\x02\x90\x83\x90`\x00\x81\x81\x81\x85\x88\x88\xf1\x93PPPP\x15\x80\x15a\x03(W=`\x00\x80>=`\x00\xfd[P\x81T`@\x80Q\x83\x81R\x90Q`\x01`\x01`\xa0\x1b\x03\x90\x92\x16\x91\u007f]\xed\xa1\xfd;=\x0e`8\x8c7\xfb\u03e1\xbfI2\xcaR\u3f7f\u009b\u0621\n\xf3\xb8g\f\xfe\x91\x81\x90\x03` \x01\x90\xa2PPV[`\x00\x81`@\x01Q\x82` \x01Q\x14\x15a\x03\x88WP`\x00a\x04\x13V[`\x00a\x03\xa8\x83``\x01Q`\xff\x16\x84` \x01Qa\x04/\x90\x91\x90c\xff\xff\xff\xff\x16V[\x90P`\x00a\x03\xe3a\x03\xd6b'\x8d\x00a\x03\u0288c^\xc1\xc1\x00c\xff\xff\xff\xffa\x04D\x16V[\x90c\xff\xff\xff\xffa\x04/\x16V[\x83\x90c\xff\xff\xff\xffa\x04V\x16V[\x90P\x83` \x01Q\x81\x11\x15a\x03\xf8WP` \x83\x01Q[`@\x84\x01Qa\x04\x0e\x90\x82\x90c\xff\xff\xff\xffa\x04D\x16V[\x92PPP[\x92\x91PPV[`\x00\x82\x82\x01\x83\x81\x10\x15a\x04(W\xfe[\x93\x92PPPV[`\x00\x80\x82\x84\x81a\x04;W\xfe[\x04\x94\x93PPPPV[`\x00\x82\x82\x11\x15a\x04PW\xfe[P\x90\x03\x90V[`\x00\x82a\x04eWP`\x00a\x04\x13V[\x82\x82\x02\x82\x84\x82\x81a\x04rW\xfe[\x04\x14a\x04(W\xfe\xfe\xa2ebzzr1X \x9b\xd0{\x87\xf3\xbf\xc3Y\xf9\x9f\x9d\x18:<\x90\xd7L \xd1,\xde\xdaI\u007f\x01\x83\u031fW\x9b\xc1\xd8dsolcC\x00\x05\x10\x002\xe4\x94\uef84\x8f\x9c\xf8\x9b*\fh\xed\xedi\x87\xe0\x1eO\xa3\ufe8c\x03\xae\x9d\xce\xf0\u0726\x03\xbc\xbc\x00\x00\xc0\x80"

//nolint
const testnetAllocData = "\xf8;\u0545\x11\x11\x11\x11\x11\x8c\n\x04B\x88\xbc9\x8d\x89\x9c\x00\x00\x00\xc0\x80\xe4\x94Yg\u007f\u058e\xc5NC\xadC\x19\xd9\x15\xf8\x17H\xb5\xa6\xff\x8b\x8c\n\x04B\x88\xbc9\x8d\x89\x9c\x00\x00\x00\xc0\x80"
const testnetAllocData = "\xf8`\u0545\x11\x11\x11\x11\x11\x8c\x01\xcf8\x9c\xd4`G\xd00\x00\x00\x00\xc0\x80\u453b\xc9\\g(\x8b\xc7a>\xf9\xde\xd8y\xbd\xfe\xbawo;\x9d\x8c\x03;.<\x9f\u0400<\xe8\x00\x00\x00\xc0\x80\xe4\x94\xf0\x93;10P\xb5\n\xae\x05\xfe\x18\xef\xfaQ\xae\x85\x15&\"\x8c\x05L\x93\x82$\xd0\xd2Oh\x00\x00\x00\xc0\x80"
13 changes: 13 additions & 0 deletions core/genesis_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -304,3 +304,16 @@ func TestDefaultGenesisBlock(t *testing.T) {
t.Fatal("DefaultGenesisBlock hash mismatch")
}
}

func TestDefaultTestNetGenesisBlock(t *testing.T) {
g := DefaultTestNetGenesisBlock()
require.NotNil(t, g)
require.Greater(t, len(g.Validators), 0)
db := youdb.NewMemDatabase()
b := g.ToBlock(db)
t.Log(b.Hash().String())
gh := common.HexToHash("0xb4758b551d52079d151e7e668db2c7e7230a00dcca8b512d0d0438f6ace25827")
if b.Hash() != gh {
t.Fatal("DefaultGenesisBlock hash mismatch")
}
}
Loading

0 comments on commit c559e99

Please sign in to comment.