簡體   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