Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "crypto/ecdsa"
- "fmt"
- "io/ioutil"
- "log"
- "os"
- "github.com/ethereum/go-ethereum/accounts/keystore"
- "github.com/ethereum/go-ethereum/crypto"
- )
- func main() {
- priv := loadPrivateKey("z-devkey--f7f1af2cd620deb3a99685e403703b947a556678")
- addr := crypto.PubkeyToAddress(priv.PublicKey)
- fmt.Println("Keystore eth address:", addr.Hex())
- // Expect address = 0xf7f1af2cd620deb3a99685e403703b947a556678
- }
- func loadPrivateKey(keyloc string) *ecdsa.PrivateKey {
- keyfile, err := os.Open(keyloc)
- must(fmt.Sprintf("could not load keystore file at %s\n", keyloc), err)
- reader, err := ioutil.ReadAll(keyfile)
- must("", err)
- key, err := keystore.DecryptKey(reader, "")
- must("could not decrypt key", err)
- return key.PrivateKey
- }
- func must(errText string, err error) {
- if err != nil {
- log.Fatalf("%s: %s\n", errText, err)
- }
- }
Add Comment
Please, Sign In to add comment