suggest_brain_key
{
"brain_priv_key": "STRIP BEHEARS PASTERN HIND CUORIN SPATE BEEISH BETTONG COMELY LOP FREEWAY RUNG TRAMMEL CARABID CLIPEUS TARATAH",
"wif_priv_key": "5JUxQdUCRv9sT1uvZHZb524z3p5zYR8PgzYSf47VY2fJMYjdUhV",
"pub_key": "BTS57nastVRTyqBa69Q5vsUjWouiUNYZuoEybaoE5hwymhk7LrVC6"
}
func genPrivkey(brainKey string) *btcec.PrivateKey {
s := brainKey + " 0"
h := sha512.New()
h.Write([]byte(s))
bs := h.Sum(nil)
h2 := sha256.New()
h2.Write(bs)
bss := h2.Sum(nil)
seed := bss[:32]
s256 := btcec.S256()
priv, _ := btcec.PrivKeyFromBytes(s256, seed)
privKeyWif, _ := btcutil.NewWIF(priv, &chaincfg.MainNetParams, false)
fmt.Println(privKeyWif.String())//5JUxQdUCRv9sT1uvZHZb524z3p5zYR8PgzYSf47VY2fJMYjdUhV
return priv
}
func genPubkey(privKey *btcec.PrivateKey) string {
//address = ‘BTS’+base58(ripemd(sha512(compressed_pub))) (checksum obviated) 也不对
cpk := privKey.PubKey().SerializeCompressed()
fmt.Println(cpk)
fmt.Printf("%x\n", cpk)
sha := sha512.New()
sha.Write(cpk)
sha512 := sha.Sum(nil)
fmt.Println(sha512)
ripemd := ripemd160.New()
ripemd.Write(sha512)
addr := ripemd.Sum(nil)
fmt.Println(addr)
b58Code := base58.Encode(addr)
fmt.Println("base58", b58Code)//4Kx1wmW9xKLkQ21xKDBm7VfHuEvv
return b58Code
}