code: func (v *IP) DecodeRLP(s *rlp.Stream) error {
  	if err := s.Decode((*net.IP)(v)); err != nil {
  		return err
  	}
  	if len(*v) != 4 && len(*v) != 16 {
  		return fmt.Errorf("invalid IP address, want 4 or 16 bytes: %v", *v)
  	}
  	return nil
  }
docs: // DecodeRLP implements rlp.Decoder.