繁体   English   中英

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

[英]Can't get wallet signer @solana-labs/web3.js while trying to send USDC

我正在尝试根据此线程中的答案发送 USDC - How to send USDC-SPL using @solana-labs/web3.js但他在答案中使用了私钥,我似乎无法获得签名者一个真正的钱包。 我不断收到这样的错误:

“WalletAdapter”类型的参数不可分配给“Signer”类型的参数。 “WalletAdapter”类型中缺少属性“secretKey”,但“Signer”类型中需要。

我的代码:

var connection = new web3.Connection(web3.clusterApiUrl("devnet"));
    // Construct wallet keypairs
    var fromWallet = wallet;
    var toWallet =to;
    // Construct my token class
    
    var USDC_pubkey = new web3.PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
    var USDC_Token = new splToken.Token(
      connection,
      USDC_pubkey,
      splToken.TOKEN_PROGRAM_ID,
      fromWallet
    );

根据设计,钱包不允许 dapp 直接访问钱包的私钥。 否则,恶意 dapp 可以轻松收集其所有用户的私钥并窃取他们的资金。

相反,钱包提供了一个用于签署交易的接口。 从您的代码片段中,不清楚您使用的是哪个钱包,但您可能希望使用 solana-labs/wallet-adapter 包来处理这些连接。 您可以按照https://github.com/solana-labs/wallet-adapter/上的步骤使用任何钱包设置您的 dapp!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM