diff --git a/ethchain/block.go b/ethchain/block.go
index c6c2c1226cd796d06394465e0cbe8f14886d47c0..bdb243286290c54576774e8a03be07a402e5e7af 100644
--- a/ethchain/block.go
+++ b/ethchain/block.go
@@ -99,6 +99,9 @@ func CreateBlock(root interface{},
 		Time:           time.Now().Unix(),
 		Extra:          extra,
 		UncleSha:       EmptyShaList,
+		GasUsed:        new(big.Int),
+		MinGasPrice:    new(big.Int),
+		GasLimit:       new(big.Int),
 		contractStates: make(map[string]*ethutil.Trie),
 	}
 	block.SetTransactions(txes)
@@ -220,7 +223,7 @@ func (block *Block) SetTransactions(txs []*Transaction) {
 		trie.Update(strconv.Itoa(i), string(tx.RlpEncode()))
 	}
 
-	block.TxSha = trie.Root.([]byte)
+	block.TxSha = []byte(trie.Root.(string))
 }
 
 func (block *Block) Value() *ethutil.Value {
diff --git a/peer.go b/peer.go
index 993f48d20b27afe9511445be7abafe77f5c1df9f..b2e751b44aa28afbdf6745658c9ab9b6e41dce1d 100644
--- a/peer.go
+++ b/peer.go
@@ -18,7 +18,7 @@ const (
 	// The size of the output buffer for writing messages
 	outputBufferSize = 50
 	// Current protocol version
-	ProtocolVersion = 10
+	ProtocolVersion = 11
 )
 
 type DiscReason byte