aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Dockerfile4
-rw-r--r--core/chain_manager.go8
-rw-r--r--eth/block_pool.go2
-rw-r--r--eth/protocol.go2
4 files changed, 11 insertions, 5 deletions
diff --git a/Dockerfile b/Dockerfile
index 82ce9f7fc..726e6b71f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -13,8 +13,8 @@ RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y git mercurial build-essential software-properties-common pkg-config libgmp3-dev libreadline6-dev libpcre3-dev libpcre++-dev
## Build and install Go
-RUN hg clone -u release https://code.google.com/p/go
-RUN cd go && hg update go1.4
+RUN git clone https://go.googlesource.com/go
+RUN cd go && git checkout go1.4.1
RUN cd go/src && ./all.bash && go version
## Install GUI dependencies
diff --git a/core/chain_manager.go b/core/chain_manager.go
index c68b7cfc2..9646bfc53 100644
--- a/core/chain_manager.go
+++ b/core/chain_manager.go
@@ -251,7 +251,13 @@ func (self *ChainManager) GetBlockHashesFromHash(hash []byte, max uint64) (chain
// XXX Could be optimised by using a different database which only holds hashes (i.e., linked list)
for i := uint64(0); i < max; i++ {
- block = self.GetBlock(block.Header().ParentHash)
+ parentHash := block.Header().ParentHash
+ block = self.GetBlock(parentHash)
+ if block == nil {
+ chainlogger.Infof("GetBlockHashesFromHash Parent UNKNOWN %x\n", parentHash)
+ break
+ }
+
chain = append(chain, block.Hash())
if block.Header().Number.Cmp(ethutil.Big0) <= 0 {
break
diff --git a/eth/block_pool.go b/eth/block_pool.go
index b624d064a..97ae683c1 100644
--- a/eth/block_pool.go
+++ b/eth/block_pool.go
@@ -1098,7 +1098,7 @@ func (self *BlockPool) requestBlocks(attempts int, hashes [][]byte) {
poolLogger.Debugf("request %v missing blocks from %v/%v peers: chosen %v", len(hashes), repetitions, peerCount, indexes)
for _, peer := range self.peers {
if i == indexes[0] {
- poolLogger.Debugf("request %v missing blocks from peer %s", len(hashes), peer.id)
+ poolLogger.Debugf("request %v missing blocks [%x/%x] from peer %s", len(hashes), hashes[0][:4], hashes[len(hashes)-1][:4], peer.id)
peer.requestBlocks(hashes)
indexes = indexes[1:]
if len(indexes) == 0 {
diff --git a/eth/protocol.go b/eth/protocol.go
index 24a0f0a8e..68c52b7ce 100644
--- a/eth/protocol.go
+++ b/eth/protocol.go
@@ -13,7 +13,7 @@ import (
)
const (
- ProtocolVersion = 51
+ ProtocolVersion = 52
NetworkId = 0
ProtocolLength = uint64(8)
ProtocolMaxMsgSize = 10 * 1024 * 1024