github.com/InjectiveLabs/sdk-go@v1.53.0/examples/exchange/spot/9_StreamOrders/example.go (about) 1 package main 2 3 import ( 4 "context" 5 "encoding/json" 6 "fmt" 7 8 "github.com/InjectiveLabs/sdk-go/client/common" 9 exchangeclient "github.com/InjectiveLabs/sdk-go/client/exchange" 10 spotExchangePB "github.com/InjectiveLabs/sdk-go/exchange/spot_exchange_rpc/pb" 11 ) 12 13 func main() { 14 // network := common.LoadNetwork("mainnet", "k8s") 15 network := common.LoadNetwork("testnet", "lb") 16 exchangeClient, err := exchangeclient.NewExchangeClient(network) 17 if err != nil { 18 panic(err) 19 } 20 21 ctx := context.Background() 22 marketId := "0xa508cb32923323679f29a032c70342c147c17d0145625922b0ef22e955c844c0" 23 subaccountId := "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000" 24 orderSide := "buy" 25 26 req := spotExchangePB.StreamOrdersRequest{ 27 MarketId: marketId, 28 SubaccountId: subaccountId, 29 OrderSide: orderSide, 30 } 31 stream, err := exchangeClient.StreamSpotOrders(ctx, &req) 32 if err != nil { 33 panic(err) 34 } 35 36 for { 37 select { 38 case <-ctx.Done(): 39 return 40 default: 41 res, err := stream.Recv() 42 if err != nil { 43 fmt.Println(err) 44 return 45 } 46 str, _ := json.MarshalIndent(res, "", " ") 47 fmt.Print(string(str)) 48 } 49 } 50 }