Changed peer format

This commit is contained in:
obscuren 2014-02-08 21:02:42 +01:00
parent 1f7b13ff4e
commit 24349bc431

15
peer.go
View File

@ -106,7 +106,7 @@ type Peer struct {
// this to prevent receiving false peers. // this to prevent receiving false peers.
requestedPeerList bool requestedPeerList bool
host []byte host []interface{}
port uint16 port uint16
caps Caps caps Caps
} }
@ -314,7 +314,8 @@ out:
} }
// Amount of parents in the canonical chain // Amount of parents in the canonical chain
amountOfBlocks := msg.Data.Get(l).AsUint() //amountOfBlocks := msg.Data.Get(l).AsUint()
amountOfBlocks := uint64(100)
// Check each SHA block hash from the message and determine whether // Check each SHA block hash from the message and determine whether
// the SHA is in the database // the SHA is in the database
for i := 0; i < l; i++ { for i := 0; i < l; i++ {
@ -326,8 +327,10 @@ out:
// If a parent is found send back a reply // If a parent is found send back a reply
if parent != nil { if parent != nil {
log.Printf("HASH %x (len %d) Amount = %d)\n", parent.Hash(), l, amountOfBlocks)
chain := p.ethereum.BlockManager.BlockChain().GetChainFromHash(parent.Hash(), amountOfBlocks) chain := p.ethereum.BlockManager.BlockChain().GetChainFromHash(parent.Hash(), amountOfBlocks)
p.QueueMessage(ethwire.NewMessage(ethwire.MsgBlockTy, append(chain, amountOfBlocks))) //log.Printf("%q\n", chain)
p.QueueMessage(ethwire.NewMessage(ethwire.MsgBlockTy, chain))
} else { } else {
// If no blocks are found we send back a reply with msg not in chain // If no blocks are found we send back a reply with msg not in chain
// and the last hash from get chain // and the last hash from get chain
@ -349,13 +352,13 @@ out:
p.Stop() p.Stop()
} }
func packAddr(address, port string) ([]byte, uint16) { func packAddr(address, port string) ([]interface{}, uint16) {
addr := strings.Split(address, ".") addr := strings.Split(address, ".")
a, _ := strconv.Atoi(addr[0]) a, _ := strconv.Atoi(addr[0])
b, _ := strconv.Atoi(addr[1]) b, _ := strconv.Atoi(addr[1])
c, _ := strconv.Atoi(addr[2]) c, _ := strconv.Atoi(addr[2])
d, _ := strconv.Atoi(addr[3]) d, _ := strconv.Atoi(addr[3])
host := []byte{byte(a), byte(b), byte(c), byte(d)} host := []interface{}{byte(a), byte(b), byte(c), byte(d)}
prt, _ := strconv.Atoi(port) prt, _ := strconv.Atoi(port)
return host, uint16(prt) return host, uint16(prt)
@ -417,7 +420,7 @@ func (p *Peer) Stop() {
func (p *Peer) pushHandshake() error { func (p *Peer) pushHandshake() error {
msg := ethwire.NewMessage(ethwire.MsgHandshakeTy, []interface{}{ msg := ethwire.NewMessage(ethwire.MsgHandshakeTy, []interface{}{
uint32(0), uint32(0), "/Ethereum(G) v0.0.1/", byte(p.caps), p.port, uint32(1), uint32(0), "/Ethereum(G) v0.0.1/", byte(p.caps), p.port,
}) })
p.QueueMessage(msg) p.QueueMessage(msg)