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