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
|
language: go
|
||||||
go_import_path: github.com/ethereum/go-ethereum
|
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:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: linux
|
- if: tag IS blank
|
||||||
dist: trusty
|
os: linux
|
||||||
sudo: required
|
dist: xenial
|
||||||
go: 1.11.x
|
|
||||||
script:
|
script:
|
||||||
- sudo modprobe fuse
|
- sudo modprobe fuse
|
||||||
- sudo chmod 666 /dev/fuse
|
- sudo chmod 666 /dev/fuse
|
||||||
- sudo chown root:$USER /etc/fuse.conf
|
- sudo chown root:$USER /etc/fuse.conf
|
||||||
- go run build/ci.go install
|
- go run build/ci.go install
|
||||||
- go run build/ci.go test -coverage $TEST_PACKAGES
|
- go run build/ci.go test -coverage $TEST_PACKAGES
|
||||||
|
- if: tag IS blank
|
||||||
- os: osx
|
os: osx
|
||||||
osx_image: xcode9.2 # so we don't have to deal with Kernel Extension Consent UI which is never possible in CI
|
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:
|
script:
|
||||||
- brew update
|
- brew update
|
||||||
- brew install caskroom/cask/brew-cask
|
- brew install caskroom/cask/brew-cask
|
||||||
- brew cask install osxfuse
|
- brew cask install osxfuse
|
||||||
- go run build/ci.go install
|
- go run build/ci.go install
|
||||||
- go run build/ci.go test -coverage $TEST_PACKAGES
|
- 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>
|
<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)
|
[![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.
|
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("goarch", func() string { return runtime.GOARCH })
|
||||||
geth.SetTemplateFunc("gover", runtime.Version)
|
geth.SetTemplateFunc("gover", runtime.Version)
|
||||||
geth.SetTemplateFunc("gethver", func() string { return params.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("niltime", func() string { return time.Unix(0, 0).Format(time.RFC1123) })
|
||||||
geth.SetTemplateFunc("apis", func() string { return ipcAPIs })
|
geth.SetTemplateFunc("apis", func() string { return ipcAPIs })
|
||||||
|
|
||||||
|
@ -93,7 +94,7 @@ func TestConsoleWelcome(t *testing.T) {
|
||||||
geth.Expect(`
|
geth.Expect(`
|
||||||
Welcome to the Geth JavaScript console!
|
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}}
|
coinbase: {{.Etherbase}}
|
||||||
at block: 0 ({{niltime}})
|
at block: 0 ({{niltime}})
|
||||||
datadir: {{.Datadir}}
|
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("goarch", func() string { return runtime.GOARCH })
|
||||||
attach.SetTemplateFunc("gover", runtime.Version)
|
attach.SetTemplateFunc("gover", runtime.Version)
|
||||||
attach.SetTemplateFunc("gethver", func() string { return params.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("etherbase", func() string { return geth.Etherbase })
|
||||||
attach.SetTemplateFunc("niltime", func() string { return time.Unix(0, 0).Format(time.RFC1123) })
|
attach.SetTemplateFunc("niltime", func() string { return time.Unix(0, 0).Format(time.RFC1123) })
|
||||||
attach.SetTemplateFunc("ipc", func() bool { return strings.HasPrefix(endpoint, "ipc") })
|
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(`
|
attach.Expect(`
|
||||||
Welcome to the Geth JavaScript console!
|
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}}
|
coinbase: {{etherbase}}
|
||||||
at block: 0 ({{niltime}}){{if ipc}}
|
at block: 0 ({{niltime}}){{if ipc}}
|
||||||
datadir: {{datadir}}{{end}}
|
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)
|
ret, st.gas, vmerr = evm.Call(sender, to, data, st.gas, st.value)
|
||||||
}
|
}
|
||||||
if vmerr != nil {
|
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
|
// The only possible consensus-error would be if there wasn't
|
||||||
// sufficient balance to make the transfer happen. The first
|
// sufficient balance to make the transfer happen. The first
|
||||||
// balance transfer may never fail.
|
// balance transfer may never fail.
|
||||||
|
|
|
@ -397,11 +397,7 @@ func (d *Downloader) synchronise(id string, hash common.Hash, td *big.Int, mode
|
||||||
return errUnknownPeer
|
return errUnknownPeer
|
||||||
}
|
}
|
||||||
if d.mode == BoundedFullSync {
|
if d.mode == BoundedFullSync {
|
||||||
err := d.syncWithPeerUntil(p, hash, td)
|
return d.syncWithPeerUntil(p, hash, td)
|
||||||
if err == nil {
|
|
||||||
d.processFullSyncContent()
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
return d.syncWithPeer(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.fetchBodies(localHeight + 1) },
|
||||||
func() error { return d.fetchReceipts(localHeight + 1) }, // Receipts are only retrieved during fast sync
|
func() error { return d.fetchReceipts(localHeight + 1) }, // Receipts are only retrieved during fast sync
|
||||||
func() error { return d.processHeaders(localHeight+1, pivot, td) },
|
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)
|
return d.spawnSync(fetchers)
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ const (
|
||||||
|
|
||||||
QuorumVersionMajor = 2
|
QuorumVersionMajor = 2
|
||||||
QuorumVersionMinor = 2
|
QuorumVersionMinor = 2
|
||||||
QuorumVersionPatch = 0
|
QuorumVersionPatch = 1
|
||||||
)
|
)
|
||||||
|
|
||||||
// Version holds the textual version string.
|
// Version holds the textual version string.
|
||||||
|
@ -50,5 +50,8 @@ func VersionWithCommit(gitCommit string) string {
|
||||||
if len(gitCommit) >= 8 {
|
if len(gitCommit) >= 8 {
|
||||||
vsn += "-" + gitCommit[:8]
|
vsn += "-" + gitCommit[:8]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vsn += "(quorum-v" + QuorumVersion + ")"
|
||||||
|
|
||||||
return vsn
|
return vsn
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue