Official Go client library for ThorStreamer.
go get github.com/thorlabsDev/ThorStreamer/sdks/[email protected]
package main
import (
"context"
"log"
"os"
"time"
"github.com/joho/godotenv"
thorclient "github.com/thorlabsDev/ThorStreamer/sdks/go/client"
)
func main() {
godotenv.Load()
client, err := thorclient.NewClient(thorclient.Config{
ServerAddr: os.Getenv("SERVER_ADDRESS"),
Token: os.Getenv("AUTH_TOKEN"),
DefaultTimeout: 30 * time.Second,
})
if err != nil {
log.Fatal(err)
}
defer client.Close()
stream, err := client.SubscribeToTransactions(context.Background())
if err != nil {
log.Fatal(err)
}
for {
msg, err := stream.Recv()
if err != nil {
if thorclient.IsStreamDone(err) {
break
}
log.Printf("Error: %v", err)
break
}
if tx := msg.GetTransaction(); tx != nil {
log.Printf("Transaction: slot=%d", tx.Transaction.Slot)
}
}
}