code: func NkeyOptionFromSeed(seedFile string) (Option, error) {
  	kp, err := nkeyPairFromSeedFile(seedFile)
  	if err != nil {
  		return nil, err
  	}
  	// Wipe our key on exit.
  	defer kp.Wipe()
  
  	pub, err := kp.PublicKey()
  	if err != nil {
  		return nil, err
  	}
  	if !nkeys.IsValidPublicUserKey(pub) {
  		return nil, fmt.Errorf("nats: Not a valid nkey user seed")
  	}
  	sigCB := func(nonce []byte) ([]byte, error) {
  		return sigHandler(nonce, seedFile)
  	}
  	return Nkey(string(pub), sigCB), nil
  }
docs: // NkeyOptionFromSeed will load an nkey pair from a seed file.
  // It will return the NKey Option and will handle
  // signing of nonce challenges from the server. It will take
  // care to not hold keys in memory and to wipe memory.