-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
86 lines (70 loc) · 1.79 KB
/
main.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
package main
import (
"context"
"fmt"
"io/ioutil"
"log"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/accounts/keystore"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/ethclient"
todo "github.com/idirall22/go-solidity-learn/gen"
)
func main() {
b, err := ioutil.ReadFile("wallet/UTC--2021-05-24T16-47-26.459903259Z--c393967d7b4b7fd02e697d13085d645c9412af11")
if err != nil {
log.Fatal(err)
}
key, err := keystore.DecryptKey(b, "password")
if err != nil {
log.Fatal(err)
}
client, err := ethclient.Dial("https://kovan.infura.io/v3/188b9ff61e6f46dc8c66b6ed36487bbe")
if err != nil {
log.Fatal(err)
}
defer client.Close()
chainID, err := client.NetworkID(context.Background())
if err != nil {
log.Fatal(err)
}
gasPrice, err := client.SuggestGasPrice(context.Background())
if err != nil {
log.Fatal(err)
}
cAdd := common.HexToAddress("0x48B63160d3Bbc7B566aa596768a19523278C1525")
t, err := todo.NewTodo(cAdd, client)
if err != nil {
log.Fatal(err)
}
tx, err := bind.NewKeyedTransactorWithChainID(key.PrivateKey, chainID)
if err != nil {
log.Fatal(err)
}
tx.GasLimit = 3000000
tx.GasPrice = gasPrice
// tra, err := t.Add(tx, "First Task")
// if err != nil {
// log.Fatal(err)
// }
// fmt.Println(tra.Hash())
add := crypto.PubkeyToAddress(key.PrivateKey.PublicKey)
tasks, err := t.List(&bind.CallOpts{
From: add,
})
if err != nil {
log.Fatal(err)
}
fmt.Println(tasks)
// tra, err := t.Update(tx, big.NewInt(0), "update task content")
// if err != nil {
// log.Fatal(err)
// }
// fmt.Println("Toggle tx", tra.Hash())
// tra, err := t.Remove(tx, big.NewInt(0))
// if err != nil {
// log.Fatal(err)
// }
// fmt.Println("Toggle tx", tra.Hash())
}