Open likhita-8091 opened 2 years ago
你可以在go-sdk执行下面的命令
bash .ci/integration_test.sh
会产生一个hello.go的文件,里面有main函数,可以参考,如下
func main() {
configs, err := conf.ParseConfigFile("config.toml")
if err != nil {
log.Fatalf("ParseConfigFile failed, err: %v", err)
}
client, err := client.Dial(&configs[0])
if err != nil {
fmt.Printf("Dial Client failed, err:%v", err)
return
}
address, tx, instance, err := DeployHello(client.GetTransactOpts(), client)
if err != nil {
fmt.Printf("Deploy failed, err:%v", err)
return
}
fmt.Println("contract address: ", address.Hex()) // the address should be saved
fmt.Println("transaction hash: ", tx.Hash().Hex())
hello := &HelloSession{Contract: instance, CallOpts: *client.GetCallOpts(), TransactOpts: *client.GetTransactOpts()}
ret, err := hello.Get()
if err != nil {
fmt.Printf("hello.Get() failed: %v", err)
return
}
done := make(chan bool)
err = hello.WatchAllSetValue(nil, func(ret int, logs []types.Log) {
fmt.Printf("WatchAllSetValue receive statud: %d, logs: %v\n", ret, logs)
setValue, err := hello.ParseSetValue(logs[0])
if err != nil {
fmt.Printf("hello.WatchAllSetValue() failed: %v", err)
panic("WatchAllSetValue hello.WatchAllSetValue() failed")
}
fmt.Printf("receive setValue: %+v\n", *setValue)
done <- true
})
if err != nil {
fmt.Printf("hello.WatchAllSetValue() failed: %v", err)
return
}
fmt.Printf("Get: %s\n", ret)
_, _, err = hello.Set("fisco")
if err != nil {
fmt.Printf("hello.Set failed: %v", err)
return
}
ret, err = hello.Get()
if err != nil {
fmt.Printf("hello.Get() failed: %v", err)
return
}
fmt.Printf("Get: %s\n", ret)
<-done
from := common.HexToAddress("0x83309d045a19c44Dc3722D15A6AbD472f95866aC")
hello.WatchSetValue(nil, func(ret int, logs []types.Log) {
fmt.Printf("WatchSetValue receive statud: %d, logs: %+v\n", ret, logs)
setValue, err := hello.ParseSetValue(logs[0])
if err != nil {
fmt.Printf("hello.WatchSetValue() failed: %v", err)
panic("hello.WatchSetValue() failed")
}
fmt.Printf("WatchSetValue receive setValue: %+v\n", *setValue)
done <- true
}, from, from)
<-done
}
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
我是copy代码库中的example下的event示例代码,但是也是监听不到,
是不是和我的bcos版本有关系,bcos是2.8的版本,go-sdk是dev版本,