code: func (l *remoteKeyClient) Generate(keyName string, curveType crypto.CurveType) (keyAddress crypto.Address, err error) {
  	ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
  	defer cancel()
  	req := GenRequest{KeyName: keyName, CurveType: curveType.String()}
  	l.logger.TraceMsg("Sending Generate request to remote key server: ", fmt.Sprintf("%v", req))
  	resp, err := l.kc.GenerateKey(ctx, &req)
  	if err != nil {
  		l.logger.TraceMsg("Received Generate error response: ", err)
  		return crypto.Address{}, err
  	}
  	l.logger.TraceMsg("Received Generate response to remote key server: ", fmt.Sprintf("%v", resp))
  	return crypto.AddressFromHexString(resp.GetAddress())
  }
docs: // Generate requests that a key be generate within the keys instance and returns the address