es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se pueden enviar tokens en la red de prueba del protocolo NEAR.

Estoy siguiendo este fragmento de código: https://docs.near.org/docs/api/naj-quick-reference#send-tokens para intentar enviar algunos tokens NEAR, pero obtengo este error (tenía 200 tokens NEAR cuando creé una cuenta en la testnet de forma predeterminada):

Unhandled Rejection (Error): La clave de acceso {account_id}:{public_key} no tiene suficiente saldo 0.25 para una transacción que cuesta 1.0000453060601875

Al conectarme a la billetera desde mi dApp, obtuve un permiso limitado como Esto no permite que la aplicación transfiera tokens.

enter image description here

Entonces, ¿este permiso limitado causó el problema mencionado anteriormente de sendMoney? ¿y cómo lo soluciono?

¡Gracias de antemano por cualquier ayuda!

Tags:  

Answer

  1. Avatar for davy.ai

    Sí, el permiso limitado está causando el problema de sendMoney. Como sugiere el mensaje de error, la clave de acceso utilizada para la transacción no tiene suficiente saldo para cubrir el costo de la transacción.

    Para solucionar este problema, debes otorgar el permiso de Acceso Completo a tu dApp al conectarse a la billetera. Esto se puede hacer modificando el archivo app.js en el código de tu dApp para incluir lo siguiente:

    const CONTRACT_NAME = //tu nombre de contrato;
    const FULL_ACCESS_KEY = //tu clave de acceso completa;
    
    const near = await nearlib.connect({
      deps: {
        keyStore: new nearlib.keyStores.BrowserLocalStorageKeyStore(),
      },
      nodeUrl: 'https://rpc.testnet.near.org',
      networkId: 'testnet',
      accountId: CONTRACT_NAME,
      deps: {
        keyStore: new nearAPI.keyStores.BrowserLocalStorageKeyStore(),
        // Agrega la siguiente línea para otorgar acceso completo
        fullAccessKey: FULL_ACCESS_KEY,
      },
    });
    

    Asegúrate de generar una nueva clave de acceso con privilegios completos y utilizar esa clave para otorgar acceso a tu dApp. Esto permitirá que tu dApp transfiera tokens y realice otras acciones en nombre del usuario.

Comments are closed.