Posted on c/ElrondDevelopers 1 pat8345361196c/ElrondDevelopers 3 years ago What should I send to backend and I will be sure that it's owner of th wallet? Comment 1 Comments mor8331052732 3years ago func CheckSignature(address string, sig string) bool { _, decodedAddress, _ := bech32.Decode(address) decodedBytes, err := bech32.ConvertBits(decodedAddress, byte(5), byte(8), !true) if err != nil { log.Fatal().Err(err).Msg("Address decode error: ") } token := "asd" prefix := "\x17Elrond Signed Message:\n" message := address + token + "{}" data := []byte(prefix + strconv.Itoa(len(message)) + message) hash := sha3.NewLegacyKeccak256() hash.Write(data) hashedMessage := hash.Sum(nil) decodedSig, _ := hex.DecodeString(sig) verified := ed25519.Verify(decodedBytes, hashedMessage, decodedSig) return verified } here it's my example GO code for validation on backend
func CheckSignature(address string, sig string) bool { _, decodedAddress, _ := bech32.Decode(address) decodedBytes, err := bech32.ConvertBits(decodedAddress, byte(5), byte(8), !true) if err != nil { log.Fatal().Err(err).Msg("Address decode error: ") } token := "asd" prefix := "\x17Elrond Signed Message:\n" message := address + token + "{}" data := []byte(prefix + strconv.Itoa(len(message)) + message) hash := sha3.NewLegacyKeccak256() hash.Write(data) hashedMessage := hash.Sum(nil) decodedSig, _ := hex.DecodeString(sig) verified := ed25519.Verify(decodedBytes, hashedMessage, decodedSig) return verified } here it's my example GO code for validation on backend