Golang: アルゴランド アドレスを公開鍵に変換する
アルゴランド SDK をインストールします.
$ go get -u github.com/algorand/go-algorand-sdk/...
import (
"crypto/ed25519"
"crypto/sha512"
"encoding/base64"
algocrypto "github.com/algorand/go-algorand-sdk/crypto"
"github.com/algorand/go-algorand-sdk/types"
)
func algoAddrToPublicKey(address string) (ed25519.PublicKey, error) {
addr, err := types.DecodeAddress(address)
if err != nil {
return nil, err
}
bytes := [sha512.Size256]byte(addr)
return ed25519.PublicKey(bytes[:]), nil
}
func main() {
addr := "<wallet address, 58 characters>"
pubKey, _ := algoAddrToPublicKey(addr)
msg := "message to sign"
// if raw sigature is base64 encoded, we need to decode it
sig, _ := base64.StdEncoding.DecodeString(rawSig)
valid := algocrypto.VerifyBytes(pubKey, []byte(msg), sig)
}
Reference
この問題について(Golang: アルゴランド アドレスを公開鍵に変換する), 我々は、より多くの情報をここで見つけました https://dev.to/0xbf/golang-convert-algorand-address-to-public-key-3cp1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol