HD Wallet 系列 - 公钥与地址

原文地址:tpkeep.com

简单的理解,地址就是公钥/脚本哈希值的base58格式

地址的格式

P2PKH (Pay To PubKey Hash) 格式的地址

HD Wallet 系列 - 公钥与地址_第1张图片
image.png

P2SH (Pay To Script Hash) 格式的地址

HD Wallet 系列 - 公钥与地址_第2张图片
image.png

前缀占用一个字节,表示网络ID。校验位占用4个字节。使用base58便于更友好的显示,增加的校验还可以防止用户输入错误,bip32中也是这种格式来显示扩展密钥。

代码实战

代码参考:https://github.com/tpkeeper/addrtool/blob/master/address.go

func PubkeyToAddress(key []byte,netId byte)(string){
    hash160Bytes:=btcutil.Hash160(key)
    return base58.CheckEncode(hash160Bytes,netId)
}

base58前缀目录一览

xpub xprv 代表的就是bip32中的扩展密钥即extended key

HD Wallet 系列 - 公钥与地址_第3张图片
image.png

你可能感兴趣的:(HD Wallet 系列 - 公钥与地址)