code: func (h *Hash) SetHex(hash string) error {
  	hash = strings.ToLower(hash)
  	if len(hash) >= 2 && hash[:2] == "0x" {
  		hash = hash[2:]
  	}
  	if length := len(hash); length != 2*common.HashLength {
  		return fmt.Errorf("invalid hash hex length: %v != %v", length, 2*common.HashLength)
  	}
  	bin, err := hex.DecodeString(hash)
  	if err != nil {
  		return err
  	}
  	copy(h.hash[:], bin)
  	return nil
  }
docs: // SetHex sets the specified hex string as the hash value.