github.com/InjectiveLabs/sdk-go@v1.53.0/examples/chain/10_StreamEventOrderbookUpdate/example.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/InjectiveLabs/sdk-go/client"
     7  
     8  	exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types"
     9  	chainclient "github.com/InjectiveLabs/sdk-go/client/chain"
    10  	"github.com/InjectiveLabs/sdk-go/client/common"
    11  )
    12  
    13  func main() {
    14  	network := common.LoadNetwork("mainnet", "lb")
    15  
    16  	clientCtx, err := chainclient.NewClientContext(
    17  		network.ChainId,
    18  		"",
    19  		nil,
    20  	)
    21  	if err != nil {
    22  		panic(err)
    23  	}
    24  
    25  	chainClient, err := chainclient.NewChainClient(
    26  		clientCtx,
    27  		network,
    28  		common.OptionGasPrices(client.DefaultGasPriceWithDenom),
    29  	)
    30  
    31  	if err != nil {
    32  		panic(err)
    33  	}
    34  
    35  	//0x74b17b0d6855feba39f1f7ab1e8bad0363bd510ee1dcc74e40c2adfe1502f781
    36  	//0x74ee114ad750f8429a97e07b5e73e145724e9b21670a7666625ddacc03d6758d
    37  	//0x26413a70c9b78a495023e5ab8003c9cf963ef963f6755f8b57255feb5744bf31
    38  	marketIds := []string{
    39  		"0xa508cb32923323679f29a032c70342c147c17d0145625922b0ef22e955c844c0",
    40  	}
    41  
    42  	orderbookCh := make(chan exchangetypes.Orderbook, 10000)
    43  	go chainClient.StreamOrderbookUpdateEvents(chainclient.SpotOrderbook, marketIds, orderbookCh)
    44  	for {
    45  		ob := <-orderbookCh
    46  		fmt.Println(ob)
    47  	}
    48  }