import (
"fmt"
"github.com/miguelmota/go-ethereum-hdwallet"
"github.com/tyler-smith/go-bip39"
"log"
"time"
)
func Gen() {
entropy, err := bip39.NewEntropy(128)
if err != nil {
log.Fatal(err)
}
mnemonic, _ := bip39.NewMnemonic(entropy)
seed := bip39.NewSeed(mnemonic, "245eaxv7UFUE5P5OGh_M") //不同密码生成的助记词不同
wallet, err := hdwallet.NewFromSeed(seed)
if err != nil {
log.Fatal(err)
}
path := hdwallet.MustParseDerivationPath("m/44'/60'/0'/0/0") //生成id为0的钱包地址
//path = hdwallet.MustParseDerivationPath("m/44'/60'/0'/0/1") //生成id为1的钱包地址
account, err := wallet.Derive(path, false)
if err != nil {
log.Fatal(err)
}
address := account.Address.Hex()
privateKey, _ := wallet.PrivateKeyHex(account)
//publicKey, _ := wallet.PublicKeyHex(account)
fmt.Println("address0:", address) // 地址
fmt.Println("privateKey:", privateKey) // 私钥
fmt.Println("publicKey:", publicKey) // 公钥
}