Upped protocol version for VM change
This commit is contained in:
parent
b3834d8272
commit
f3a93b046e
@ -5,5 +5,3 @@ import (
|
||||
)
|
||||
|
||||
var BlockReward *big.Int = big.NewInt(1.5e+18)
|
||||
var UncleReward *big.Int = big.NewInt(1.125e+18)
|
||||
var UncleInclusionReward *big.Int = big.NewInt(1.875e+17)
|
||||
|
@ -92,6 +92,13 @@ func (cache *Cache) Get(key []byte) *ethutil.Value {
|
||||
data, _ := cache.db.Get(key)
|
||||
// Create the cached value
|
||||
value := ethutil.NewValueFromBytes(data)
|
||||
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
fmt.Println("RECOVER GET", cache, cache.nodes)
|
||||
panic("bye")
|
||||
}
|
||||
}()
|
||||
// Create caching node
|
||||
cache.nodes[string(key)] = NewNode(key, value, false)
|
||||
|
||||
|
@ -872,8 +872,7 @@ func (self *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
|
||||
default:
|
||||
vmlogger.Debugf("(pc) %-3v Invalid opcode %x\n", pc, op)
|
||||
|
||||
// XXX Really?
|
||||
closure.UseGas(closure.Gas)
|
||||
//panic(fmt.Sprintf("Invalid opcode %x", op))
|
||||
|
||||
return closure.Return(nil), fmt.Errorf("Invalid opcode %x", op)
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ func NewSimpleClientIdentity(clientIdentifier string, version string, customIden
|
||||
version: version,
|
||||
customIdentifier: customIdentifier,
|
||||
os: runtime.GOOS,
|
||||
implementation: "Go",
|
||||
implementation: runtime.Version(),
|
||||
}
|
||||
|
||||
return clientIdentity
|
||||
|
37
peer.go
37
peer.go
@ -24,9 +24,11 @@ const (
|
||||
// The size of the output buffer for writing messages
|
||||
outputBufferSize = 50
|
||||
// Current protocol version
|
||||
ProtocolVersion = 32
|
||||
ProtocolVersion = 33
|
||||
// Current P2P version
|
||||
P2PVersion = 0
|
||||
// Ethereum network version
|
||||
NetVersion = 0
|
||||
// Interval for ping/pong message
|
||||
pingPongTimer = 2 * time.Second
|
||||
)
|
||||
@ -72,7 +74,7 @@ func (d DiscReason) String() string {
|
||||
type Caps byte
|
||||
|
||||
const (
|
||||
CapPeerDiscTy = 1 << iota
|
||||
CapPeerDiscTy Caps = 1 << iota
|
||||
CapTxTy
|
||||
CapChainTy
|
||||
|
||||
@ -309,6 +311,14 @@ out:
|
||||
select {
|
||||
// Main message queue. All outbound messages are processed through here
|
||||
case msg := <-p.outputQueue:
|
||||
if !p.statusKnown {
|
||||
switch msg.Type {
|
||||
case ethwire.MsgGetTxsTy, ethwire.MsgGetBlockHashesTy, ethwire.MsgGetBlocksTy, ethwire.MsgBlockHashesTy, ethwire.MsgBlockTy:
|
||||
peerlogger.Debugln("Blocked outgoing [eth] message to peer without the [eth] cap.")
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
p.writeMessage(msg)
|
||||
p.lastSend = time.Now()
|
||||
|
||||
@ -435,6 +445,11 @@ func (p *Peer) HandleInbound() {
|
||||
case ethwire.MsgStatusTy:
|
||||
// Handle peer's status msg
|
||||
p.handleStatus(msg)
|
||||
}
|
||||
|
||||
// TMP
|
||||
if p.statusKnown {
|
||||
switch msg.Type {
|
||||
case ethwire.MsgGetTxsTy:
|
||||
// Get the current transactions of the pool
|
||||
txs := p.ethereum.TxPool().CurrentTransactions()
|
||||
@ -534,6 +549,7 @@ func (p *Peer) HandleInbound() {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
p.Stop()
|
||||
}
|
||||
@ -645,10 +661,9 @@ func (p *Peer) pushPeers() {
|
||||
}
|
||||
|
||||
func (self *Peer) pushStatus() {
|
||||
const netVersion = 0
|
||||
msg := ethwire.NewMessage(ethwire.MsgStatusTy, []interface{}{
|
||||
uint32(ProtocolVersion),
|
||||
uint32(netVersion),
|
||||
uint32(NetVersion),
|
||||
self.ethereum.BlockChain().TD,
|
||||
self.ethereum.BlockChain().CurrentBlock.Hash(),
|
||||
self.ethereum.BlockChain().Genesis().Hash(),
|
||||
@ -669,7 +684,17 @@ func (self *Peer) handleStatus(msg *ethwire.Msg) {
|
||||
)
|
||||
|
||||
if bytes.Compare(self.ethereum.BlockChain().Genesis().Hash(), genesis) != 0 {
|
||||
ethlogger.Warnf("Invalid genisis hash %x. Disabling [ETH]\n", genesis)
|
||||
ethlogger.Warnf("Invalid genisis hash %x. Disabling [eth]\n", genesis)
|
||||
return
|
||||
}
|
||||
|
||||
if netVersion != NetVersion {
|
||||
ethlogger.Warnf("Invalid network version %d. Disabling [eth]\n", netVersion)
|
||||
return
|
||||
}
|
||||
|
||||
if protoVersion != ProtocolVersion {
|
||||
ethlogger.Warnf("Invalid protocol version %d. Disabling [eth]\n", protoVersion)
|
||||
return
|
||||
}
|
||||
|
||||
@ -687,7 +712,7 @@ func (self *Peer) handleStatus(msg *ethwire.Msg) {
|
||||
self.FetchHashes()
|
||||
}
|
||||
|
||||
ethlogger.Infof("Peer is [ETH] capable. (TD = %v ~ %x) %d / %d", self.td, self.bestHash, protoVersion, netVersion)
|
||||
ethlogger.Infof("Peer is [eth] capable. (TD = %v ~ %x) %d / %d", self.td, self.bestHash, protoVersion, netVersion)
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user