如何在golang中验证suisignMessage?请给我建议

问题描述 投票:0回答:1

这是关于sui钱包的验证。

import {useWallet} from '@suiet/wallet-kit'
import * as tweetnacl from 'tweetnacl'

function App() {
  const wallet = useWallet();

  async function handleSignMsg() {
    try {
      const msg = 'Hello world!'
      // convert string to Uint8Array 
      const msgBytes = new TextEncoder().encode(msg)
      
      // call wallet's signMessage function
      const result = await wallet.signMessage({
        message: msgBytes
      })
            // verify signature with publicKey and SignedMessage (params are all included in result)
      const verifyResult = await wallet.verifySignedMessage(result, wallet.account.publicKey)
      if (!verifyResult) {
        console.log('signMessage succeed, but verify signedMessage failed')
      } else {
        console.log('signMessage succeed, and verify signedMessage succeed!')
      }
    } catch (e) {
      console.error('signMessage failed', e)
    }
  }

  return (
    <button onClick={handleSignMsg}> Sign Message </button>
  )
}

使用js wallet.signMessage,可以查看两条数据,如下。

APr0hJEXc9s9FKHeubNzLkiOJd03thIJs9dnvL4M5dzEfPmzUXWrV57AM1w2k4xHdk6+R+GebKyK30Ob5oFMJQQv/sC0XycR6VEJ+JMYVNj00LdzN2XnylAv6rLwUDov/g==

messageBytes: "SGVsbG8gd29ybGQh"

使用钱包。 verifySignedMessage来验证这两个数据是否正确。因为我是golang开发人员,所以在golang中如何验证。我只是想验证golang中wallet.signMessage的结果。

sui
1个回答
0
投票

嘿,你知道该怎么做了吗?

© www.soinside.com 2019 - 2024. All rights reserved.