code: func (k *Keyring) GenerateSigningKey() (*SigningSecretKey, error) {
  	pub, sec, err := ed25519.GenerateKey(rand.Reader)
  	if err != nil {
  		return nil, err
  	}
  
  	if len(pub) != ed25519.PublicKeySize {
  		panic("unexpected public key size")
  	}
  	var pubArray [ed25519.PublicKeySize]byte
  	copy(pubArray[:], pub)
  
  	if len(sec) != ed25519.PrivateKeySize {
  		panic("unexpected private key size")
  	}
  	var privArray [ed25519.PrivateKeySize]byte
  	copy(privArray[:], sec)
  
  	ret := NewSigningSecretKey(&pubArray, &privArray)
  	return &ret, nil
  }
docs: // GenerateSigningKey generates a signing key and import it into the keyring.