Solana Web3.js:获取 Mint 帐户的“null”,尽管它应该返回一个“AccountInfo”对象

Posted

技术标签:

【中文标题】Solana Web3.js:获取 Mint 帐户的“null”,尽管它应该返回一个“AccountInfo”对象【英文标题】:Solana Web3.js: Getting `null` for Mint account, althought it should return an `AccountInfo` object 【发布时间】:2021-12-10 09:20:28 【问题描述】:

当我运行connection.getAccountInfo(watermelonMint.key); 时,我得到一个null 对象,尽管它应该返回一个AccountInfoObject。知道为什么会这样吗?当我在 solana explorer 上查找与此铸币厂相关的地址时,我得到了正常的统计信息 (https://explorer.solana.com/address/7vLEZP5JHhKVg3HEGSWcFNaxAKg7L633uMT7ePqmn98V?cluster=devnet)

console.log("Watermelon mint is: ");
console.log(watermelonMint);

返回

Mint conn: Connection, key: PublicKey
conn: Connection _commitment: undefined, _confirmTransactionInitialTimeout: undefined, _rpcEndpoint: 'https://api.devnet.solana.com', _rpcWsEndpoint: 'wss://api.devnet.solana.com/', _rpcClient: ClientBrowser, …
key: PublicKey
_bn: BN negative: 0, words: Array(11), length: 10, red: null
[[Prototype]]: Struct
[[Prototype]]: Object

知道是什么原因造成的吗?


更新 1:

基本上,Token.getMintInfo(); 总是失败

const token = new Token(conn, mint, TOKEN_PROGRAM_ID,  as any)
  console.log("Getting token: ", token);
  let out: Promise<MintInfo> = token.getMintInfo();
  console.log("Out is: ", out);

【问题讨论】:

【参考方案1】:

很可能,“更新 1”中的 mint 不正确,或者您的连接在某处未正确定义。你能仔细检查一下mint 是否等于PublicKey("7vLEZP5JHhKVg3HEGSWcFNaxAKg7L633uMT7ePqmn98V")

另外,你能确保awaittoken.getMintInfo()的回复吗?

【讨论】:

我通过硬编码字符串而不是环境变量混合了 devnet 和 testnet。非常感谢!

以上是关于Solana Web3.js:获取 Mint 帐户的“null”,尽管它应该返回一个“AccountInfo”对象的主要内容,如果未能解决你的问题,请参考以下文章

尝试发送 USDC 时无法获取钱包签名者 @solana-labs/web3.js

如何在 SOLANA 上使用 web3 js 从令牌地址获取元数据

如何在 Solana(客户端,JS)中获取对以前创建的 Token 的引用

使用 @solana/web3.js 将元数据添加到 Solana 令牌

使用 @Solana\web3.js 传输 SPL 令牌

如何使用 @solana/web3.js 从 Solana 中的自定义令牌中删除铸币权限?