code: func (p PublicKey) Fingerprint() string {
  	h := make([]byte, 20)
  	d := sha3.NewShake256()
  	_, _ = d.Write([]byte{0x42})
  	_ = binary.Write(d, binary.LittleEndian, p.PubKeyAlgo)
  	_, _ = d.Write(p.PublicKey[:])
  	_, _ = d.Read(h)
  	return fmt.Sprintf("%x", h)
  }
docs: // Fingerprint calculates the unique ID of a public key