公链开发 golang bese58.Decode() 遇坑

通过地址反推公钥哈希时,开始地址用的是中文“张山”,结果运行到 pubKeyHash:=addressByte[1:lenght-4]
报错panic:slice bounds out ...。debug检测到len(addressByte)为0,后修改地址为英文字符,编译成功,不过地址里不能有空格
func GetPubKeyFromAddress(address string) []byte {
   //1.解码   //2.截取出公钥哈希:去除version(1字节),校验码(5字节)
   addressByte:=base58.Decode(address)//25字节
   lenght:=len(addressByte)

   //测试address在哪一步没传到  todo
   fmt.Printf("address6 :%s\n",address)
   fmt.Printf("len(addressByte) :%d\n",lenght)

   pubKeyHash:=addressByte[1:lenght-4]//[1:lenght-4] 接收不到地址/已解决,地址格式问题
   return pubKeyHash
}

你可能感兴趣的:(golang,公链开发)