Estoy tratando de enviar USDC según la respuesta en este hilo: Cómo enviar USDC-SPL usando @solana-labs/web3.js pero usó la clave privada en su respuesta y parece que no puedo obtener el firmante para una billetera real. Sigo recibiendo errores como este:
El argumento de tipo 'WalletAdapter' no se puede asignar al parámetro de tipo 'Signer'. Falta la propiedad 'secretKey' en el tipo 'WalletAdapter' pero se requiere en el tipo 'Signer'.
Mi código:
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 );Por diseño, las billeteras no permiten que las dapps accedan directamente a la clave privada de una billetera. De lo contrario, una dapp maliciosa podría recopilar fácilmente todas las claves privadas de sus usuarios y robar sus fondos.
En cambio, las billeteras proporcionan una interfaz para firmar transacciones. A partir de su fragmento de código, no está claro qué billetera está usando, pero es posible que desee usar el paquete solana-labs/wallet-adapter para manejar estas conexiones. ¡Puede seguir los pasos en https://github.com/solana-labs/wallet-adapter/ para configurar su dapp con cualquier billetera!