forked from cerc-io/plugeth
fixed status message
This commit is contained in:
parent
742a9b00bc
commit
86d1a26b13
28
peer.go
28
peer.go
@ -634,8 +634,8 @@ func (self *Peer) pushStatus() {
|
||||
const netVersion = 0
|
||||
msg := ethwire.NewMessage(ethwire.MsgStatusTy, []interface{}{
|
||||
uint32(ProtocolVersion),
|
||||
netVersion,
|
||||
self.ethereum.BlockChain().TD.Uint64(),
|
||||
uint32(netVersion),
|
||||
self.ethereum.BlockChain().TD,
|
||||
self.ethereum.BlockChain().CurrentBlock.Hash(),
|
||||
self.ethereum.BlockChain().Genesis().Hash(),
|
||||
})
|
||||
@ -645,13 +645,22 @@ func (self *Peer) pushStatus() {
|
||||
|
||||
func (self *Peer) handleStatus(msg *ethwire.Msg) {
|
||||
c := msg.Data
|
||||
// Set the peer's caps
|
||||
//p.caps = Caps(c.Get(3).Byte())
|
||||
|
||||
var (
|
||||
protoVersion = c.Get(0).Uint()
|
||||
netVersion = c.Get(1).Uint()
|
||||
td = c.Get(2).BigInt()
|
||||
bestHash = c.Get(3).Bytes()
|
||||
genesis = c.Get(4).Bytes()
|
||||
)
|
||||
ethlogger.Infof("gen = %x\n", genesis)
|
||||
|
||||
// Get the td and last hash
|
||||
self.td = c.Get(6).BigInt()
|
||||
self.bestHash = c.Get(7).Bytes()
|
||||
self.lastReceivedHash = self.bestHash
|
||||
self.td = td
|
||||
self.bestHash = bestHash
|
||||
self.lastReceivedHash = bestHash
|
||||
|
||||
self.statusKnown = true
|
||||
|
||||
// Compare the total TD with the blockchain TD. If remote is higher
|
||||
// fetch hashes from highest TD node.
|
||||
@ -660,13 +669,14 @@ func (self *Peer) handleStatus(msg *ethwire.Msg) {
|
||||
self.FetchHashes()
|
||||
}
|
||||
|
||||
ethlogger.Infof("Peer is [ETH] capable. (TD = %v ~ %x", self.td, self.bestHash)
|
||||
ethlogger.Infof("Peer is [ETH] capable. (TD = %v ~ %x) %d / %d", self.td, self.bestHash, protoVersion, netVersion)
|
||||
|
||||
}
|
||||
|
||||
func (p *Peer) pushHandshake() error {
|
||||
pubkey := p.ethereum.KeyManager().PublicKey()
|
||||
msg := ethwire.NewMessage(ethwire.MsgHandshakeTy, []interface{}{
|
||||
uint32(0), []byte(p.version), []string{"eth"}, uint32(30303) /*p.port*/, pubkey[1:],
|
||||
P2PVersion, []byte(p.version), []interface{}{"eth"}, uint32(30303) /*p.port*/, pubkey[1:],
|
||||
})
|
||||
|
||||
p.QueueMessage(msg)
|
||||
|
Loading…
Reference in New Issue
Block a user