我正在开发一个可以连接到 Phantom Wallet 的网络应用程序。我已经建立了连接并成功检索了钱包的公钥。问题是,我似乎找不到任何解决方案来获取帐户余额。
作为参考,我想显示帐户余额,就像 solanart.io 显示它的方式一样。
请注意,我已经浏览了所有相关文档(Solana/web3.js、Solana JSON RPC API 等)。请指导我,因为我对 JSON RPC API 还很陌生。
请注意,我使用的是 vanilla js。
try {
const resp = window.solana.request({
method: "getAccountTokenBalance",
params: [
id, //wallet's public key
{
encoding: "base58",
},
],
});
console.log(resp);
} catch(err) {
// error message
}Run Code Online (Sandbox Code Playgroud)
我试图通过使用下面的代码对消息进行签名的消息来对其进行身份验证,它会返回给我一个签名,我如何在后端验证该签名。
const encodedMessage = new TextEncoder().encode("Message to sign");
const signedMessage = await window.solana.request({
method: "signMessage",
params: {
message: encodedMessage,
display: "utf8", //hex,utf8
},
});
Run Code Online (Sandbox Code Playgroud)
这里签名的消息用公钥和签名来响应这个答案
{
"publicKey": "Gy4xSKsLHXScRMVZgKt5f6BvDawp1JW8PrenA3GbakCK",
"signature": "5BoNFSoV9WEafBnXon2ujPzH5zgjwZkXHL9vkHuUHEnc1AqLSN38LEx5XtAz68JFEt9RhvuhmPL3GkMPdMcQPuzN"
}
Run Code Online (Sandbox Code Playgroud)