github.com/InjectiveLabs/sdk-go@v1.53.0/examples/exchange/derivatives/6_StreamOrderbook/example.go (about) 1 package main 2 3 import ( 4 "context" 5 "fmt" 6 7 "github.com/InjectiveLabs/sdk-go/client/common" 8 exchangeclient "github.com/InjectiveLabs/sdk-go/client/exchange" 9 ) 10 11 func main() { 12 network := common.LoadNetwork("devnet-1", "") 13 exchangeClient, err := exchangeclient.NewExchangeClient(network) 14 if err != nil { 15 panic(err) 16 } 17 18 ctx := context.Background() 19 marketIds := []string{"0x4ca0f92fc28be0c9761326016b5a1a2177dd6375558365116b5bdda9abc229ce"} 20 stream, err := exchangeClient.StreamDerivativeOrderbookV2(ctx, marketIds) 21 if err != nil { 22 panic(err) 23 } 24 25 for { 26 select { 27 case <-ctx.Done(): 28 return 29 default: 30 res, err := stream.Recv() 31 if err != nil { 32 fmt.Println(err) 33 return 34 } 35 fmt.Println(res.MarketId, len(res.Orderbook.Sells), len(res.Orderbook.Buys)) 36 } 37 } 38 }