Closed keyflux closed 2 years ago
for v1.8.1 you can do
package main
import (
"context"
"fmt"
"log"
"github.com/portto/solana-go-sdk/client"
"github.com/portto/solana-go-sdk/client/rpc"
)
func main() {
c := client.NewClient(rpc.DevnetRPCEndpoint)
res, err := c.GetTransaction(
context.Background(),
"5K4QuDxZjFkAhv8Kfj6pocDf59Cuo8EmxbRcM1d4PVaSWekF6RdC2krJHucF1FhkuSFVHCMcZ4GXnSx7zzygXMdi", rpc.GetTransactionWithLimitConfig{
Commitment: rpc.CommitmentFinalized,
},
)
if err != nil {
log.Fatalf("api error here, err: %v", err)
}
if res.Meta.Err != nil {
log.Fatalf("tx on chain but failed, err: %v", err)
}
fmt.Println("ok")
}
there are two level error in this api.
for v1.9.0 you can do
package main
import (
"context"
"fmt"
"log"
"github.com/portto/solana-go-sdk/client"
"github.com/portto/solana-go-sdk/rpc"
)
func main() {
c := client.NewClient(rpc.DevnetRPCEndpoint)
res, err := c.GetTransaction(
context.Background(),
"5K4QuDxZjFkAhv8Kfj6pocDf59Cuo8EmxbRcM1d4PVaSWekF6RdC2krJHucF1FhkuSFVHCMcZ4GXnSx7zzygXMdi",
)
if err != nil {
log.Fatalf("failed to get tx, err: %v", err)
}
if res.Meta.Err != nil {
log.Fatalf("tx failed on chain, err: %v", res.Meta.Err)
}
fmt.Println("ok")
}
feel free to open another issue if you still struggling with it
I used GetTransaction, but the result can't confirm whether the transaction is failed or not. Do you have any suggestions ?