Sui 钱包 signMessage 签名成功,但是无法验证签名。

我们在开发一个DAPP 应用时需要验证一个字符串的签名, 比如: ‘8888888’
成功的调出了TP钱包的确认窗口,但是签名出的数据,无法通过服务器验证,
估计sui 钱包的签名函数中有bug?
sui 钱包的签名的正确调用方式是怎么做呢?

我们的代码如下:

import './App.css';
import { ConnectButton, useWalletKit } from '@mysten/wallet-kit';
import { TransactionBlock } from '@mysten/sui.js/transactions';
import { useEffect } from 'react';


function App() {
	const {
		currentWallet,
		currentAccount,
		signTransactionBlock,
		signAndExecuteTransactionBlock,
		signMessage,
	} = useWalletKit();

	useEffect(() => {
		// You can do something with `currentWallet` here.
	}, [currentWallet]);

	return (
		<div className="App">
			<ConnectButton />
			<div>
				<button
					onClick={async () => {
						console.log(
							await signMessage({
								message: new TextEncoder().encode('8888888'),
							}),
						);
					}}
				>
					Sign message
				</button>
			</div>
			<hr />
			<div>
				<h3>Qredo Connect</h3>
			</div>
		</div>
	);
}

export default App;

你可以看下 suiet 的 demo : https://wallet-kit-demo.vercel.app/

谢谢, 先研究一下

1 个赞


这里可以看出, chrome浏览器调用签名是成功的…

测试了 suiet 的 demo , 跟我这边遇到的问题一样,
tp 钱包里的签名无法通过验证…

现在应该可以确定是出bug 了. 由于我看不到TP代码也不知道是哪里问题.
官方大神能否检查一下这个问题…

tp 的技术人员能看看这个问题吗?

升级下安卓钱包版本,已经修复了