• Последние
  • Feed подписок
  • Категории
  • Метки
  • Популярные
  • Пользователи
  • Группы
  • Telegram chat
    • TON WIKI
    • TON Archive
    • TONpie Chats
    • ANP system
    • indicaton.io
Theme Center
  • Theme Center
  • default

  • reset theme
Collapse

tonpie.io

Подпишись на канал фаундера и разработчика экосистемы tonpie

Жетоны с нулевой суммой в транзакции

Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
a-jettona-jsa-tonweb
3 Сообщения 1 Posters 189 Просмотры
    • Сначала старые
    • Сначала новые
    • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • AnswersA Не в сети
    AnswersA Не в сети
    Answers
    написал в отредактировано tonpie
    #1

    Я пытаюсь отправить джеттоны с одного кошелька на другой. Для этого я использую библиотеку tonweb. Всякий раз, когда я отправляю транзакцию, я получаю нулевое количество токенов. Почему это происходит и как я могу это исправить?

    Мой код выглядит следующим образом:

    import Env from "@ioc:Adonis/Core/Env";
    import TonWeb from "tonweb";
    import {mnemonicToWalletKey} from "@ton/crypto";
    
    const mnemonic = Env.get('TON_MNEMONIC');
    
    const tonweb = new TonWeb(new TonWeb.HttpProvider('https://toncenter.com/api/v2/jsonRPC', {apiKey: 'e................4fef9'}));
    
    export const SendTokens = async () => {
      const keyPair = await mnemonicToWalletKey(mnemonic.split(" "));
    
      const WalletClass = tonweb.wallet.all.v4R2;
    
      const wallet = new WalletClass(tonweb.provider, {
        publicKey: keyPair.publicKey
      });
    
      const address = await wallet.getAddress();
    
      console.log("my address", address.toString());
    
      const jettonMinter = new TonWeb.token.jetton.JettonMinter(tonweb.provider, {
        adminAddress: address,
        jettonContentUri: "",
        jettonWalletCodeHex: "GEM",
        address: "0:e609c3e241e054e3f078a974e7cd46ea49bcb3e3d8ac4d48c658d27970edb072"});
    
      const data = await jettonMinter.getJettonData();
    
      console.log('Total supply:', data.totalSupply.toString());
      console.log('URI to off-chain metadata:', data.jettonContentUri);
      //console.log('Owner address:', data.adminAddress(true, true, true));
    
      const jettonWalletAddress = await jettonMinter.getJettonWalletAddress(address);
    
      console.log("jetton wallet address", jettonWalletAddress.toString())
    
      const jettonWallet = new TonWeb.token.jetton.JettonWallet(tonweb.provider, {
        address: jettonWalletAddress
      });
    
      const jettonData = await jettonWallet.getData();
    
      console.log("minter address", jettonData.jettonMinterAddress.toString());
      console.log('Jetton wallet address:', address.toString(true, true, true));
    
      const seqno = (await wallet.methods.seqno().call()) || 0;
    
      console.log('Secno:', seqno);
    
      const comment = new Uint8Array([... new Uint8Array(4), ... new TextEncoder().encode('transfer GEM 3')]);
    
      await wallet.methods.transfer({
        secretKey: keyPair.secretKey,
        toAddress: jettonWalletAddress, // address of Jetton wallet of Jetton sender
        amount: TonWeb.utils.toNano('0.05'), // total amount of TONs attached to the transfer message
        seqno: seqno,
        payload: await jettonWallet.createTransferBody({
          queryId: seqno,
          tokenAmount: TonWeb.utils.toNano('0.05'), // Jetton amount (in basic indivisible units)
          toAddress: new TonWeb.utils.Address("0:19b46402e5e4c173ea84d8125345f67fe0a07f113588ab897408231d482044b1"), // recepient user's wallet address (not Jetton wallet)
          forwardAmount: TonWeb.utils.toNano('0.01'), // some amount of TONs to invoke Transfer notification message
          forwardPayload: comment, // text comment for Transfer notification message
          responseAddress: address // return the TONs after deducting commissions back to the sender's wallet address
        }),
        sendMode: 3,
      }).send()
    }
    

    zero transactions in viewer https://tonviewer.com/EQAxLtVoJedFWnlIw0Z35Bjmw3HSY8D9fg-mAxwj5AJ_3Us-/jetton/EQDmCcPiQeBU4_B4qXTnzUbqSbyz49isTUjGWNJ5cO2wcs5s


    Оригинал вопроса

    1 ответ Последний ответ
    0
  • AnswersA Не в сети
    AnswersA Не в сети
    Answers
    написал в отредактировано
    #2

    Это ошибка ввода в библиотеке tonweb. Нужно заменить tokenAmount на jettonAmount.

    1 ответ Последний ответ
    0
  • AnswersA Не в сети
    AnswersA Не в сети
    Answers
    написал в отредактировано
    #3

    Как нам следует написать код, если мы хотим перевести Jetton с кошелька, уже подключенного к tonconnect-ui?

    1 ответ Последний ответ
    0

  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.
  • Первое сообщение
    Последнее сообщение
0
  • Последние
  • Feed подписок
  • Категории
  • Метки
  • Популярные
  • Пользователи
  • Группы
  • Telegram chat
    • TON WIKI
    • TON Archive
    • TONpie Chats
    • ANP system
    • indicaton.io
  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.