"github.com/nats-io/nats.go"
opts := make([]nats.Option, 0)
// Extract public nkey from seed
// Public: UAPOK2P7EN3UFBL7SBJPQK3M3JMLALYRYKX5XWSVMVYK63ZMBHTOHVJR
// Private: SUANVBWRHHFMGHNIT6UJHPN2TGVBVIILE7VPVNEQ7DGCJ26ZD2V3KAHT4M
nkey, err := nats.NkeyOptionFromSeed("path/to/seed.nkey")
opts = append(opts, nkey)
nc, err := nats.Connect("127.0.0.1:4222", opts...)
nc.Subscribe("test", func(m *nats.Msg){
log.Printf("[Received] %q, replying... \n", string(m.Data))
m.Respond([]byte("pong from nkeys based server"))