package test
import (
"context"
"fmt"
"github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/ethclient"
"log"
"testing"
)
func Test_ws(t *testing.T) {
chainUrl := ""
client, err := ethclient.Dial(chainUrl)
if err != nil {
log.Fatal(err)
}
query := ethereum.FilterQuery{}
logs := make(chan types.Log)
sub, err := client.SubscribeFilterLogs(context.Background(), query, logs)
if err != nil {
log.Fatal(err)
}
fmt.Printf("sub: %+v\\n", sub)
for {
select {
case err := <-sub.Err():
fmt.Printf("err: %+v", err)
case vLog := <-logs:
fmt.Printf("%+v\\n", vLog.BlockNumber)
}
}
fmt.Printf("client: %+v", client)
}
func Test_http(t *testing.T) {
chainUrl := ""
client, err := ethclient.Dial(chainUrl)
if err != nil {
log.Fatal(err)
}
height, err := client.BlockNumber(context.Background())
if err != nil {
log.Fatal(err)
}
fmt.Printf("block height: %+v\\n", height)
fmt.Printf("client: %+v", client)
}
Was this page helpful?