Как реализовать подключение кошелька TronLink в проекте React?

Я пытаюсь реализовать подключение кошелька TronLink в своем проекте React, используя библиотеку TronWeb. Я попробовал документацию TronWeb, но не смог найти хороший ресурс для запуска React.

Я попытался создать экземпляр TronWeb, используя образцы из документации, и не знаю, как приступить к подключению кошелька.

Можете ли вы мне помочь с этим?

1 ответ

Что вам нужно сделать, так это подключиться к расширению tronlink через экземпляр, предлагаемый браузером, мы говорим о window.tronlink, после этого вы будете подключены, по любым другим вопросам смотрите документацию Developers.tron.network

       var {tronWeb, wallet, contrato} = this.state;
var conexion = 0;

if ( typeof window.tronWeb !== 'undefined' && typeof window.tronLink !== 'undefined' ) {

  tronWeb['installed'] = true;

  if(window.tronWeb.ready || window.tronLink.ready){

    try {
      conexion = (await window.tronLink.request({ method: 'tron_requestAccounts' })).code;
    } catch(e) {
      conexion = 0
    }

    if(conexion === 200){
      tronWeb['loggedIn'] = true;
      wallet = window.tronLink.tronWeb.defaultAddress.base58

    }else{
      tronWeb['loggedIn'] = false;
      wallet = "T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb";

    }

    tronWeb['web3'] = window.tronWeb;

    //window.tronWeb.setHeader({"TRON-PRO-API-KEY": 'your api key'});

    if(this.state.contrato.BRST == null){

      window.tronWeb.setHeader(cons.TAK)

      contrato = {};

      if(cons.SC !== ""){
        contrato.BRUT_USDT = await window.tronWeb.contract().at(cons.SC);
      }
      if(cons.USDT !== ""){
        contrato.USDT = await window.tronWeb.contract().at(cons.USDT);
      }
      if(cons.BRUT !== ""){
        contrato.BRUT =  await window.tronWeb.contract().at(cons.BRUT);
      }
      
      if(cons.SC2 !== ""){
        contrato.BRST_TRX = await window.tronWeb.contract().at(cons.SC2);
      }
      if(cons.BRST !== ""){
        contrato.BRST = await window.tronWeb.contract().at(cons.BRST);
      }
      
      if(cons.BRGY !== ""){
        contrato.BRGY = await window.tronWeb.contract().at(cons.BRGY);
      }
      if(cons.SC3 !== ""){
        contrato.MBOX =  await window.tronWeb.contract().at(cons.SC3);
      }

      if(cons.BRLT !== ""){
        contrato.BRLT = await window.tronWeb.contract().at(cons.BRLT);
      }
      if(cons.SC4 !== ""){
        contrato.loteria = await window.tronWeb.contract().at(cons.SC4);
      }


      this.setState({
        contrato: contrato

      });

    }
    
    
    this.setState({
      accountAddress: wallet,
      tronWeb: tronWeb,

    });
  }else{

    this.setState({
      tronWeb: tronWeb,

    });

  }


} else {

  console.log("se salio")

  tronWeb['installed'] = false;
  tronWeb['loggedIn'] = false;

  this.setState({
    tronWeb: tronWeb

  });
}
Другие вопросы по тегам