itering/scale.go

How to verify Signature use scale.rb

Closed this issue · 2 comments

hi, I want to verify dot signature, i use : https://polkadot.js.org/docs/util-crypto/examples/verify-signature

const main = async () => {
  //Some interfaces, such as using sr25519 however are only available via WASM
  await cryptoWaitReady();
  const isValid = isValidSignature(
    'This is a text message',
    '0x2aeaa98e26062cf65161c68c5cb7aa31ca050cb5bdd07abc80a475d2a2eebc7b7a9c9546fbdff971b29419ddd9982bf4148c81a49df550154e1674a6b58bac84',
    '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty'
  );
  console.log(isValid)
  // true
}

I want to use scale.rb,how can I implement this function, thanks.

hi,

params:

{
    "message": "I'm verifying my DOT address",
    "address": "5HBwjWDWZTqRCv98pku9NwoSRo7euCowciut12tviPNAt7WK",
    "signature": "0xc02fd26ba216daa8cd285314a8059aa60744fd5cff1af606e14a9160c854a57c6b42abe0a986ae6b868703359c32c55069b819d23217f01ac513f8bc51482683"
}

use codes:

  server.post<{ Body: { message: string, signature: string, address: string } }>("/worker/dotSignatureVerify", async (request, reply) => {
    let {message, signature, address} = request.body

    await cryptoWaitReady();

    const isValid  = signatureVerify(stringToU8a(message), signature, address);

    return { isValid: isValid }
  });

image

is_valid is true, but use:

verify_result = SR25519.verify("5HBwjWDWZTqRCv98pku9NwoSRo7euCowciut12tviPNAt7WK", "I'm verifying my DOT address", "0xc02fd26ba216daa8cd285314a8059aa60744fd5cff1af606e14a9160c854a57c6b42abe0a
986ae6b868703359c32c55069b819d23217f01ac513f8bc51482683")

is false

use sign a message:
image