package main import ( "encoding/binary" "time" //"encoding/hex" "fmt" "github.com/gorilla/websocket" "github.com/tendermint/go-wire" _ "github.com/tendermint/tendermint/rpc/core/types" // Register RPCResponse > Result types "github.com/tendermint/tendermint/rpc/lib/client" "github.com/tendermint/tendermint/rpc/lib/types" . "github.com/tendermint/tmlibs/common" ) func main() { ws := rpcclient.NewWSClient("127.0.0.1:46657", "/websocket") _, err := ws.Start() if err != nil { Exit(err.Error()) } // Read a bunch of responses go func() { for { _, ok := <-ws.ResultsCh if !ok { break } //fmt.Println("Received response", string(wire.JSONBytes(res))) } }() // Make a bunch of requests buf := make([]byte, 32) for i := 0; ; i++ { binary.BigEndian.PutUint64(buf, uint64(i)) //txBytes := hex.EncodeToString(buf[:n]) request, err := rpctypes.MapToRequest("fakeid", "broadcast_tx", map[string]interface{}{"tx": buf[:8]}) if err != nil { Exit(err.Error()) } reqBytes := wire.JSONBytes(request) //fmt.Println("!!", string(reqBytes)) fmt.Print(".") err = ws.WriteMessage(websocket.TextMessage, reqBytes) if err != nil { Exit(err.Error()) } if i%1000 == 0 { fmt.Println(i) } time.Sleep(time.Microsecond * 1000) } ws.Stop() }