forked from centrifuge/go-substrate-rpc-client
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdot_test.go
119 lines (100 loc) · 3.12 KB
/
dot_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
package gsrpc_test
import (
"encoding/hex"
"fmt"
"github.com/centrifuge/go-substrate-rpc-client/v2/extra"
rpc "github.com/centrifuge/go-substrate-rpc-client/v2/method"
"math/big"
"testing"
)
func TestSystem(t *testing.T) {
//dotsdk, err := rpc.NewDotSdk("wss://rpc.polkadot.io")
dotsdk, err := rpc.NewDotSdk("wss://westend-rpc.polkadot.io")
//dotsdk, err := rpc.NewDotSdk("ws://127.0.0.1:9944")
if err != nil {
panic(err)
}
propreties, err := dotsdk.Symbol()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", propreties)
err = dotsdk.CheckChain(rpc.Polkadot)
if err != nil {
panic(err)
}
height, err := dotsdk.GetHieght()
if err != nil {
panic(err)
}
fmt.Printf("当前节点高度:%v\n", height)
pair, err := dotsdk.GenerateNewAddress(rpc.Polkadot)
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", pair)
err = dotsdk.ValidAddress("12xtAYsRUrmbniiWQqJtECiBQrMn8AypQcXhnQAc6RB6XkLW", rpc.Polkadot)
if err != nil {
panic(err)
}
account, err := dotsdk.GetAccountInfo("12xtAYsRUrmbniiWQqJtECiBQrMn8AypQcXhnQAc6RB6XkLW")
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", account)
txs, err := dotsdk.GetBlockTransaction(4124848, rpc.Polkadot)
if err != nil {
panic(err)
}
for _, tx := range txs {
fmt.Printf("%+v\n", tx)
}
hash, fee, err := dotsdk.Transfer("0xebc62b16438a7009ced6be3953474ffd8d1b884c7b8a5e359f717e55a0faf018", rpc.Westend, "5EqHe4TTbtqD7zCBrV8HpQWjekEEmFjb88m1tDGGVipvC1Pg", big.NewInt(200000000000), 9)
if err != nil {
panic(err)
}
fmt.Printf("tx hash is %v, pay fee is %v", hash.Hex(), fee)
fee, err = dotsdk.GetPartialFee("0x412c4a3c51e6dd7b4bc60567694d2f6f0d4075217aa05166ed7dab616828dea5", rpc.Polkadot, "5EqHe4TTbtqD7zCBrV8HpQWjekEEmFjb88m1tDGGVipvC1Pg", big.NewInt(2000000000000), 9)
if err != nil {
panic(err)
}
fmt.Printf("fee1: %+v\n", fee)
fee2, err := dotsdk.GetPartialFee("0x412c4a3c51e6dd7b4bc60567694d2f6f0d4075217aa05166ed7dab616828dea5", rpc.Polkadot, "5EqHe4TTbtqD7zCBrV8HpQWjekEEmFjb88m1tDGGVipvC1Pg", big.NewInt(2000000000000), 9)
if err != nil {
panic(err)
}
fmt.Printf("fee2: %+v\n", fee2)
err = dotsdk.CheckSync()
if err != nil {
panic(err)
}
}
func TestAddressFromPub(t *testing.T) {
pub := "a69958eee5de0cb8fb250eba9c4b4ab1675468e68e49a5ebcac22fa9340fe938"
pubBytes, _ := hex.DecodeString(pub)
fmt.Println(pubBytes)
//pubBytes = append([]byte{0xff},pubBytes...)
address, err := extra.Encode(pubBytes, extra.PolkadotPrefix)
if err != nil {
t.Fatal(err)
}
fmt.Println(address)
}
func TestVliadAddress(t *testing.T) {
err := extra.VerityAddress("5HpZZQKbdd8iUnedUCASdY9xyAMrrzmsmWY5J4nzTBjbbnbX", []byte{42})
if err != nil {
panic(err)
}
}
func TestTransferECDSA(t *testing.T) {
dotsdk, err := rpc.NewDotSdk("wss://westend-rpc.polkadot.io")
if err != nil {
t.Fatal(err)
}
//types.SetSerDeOptions(types.SerDeOptions{NoPalletIndices: false})
hash, fee, err := dotsdk.TransferECDSA("52feabaab39178b12be74ff1f7cdcf18812d68ce2dfb648a5783be4e92924220", rpc.Westend, "5FvcbAPyzmMsYrGgmecLG6vPMqzaCr1V91hngtuYddc8VL3s", big.NewInt(100000000000), 0)
if err != nil {
t.Fatal(err)
}
fmt.Printf("tx hash is %v, pay fee is %v", hash.Hex(), fee)
}