Created
August 30, 2020 22:42
-
-
Save giansalex/bb8d043021d0395cc69c83e8e5340f2d to your computer and use it in GitHub Desktop.
Listen new blocks - Tendermint - Cosmos sdk
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"context" | |
"encoding/hex" | |
"fmt" | |
"log" | |
"time" | |
rpchttp "github.com/tendermint/tendermint/rpc/client/http" | |
"github.com/tendermint/tendermint/types" | |
) | |
func main() { | |
client, err := rpchttp.New("tcp://127.0.0.1:26657", "/websocket") | |
if err != nil { | |
log.Fatal(err) | |
} | |
err = client.Start() | |
if err != nil { | |
log.Fatal(err) | |
} | |
defer client.Stop() | |
ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second) | |
defer cancel() | |
query := "tm.event = 'NewBlock'" | |
txs, err := client.Subscribe(ctx, "test-client", query) | |
if err != nil { | |
log.Fatal(err) | |
} | |
for e := range txs { | |
switch data := e.Data.(type) { | |
case types.EventDataNewBlock: | |
fmt.Printf("Block %s - Height: %d \n", hex.EncodeToString(data.Block.Hash()), data.Block.Height) | |
break | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
how to listen new blocks and transaction in nest js