github.com/InjectiveLabs/sdk-go@v1.53.0/examples/chain/exchange/21_MsgRewardsOptOut/example.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 "time" 7 8 "github.com/InjectiveLabs/sdk-go/client" 9 "github.com/InjectiveLabs/sdk-go/client/common" 10 11 exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" 12 chainclient "github.com/InjectiveLabs/sdk-go/client/chain" 13 rpchttp "github.com/cometbft/cometbft/rpc/client/http" 14 ) 15 16 func main() { 17 network := common.LoadNetwork("testnet", "lb") 18 tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") 19 if err != nil { 20 panic(err) 21 } 22 23 senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( 24 os.Getenv("HOME")+"/.injectived", 25 "injectived", 26 "file", 27 "inj-user", 28 "12345678", 29 "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided 30 false, 31 ) 32 33 if err != nil { 34 panic(err) 35 } 36 37 clientCtx, err := chainclient.NewClientContext( 38 network.ChainId, 39 senderAddress.String(), 40 cosmosKeyring, 41 ) 42 43 if err != nil { 44 panic(err) 45 } 46 47 clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) 48 49 chainClient, err := chainclient.NewChainClient( 50 clientCtx, 51 network, 52 common.OptionGasPrices(client.DefaultGasPriceWithDenom), 53 ) 54 55 if err != nil { 56 panic(err) 57 } 58 59 msg := &exchangetypes.MsgRewardsOptOut{ 60 Sender: senderAddress.String(), 61 } 62 63 // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg 64 err = chainClient.QueueBroadcastMsg(msg) 65 66 if err != nil { 67 fmt.Println(err) 68 } 69 70 time.Sleep(time.Second * 5) 71 72 gasFee, err := chainClient.GetGasFee() 73 74 if err != nil { 75 fmt.Println(err) 76 return 77 } 78 79 fmt.Println("gas fee:", gasFee, "INJ") 80 }