mirror of https://github.com/poanetwork/quorum.git
Merge branch 'master' into master
This commit is contained in:
commit
65c89d5409
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"package": {
|
||||
"name": "geth",
|
||||
"repo": "quorum",
|
||||
"subject": "_ORGANIZATION_",
|
||||
"vcs_url": "https://github.com/jpmorganchase/quorum",
|
||||
"licenses": [
|
||||
"LGPL-3.0"
|
||||
]
|
||||
},
|
||||
"version": {
|
||||
"name": "_TRAVIS_TAG_",
|
||||
"desc": "Quorum: _TRAVIS_TAG_, Geth: _GETH_VERSION_, Commit: _TRAVIS_COMMIT_, Build Number: _TRAVIS_BUILD_NUMBER_",
|
||||
"released": "_RELEASED_DATE_",
|
||||
"vcs_tag": "_TRAVIS_TAG_",
|
||||
"gpgSign": true,
|
||||
"attributes": [
|
||||
{
|
||||
"name": "Travis",
|
||||
"values": [
|
||||
"_TRAVIS_JOB_WEB_URL_"
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"files": [
|
||||
{
|
||||
"includePattern": "/dist/(.*.tar.gz)",
|
||||
"uploadPattern": "_TRAVIS_TAG_/$1",
|
||||
"matrixParams": {
|
||||
"override": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"publish": true
|
||||
}
|
85
.travis.yml
85
.travis.yml
|
@ -2,27 +2,94 @@
|
|||
|
||||
language: go
|
||||
go_import_path: github.com/ethereum/go-ethereum
|
||||
sudo: false
|
||||
go: 1.11.x
|
||||
sudo: true
|
||||
branches:
|
||||
only:
|
||||
- /.*/ # everything including tags
|
||||
env:
|
||||
global:
|
||||
- BINTRAY_ORGANIZATION=quorumengineering
|
||||
- BINTRAY_USER=quorumbot
|
||||
# Bintray API Key
|
||||
- secure: "QHiPcd3zQoJEsT3VSpxoLVTYwbiYzS8H18EpY7Tk0EqCIfswS2AvRlyRXUxNvCf9ktzpaeXV4b5cPYJ67dwdp5V/O/ARaK5AL6ZjjrTPR1avPnmz/X2VeQEP0aWk1UGMs1nBUj5rzMbIIxlVhpbiITTLAI4Ao0+xRcBi215mDbv271Z7mACEZfXxjaoJA0/3IkbKz9pu1nC7bTjaaExCDAeLp2p8fHi2YQPnBll/7dkn/m1rnsIY9M3KWNCx6xBmQOr1hulrrB6tZoHwFBoDsVTFJFLckPfrWUZsYUgtfWJMQWc6ntv1gFl0f9x6s5fYEphCU2m1JYjEczlQ03B5ro9EyPGKjO7vQxAaFd5nVd2Xf34ZbssEIyXxlSnP/4Gv1GXl9L9aU1Hth9ckYvT5gYP5t/Nw3CDbKD0HelPBvkf8jZwfdlotzFPS2bOZNdl/rJLWgQrX18a/mC3BH9l4TSRz13tbRfo6YcC3Y/uOvG1n4GxzcVaWojAxn86SkknOczPTf2pk9F3JOcGVSYA2R4kGQAe+ErJH2X5g2sh1D5cCYDjQyl5rzWg6P3eK//HYW+mg2+TQ8k2iQVVSwFwrR0Yn4P+5cRDCW9mjtktgq1rTtslj41gSH49Avqr9oXGM2rqdcJPdN8dnmLMrAtmeSUNMMoexiRMmlF2OQKLrW3k="
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
dist: trusty
|
||||
sudo: required
|
||||
go: 1.11.x
|
||||
- if: tag IS blank
|
||||
os: linux
|
||||
dist: xenial
|
||||
script:
|
||||
- sudo modprobe fuse
|
||||
- sudo chmod 666 /dev/fuse
|
||||
- sudo chown root:$USER /etc/fuse.conf
|
||||
- go run build/ci.go install
|
||||
- go run build/ci.go test -coverage $TEST_PACKAGES
|
||||
|
||||
- os: osx
|
||||
- if: tag IS blank
|
||||
os: osx
|
||||
osx_image: xcode9.2 # so we don't have to deal with Kernel Extension Consent UI which is never possible in CI
|
||||
go: 1.11.x
|
||||
sudo: required
|
||||
script:
|
||||
- brew update
|
||||
- brew install caskroom/cask/brew-cask
|
||||
- brew cask install osxfuse
|
||||
- go run build/ci.go install
|
||||
- go run build/ci.go test -coverage $TEST_PACKAGES
|
||||
|
||||
- if: tag IS present
|
||||
os: linux
|
||||
dist: xenial
|
||||
env: OUTPUT_FILE=geth_${TRAVIS_TAG}_linux_amd64.tar.gz
|
||||
script:
|
||||
- build/env.sh go run build/ci.go install ./cmd/geth
|
||||
- sudo mkdir -p /dist
|
||||
- cd build/bin
|
||||
- sudo tar cfvz /dist/${OUTPUT_FILE} geth
|
||||
- if: tag IS present
|
||||
os: osx
|
||||
osx_image: xcode9.2
|
||||
env: OUTPUT_FILE=geth_${TRAVIS_TAG}_darwin_amd64.tar.gz
|
||||
script:
|
||||
- build/env.sh go run build/ci.go install ./cmd/geth
|
||||
- sudo mkdir -p /dist
|
||||
- cd build/bin
|
||||
- sudo tar cfvz /dist/${OUTPUT_FILE} geth
|
||||
|
||||
before_deploy:
|
||||
- |
|
||||
echo "Prepare Bintray descriptor"
|
||||
export GETH_VERSION=$(cat ${TRAVIS_BUILD_DIR}/VERSION)
|
||||
export RELEASED_DATE=$(date +'%Y-%m-%d')
|
||||
sed -e "s/_TRAVIS_TAG_/${TRAVIS_TAG}/g" \
|
||||
-e "s/_TRAVIS_BUILD_NUMBER_/${TRAVIS_BUILD_NUMBER}/g" \
|
||||
-e "s/_GETH_VERSION_/${GETH_VERSION}/g" \
|
||||
-e "s/_RELEASED_DATE_/${RELEASED_DATE}/g" \
|
||||
-e "s/_TRAVIS_COMMIT_/${TRAVIS_COMMIT}/g" \
|
||||
-e "s/_TRAVIS_JOB_WEB_URL_/${TRAVIS_JOB_WEB_URL//\//\\/}/g" \
|
||||
-e "s/_ORGANIZATION_/${BINTRAY_ORGANIZATION}/g" \
|
||||
${TRAVIS_BUILD_DIR}/.bintray.json > /tmp/bintray.json
|
||||
after_deploy:
|
||||
- |
|
||||
published=""
|
||||
while [ "$published" == "" ]; do
|
||||
echo "Sleep 5s to wait until ${OUTPUT_FILE} is published"
|
||||
sleep 5
|
||||
result=$(curl -u ${BINTRAY_USER}:${BINTRAY_API_KEY} "https://api.bintray.com/packages/${BINTRAY_ORGANIZATION}/quorum/geth/versions/${TRAVIS_TAG}/files")
|
||||
echo "$result"
|
||||
if [[ "$result" == *"${OUTPUT_FILE}"* ]]; then
|
||||
published="done"
|
||||
fi
|
||||
done
|
||||
- |
|
||||
echo "Add ${OUTPUT_FILE} to Download List"
|
||||
curl -u ${BINTRAY_USER}:${BINTRAY_API_KEY} \
|
||||
-H "Content-type: application/json" \
|
||||
-X PUT \
|
||||
--data "{\"list_in_downloads\": true}" \
|
||||
https://api.bintray.com/file_metadata/${BINTRAY_ORGANIZATION}/quorum/${TRAVIS_TAG}/${OUTPUT_FILE}
|
||||
deploy:
|
||||
provider: bintray
|
||||
file: /tmp/bintray.json
|
||||
user: ${BINTRAY_USER}
|
||||
key: ${BINTRAY_API_KEY}
|
||||
skip_cleanup: true
|
||||
on:
|
||||
tags: true
|
|
@ -1,7 +1,8 @@
|
|||
# <img src="logo.png" width="100" height="100"/>
|
||||
# <img src="https://raw.githubusercontent.com/jpmorganchase/quorum/master/logo.png" width="100" height="100"/>
|
||||
|
||||
<a href="https://clh7rniov2.execute-api.us-east-1.amazonaws.com/Express/" target="_blank" rel="noopener"><img title="Quorum Slack" src="https://clh7rniov2.execute-api.us-east-1.amazonaws.com/Express/badge.svg" alt="Quorum Slack" /></a>
|
||||
[![Build Status](https://travis-ci.org/jpmorganchase/quorum.svg?branch=master)](https://travis-ci.org/jpmorganchase/quorum)
|
||||
[![Download](https://api.bintray.com/packages/quorumengineering/quorum/geth/images/download.svg)](https://bintray.com/quorumengineering/quorum/geth/_latestVersion)
|
||||
|
||||
Quorum is an Ethereum-based distributed ledger protocol with transaction/contract privacy and new consensus mechanisms.
|
||||
|
||||
|
|
|
@ -86,6 +86,7 @@ func TestConsoleWelcome(t *testing.T) {
|
|||
geth.SetTemplateFunc("goarch", func() string { return runtime.GOARCH })
|
||||
geth.SetTemplateFunc("gover", runtime.Version)
|
||||
geth.SetTemplateFunc("gethver", func() string { return params.Version })
|
||||
geth.SetTemplateFunc("quorumver", func() string { return params.QuorumVersion })
|
||||
geth.SetTemplateFunc("niltime", func() string { return time.Unix(0, 0).Format(time.RFC1123) })
|
||||
geth.SetTemplateFunc("apis", func() string { return ipcAPIs })
|
||||
|
||||
|
@ -93,7 +94,7 @@ func TestConsoleWelcome(t *testing.T) {
|
|||
geth.Expect(`
|
||||
Welcome to the Geth JavaScript console!
|
||||
|
||||
instance: Geth/v{{gethver}}/{{goos}}-{{goarch}}/{{gover}}
|
||||
instance: Geth/v{{gethver}}(quorum-v{{quorumver}})/{{goos}}-{{goarch}}/{{gover}}
|
||||
coinbase: {{.Etherbase}}
|
||||
at block: 0 ({{niltime}})
|
||||
datadir: {{.Datadir}}
|
||||
|
@ -179,6 +180,7 @@ func testAttachWelcome(t *testing.T, geth *testgeth, endpoint, apis string) {
|
|||
attach.SetTemplateFunc("goarch", func() string { return runtime.GOARCH })
|
||||
attach.SetTemplateFunc("gover", runtime.Version)
|
||||
attach.SetTemplateFunc("gethver", func() string { return params.Version })
|
||||
attach.SetTemplateFunc("quorumver", func() string { return params.QuorumVersion })
|
||||
attach.SetTemplateFunc("etherbase", func() string { return geth.Etherbase })
|
||||
attach.SetTemplateFunc("niltime", func() string { return time.Unix(0, 0).Format(time.RFC1123) })
|
||||
attach.SetTemplateFunc("ipc", func() bool { return strings.HasPrefix(endpoint, "ipc") })
|
||||
|
@ -189,7 +191,7 @@ func testAttachWelcome(t *testing.T, geth *testgeth, endpoint, apis string) {
|
|||
attach.Expect(`
|
||||
Welcome to the Geth JavaScript console!
|
||||
|
||||
instance: Geth/v{{gethver}}/{{goos}}-{{goarch}}/{{gover}}
|
||||
instance: Geth/v{{gethver}}(quorum-v{{quorumver}})/{{goos}}-{{goarch}}/{{gover}}
|
||||
coinbase: {{etherbase}}
|
||||
at block: 0 ({{niltime}}){{if ipc}}
|
||||
datadir: {{datadir}}{{end}}
|
||||
|
|
|
@ -257,7 +257,7 @@ func (st *StateTransition) TransitionDb() (ret []byte, usedGas uint64, failed bo
|
|||
ret, st.gas, vmerr = evm.Call(sender, to, data, st.gas, st.value)
|
||||
}
|
||||
if vmerr != nil {
|
||||
log.Debug("VM returned with error", "err", vmerr)
|
||||
log.Info("VM returned with error", "err", vmerr)
|
||||
// The only possible consensus-error would be if there wasn't
|
||||
// sufficient balance to make the transfer happen. The first
|
||||
// balance transfer may never fail.
|
||||
|
|
|
@ -397,11 +397,7 @@ func (d *Downloader) synchronise(id string, hash common.Hash, td *big.Int, mode
|
|||
return errUnknownPeer
|
||||
}
|
||||
if d.mode == BoundedFullSync {
|
||||
err := d.syncWithPeerUntil(p, hash, td)
|
||||
if err == nil {
|
||||
d.processFullSyncContent()
|
||||
}
|
||||
return err
|
||||
return d.syncWithPeerUntil(p, hash, td)
|
||||
}
|
||||
return d.syncWithPeer(p, hash, td)
|
||||
}
|
||||
|
@ -1697,6 +1693,7 @@ func (d *Downloader) syncWithPeerUntil(p *peerConnection, hash common.Hash, td *
|
|||
func() error { return d.fetchBodies(localHeight + 1) },
|
||||
func() error { return d.fetchReceipts(localHeight + 1) }, // Receipts are only retrieved during fast sync
|
||||
func() error { return d.processHeaders(localHeight+1, pivot, td) },
|
||||
d.processFullSyncContent, //This must be added to clear the buffer of downloaded content as it's being filled
|
||||
}
|
||||
return d.spawnSync(fetchers)
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@ const (
|
|||
|
||||
QuorumVersionMajor = 2
|
||||
QuorumVersionMinor = 2
|
||||
QuorumVersionPatch = 0
|
||||
QuorumVersionPatch = 1
|
||||
)
|
||||
|
||||
// Version holds the textual version string.
|
||||
|
@ -50,5 +50,8 @@ func VersionWithCommit(gitCommit string) string {
|
|||
if len(gitCommit) >= 8 {
|
||||
vsn += "-" + gitCommit[:8]
|
||||
}
|
||||
|
||||
vsn += "(quorum-v" + QuorumVersion + ")"
|
||||
|
||||
return vsn
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue