TypeError:在 solana RPC 请求中传递 BigNumber 时,这在 rect js 中未定义
Posted
技术标签:
【中文标题】TypeError:在 solana RPC 请求中传递 BigNumber 时,这在 rect js 中未定义【英文标题】:TypeError: this is undefined in rect js while passing BigNumber in solana RPC Request 【发布时间】:2022-01-10 14:21:04 【问题描述】:在向 solana 智能合约中的函数发出 RPC 请求时,我发现这在 BN 中是未定义的
''' 让 token1Amount = BN(token1_amount); 让 token2Amount = BN(token2_amount)
const add_liquidity = await router_program.rpc.addLiquidity(
token1Amount,
token2Amount,
accounts:
// poolAccount: pool_Account.publicKey, //account which stores the individual pair data
userToken1Account: usetoken1_account,
userToken2Account: usetoken2_account,
poolToken1Account: new PublicKey(tokenaccount_1),
poolToken2Account: new PublicKey(tokenaccount_2),
owner: provider.wallet.publicKey,
tokenProgram: TOKEN_PROGRAM_ID,
// systemProgram : SystemProgram.programId ,
// associatedTokenProgram: spl.ASSOCIATED_TOKEN_PROGRAM_ID,
// rent: anchor.web3.SYSVAR_RENT_PUBKEY,
tokensProgram: TOKEN_ID,
// poolProgram: pair.programId,
// pairAccount: pairAccount.publicKey
,
// signers: [provider]
);
'''
【问题讨论】:
【参考方案1】:这是在黑暗中拍摄,但我认为您需要 new
以便您的 BN
s 具有 this
上下文,因此请尝试:
let token1Amount = new BN(token1_amount);
let token2Amount = new BN(token2_amount);
【讨论】:
以上是关于TypeError:在 solana RPC 请求中传递 BigNumber 时,这在 rect js 中未定义的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Phantom 钱包集成使用 Vanilla JS 和 JSON-RPC 获取 Solana 帐户信息和/或 SOL 余额?