Przeglądaj źródła

Limit hashes. Closes #249

obscuren 10 lat temu
rodzic
commit
35f4bb96f3
1 zmienionych plików z 7 dodań i 0 usunięć
  1. 7 0
      eth/protocol.go

+ 7 - 0
eth/protocol.go

@@ -67,6 +67,8 @@ type newBlockMsgData struct {
 	TD    *big.Int
 }
 
+const maxHashes = 255
+
 type getBlockHashesMsgData struct {
 	Hash   []byte
 	Amount uint64
@@ -139,6 +141,11 @@ func (self *ethProtocol) handle() error {
 		if err := msg.Decode(&request); err != nil {
 			return self.protoError(ErrDecode, "->msg %v: %v", msg, err)
 		}
+
+		//request.Amount = uint64(math.Min(float64(maxHashes), float64(request.Amount)))
+		if request.Amount > maxHashes {
+			request.Amount = maxHashes
+		}
 		hashes := self.chainManager.GetBlockHashesFromHash(request.Hash, request.Amount)
 		return p2p.EncodeMsg(self.rw, BlockHashesMsg, ethutil.ByteSliceToInterface(hashes)...)