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

  • reset theme
Collapse

tonpie.io

AnswersA

TON Overflow

@Answers
Сводка
Сообщения
1.0k
Темы
552
Группы
1
Подписчики
1
Подписки
0

Темы

  • AnswersA

    LITE_SERVER_UNKNOWN: не удается загрузить блок ... с указанной транзакцией

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
    0 Голоса
    1 Сообщения
    171 Просмотры
    AnswersA

    Привет, пытаюсь обновить кошелек TON, но получаю ошибку LITE_SERVER_UNKNOWN: не удается загрузить блок... с указанной транзакцией. Помогите, пожалуйста. Тнх

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

  • AnswersA

    рабочие цепочки

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-workchain
    0 Голоса
    1 Сообщения
    146 Просмотры
    AnswersA

    Является ли тестовая сеть ice network рабочей цепочкой тестовой сети TON или полностью независимой копией сети TON. Как мне отличить эти две вещи?

    Исследователь ЛЬДА находится по адресу https://explorer.testnet.ice.io/

    Я также нашел этот URL masterchaininfo https://http-api.testnet.ice.io/getMasterchainInfo

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

  • AnswersA

    Ошибка: Не удалось выполнить метод get. Получен код выхода: -13

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
    0 Голоса
    1 Сообщения
    117 Просмотры
    AnswersA

    Здравствуйте, уважаемые разработчики TON

    Я получаю сообщение об ошибке при запуске скрипта getter .ts. Имя метода getter в смарт-контракте (он развернут с помощью getter) совпадает с моим вызовом оболочки.

    https://drive.google.com/file/d/1XgxbQho-51QVi8nF6n3k9h9qAlAMrhm9/view?usp=share_link – получатель в функциональном смарт-контракте https://drive.google.com/file/d/19TDWkkwjkPQkEN8u3nWewCC3vW-iL09G/view?usp=share_link – Скрипт getWalletData .ts

    https://drive.google.com/file/d/19TDWkkwjkPQkEN8u3nWewCC3vW-iL09G/view?usp=share_link – jetton wallet wrapper .ts https://drive.google.com/file/d/1W3twTuxVSyGRVBrP_KMyZclFrY8Ax2sK/view?usp=share_link _ я получаю сообщение об ошибке

    Заранее благодарю вас!

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

  • AnswersA

    налог с продаж на stonfi или dedust

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-dedust a-dex a-stonfi a-tax a-ton
    0 Голоса
    2 Сообщения
    237 Просмотры
    b_as_sB

    Есть же пул ликвидности с которого выдает % от оборота. А если тебе мало такого % то тока свой DeFi делать😄

  • AnswersA

    tsTON на кошелек TON

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
    0 Голоса
    1 Сообщения
    116 Просмотры
    AnswersA

    i sent my tsTON to TON wallet in telegram. i didnt receive anything. https://tonviewer.com/transaction/a93a8369d0da61a84d2de27a9d8fc008a80b5386c35529db0f537b02744aa52a

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

  • AnswersA

    Dedust sdk заменяет jetton на ton

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-dedust a-javascript a-sdk a-swap
    0 Голоса
    1 Сообщения
    139 Просмотры
    AnswersA

    https://docs.dedust.io/docs/swaps

    Здравствуйте, это работает, когда я меняю ton на jetton. Но не jetton -> ton.

    В документах "VaultJetton.createSwapPayload({ poolAddress })", откуда берется VaultJetton?

    Это из-за этого?

    const tokenVault = tonClient.open(await factory.getJettonVault(Address.parse(tokenAddress)));

    но в данном случае у него нет функции createSwapPayload

    Спасибо

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

  • AnswersA

    Как сгенерировать адрес из начальной фразы в Python?

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
    0 Голоса
    1 Сообщения
    52 Просмотры
    AnswersA

    Как сгенерировать адрес из исходной фразы в Python? Как сгенерировать адрес из исходной фразы на python?

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

  • AnswersA

    Пожалуйста, найдите мой Тонкоин

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-please-please
    0 Голоса
    2 Сообщения
    80 Просмотры
    AnswersA

    Если вы только что отправили ton на адрес gate.io, вам следует обратиться в службу поддержки gate io. Они должны помочь

  • AnswersA

    Нет баланса

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
    0 Голоса
    5 Сообщения
    216 Просмотры
    R

    напиши мне в тг @kodgen

  • AnswersA

    Как я могу отправить ton из кошелька C# на другой кошелек??

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
    0 Голоса
    3 Сообщения
    267 Просмотры
    AnswersA

    я тестирую этот код, но код возвращает эту ошибку: Получена ошибка: {"ok":false,"error":"LITE_SERVER_UNKNOWN: не удается применить внешнее сообщение к текущему состоянию: Внешнее сообщение не было принято\Не удается запустить сообщение в учетной записи: входящее внешнее сообщение отклонено транзакцией 567F1D4BCB17CE7440806854F3DB31A986229B46C73EFE0835F80B9E4CAC5258 :\nexitcode=9, шаги=8, gas_used=0\Журнал nVM (усеченный):\n...выполнить SETCP 0\nexecute DICTPUSHCONST 19 (xC_,1)\nexecute DICTIGETJMPZ\nexecute PUSHPOW2 9\nexecute LDSLICEX\nexecute DUP\nexecute LDU 32\код исключения обработки 9: переполнение ячейки\обработчик исключений по умолчанию, завершение работы виртуальной машины с кодом выхода 9\n","код":500} я не знаю, что произошло.

    это мой код

    try { TonClient tonclient = new(new TonClientParameters { Endpoint = "https://toncenter.com/api/v2/jsonRPC", ApiKey = "...", }); var destination = new Address("UQBWfx1LyxfOdECAaFTz2zGphiKbRsc- _gg1-AueTKxSWPZ9");

    var mnemonic = new Mnemonic(); WalletV4 walletV4 = new WalletV4(new WalletV4Options() { PublicKey = mnemonic.Keys.PublicKey! }); // Create a transfer message for the wallet ExternalInMessage message = walletV4.CreateTransferMessage(new[] { new WalletTransfer { Message = new ExternalInMessage(new() { Info = new ExtInMsgInfo(new() { Dest = destination, ImportFee = new Coins("0.013"), Src = walletV4.Address }), Body = new Message(destination, new Coins("0.5")).Payload, StateInit = new StateInit(new StateInitOptions()), }), Mode = 1 } }, 0).Sign(mnemonic.Keys.PrivateKey, true); await tonclient.SendBoc(message.Cell!);

    } перехват (исключение e) { Приставка.WriteLine(e); throw; }

  • AnswersA

    Как добавить ton raffes в кошелек safepal

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
    0 Голоса
    1 Сообщения
    83 Просмотры
    AnswersA

    Я хочу добавить токен ton raffes в safepal, но кошелек safepal не поддерживает пользовательскую сеть ton. Как вручную добавить сеть ton в кошелек safepal

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

  • AnswersA

    на некоторые вопросы нужна помощь в ответе

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
    0 Голоса
    1 Сообщения
    43 Просмотры
    AnswersA

    Основано ли подтверждение депозита на номере подтверждения или пакете

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

  • AnswersA

    на некоторые вопросы нужна помощь в ответе

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
    0 Голоса
    1 Сообщения
    45 Просмотры
    AnswersA

    Привет, сообщество TON, у меня есть несколько вопросов, на которые мне нужна ваша помощь, чтобы ответить

    Существуют ли какие-либо специальные советы по пополнению счета, такие как lunc, списать 1 Lunc со счета при первом пополнении, 2. К какому типу цепочек относится ton chain, evm? Или другие типы? 3. Основано ли подтверждение пополнения счета на номере подтверждения или пакете?

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

  • AnswersA

    Переход с Trust Wallet на другие кошельки Ton

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-tonkeeper a-trust-wallet
    0 Голоса
    2 Сообщения
    108 Просмотры
    byslivachB

    @Answers, сеть тон и сеть erc-20 не могут быть совмещены. Тебе нужно использовать несколько приложений, чтобы хранить биткоины и тоны(к примеру).

  • AnswersA

    Серийная/массовая чеканка NFT

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-minting a-nft a-ton
    0 Голоса
    1 Сообщения
    61 Просмотры
    AnswersA

    Привет, сообщество TON,

    Я создаю игру на основе TON, которая использует некоторые NFT. В моем коде в основном используется код из этого туториала и библиотеки ton/ton-core/ton-crypto:

    Мой код развертывания NFT:

    public async deploy( wallet: OpenedWallet, collectionAddress: Address, params: mintParams ): Promise<number> { const seqno = await wallet.contract.getSeqno(); await wallet.contract.sendTransfer({ seqno, secretKey: wallet.keyPair.secretKey, messages: [ internal({ value: "0.05", to: collectionAddress, body: this.createMintBody(params), }), ], sendMode: SendMode.IGNORE_ERRORS + SendMode.PAY_GAS_SEPARATELY, }); return seqno; }

    И после того, как я снова буду ждать:

    export async function waitSeqno(seqno: number, wallet: OpenedWallet): Promise<number> { for (let attempt = 0; attempt < 20; attempt++) { await sleep(2000); const seqnoAfter = await wallet.contract.getSeqno(); if (seqnoAfter == seqno + 1) { return Promise.resolve(seqno) } } return Promise.reject(`Seqno ${seqno} timeout`) } export function sleep(ms: number): Promise<void> { return new Promise((resolve) => setTimeout(resolve, ms)); }

    Затем я получаю подтверждение с помощью seqno, я запрашиваю адрес элемента NFT по индексу NFT:

    static async getAddressByIndex( collectionAddress: Address, itemIndex: number, tonCenterApiKey: string ): Promise<Address> { const client = new TonClient({ endpoint: "https://toncenter.com/api/v2/jsonRPC", apiKey: tonCenterApiKey, }); const response = await client.runMethod( collectionAddress, "get_nft_address_by_index", [{ type: "int", value: BigInt(itemIndex) }] ); return response.stack.readAddress(); }

    Весь процесс занимает до 30 секунд на 1 NFT. Мне интересно, есть ли лучший вариант для чеканки, например, 10 NFT, или лучший способ - чеканить один за другим и ждать подтверждения? В этом случае у меня есть некоторые опасения по поводу количества NFT, которых я могу достичь в течение 1 часа. Прямо сейчас я должен отчеканить все элементы последовательно, потому что для команды отчеканки требуется параметр индекса nft, и перед отчеканкой следующего элемента я должен получить подтверждение того, что предыдущий отчеканен правильно.

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

  • AnswersA

    Ошибка при передаче тонны при использовании флага 32 (DESTROY_ACCOUNT_IF_ZERO)?

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-bug a-javascript a-sendmode a-tonweb a-transfer
    0 Голоса
    1 Сообщения
    78 Просмотры
    AnswersA

    Я пытался повторно использовать кошелек, удаленный с помощью флага DESTROY_ACCOUNT_IF_ZERO (32). Способ, которым я осуществляю перевод:

    Представьте, что у нас есть 2 кошелька: A и B.

    Мы переводим N1 тонну из "A" в "B". Например, с помощью веб-кошелька, скрипта, не имеет значения. 2. B неинициализирован - его еще нет в блокчейне. Имея это в виду, мы хотели бы отправить все деньги из B обратно в A. Для этого мы собираемся использовать прилагаемый скрипт. 3. Теперь мы идем дальше и переносим N2 ТОННЫ из A в B ** снова **. Не имеет значения, сколько.

    Ожидаемое поведение: мы получаем транзакции: A->B (N1), B->A (все), A->B (N2); в конечном итоге в кошельке B содержится N2 тонн.

    Фактическое поведение: мы получаем транзакции A->B (N1), B->A (все), A->B (N2), B->A (все); в кошельке B в итоге 0 тонн.

    Сценарий для передачи B->A (all), который вызывает такое поведение:

    import TonWeb from 'tonweb'; import tonwebMnemonic from 'tonweb-mnemonic'; const apiKey = "" || undefined; // WALLET B const mnemonic = "..."; const walletVersion = "v4R2"; // WALLET A const toAddress = "..."; const SendMode = { CARRY_ALL_REMAINING_BALANCE: 128, CARRY_ALL_REMAINING_INCOMING_VALUE: 64, DESTROY_ACCOUNT_IF_ZERO: 32, PAY_GAS_SEPARATELY: 1, IGNORE_ERRORS: 2, NONE: 0 } const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); (async () => { const provider = new TonWeb.HttpProvider('https://toncenter.com/api/v2/jsonRPC', {apiKey}); const WalletClass = TonWeb.Wallets.all[walletVersion]; const mnemonicArray = mnemonic.split(" "); let { publicKey, secretKey } = await tonwebMnemonic.mnemonicToKeyPair(mnemonicArray); publicKey = Buffer.from(publicKey); secretKey = Buffer.from(secretKey); console.log(`PUBLIC KEY: ${publicKey.toString('hex')}`); const wallet = new WalletClass(provider, { publicKey }); const seqno = await wallet.methods.seqno().call() || 0; console.log(`SEQNO: ${seqno}`); await sleep(2000); const transferParams = { secretKey, toAddress, amount: 0, seqno, sendMode: SendMode.CARRY_ALL_REMAINING_BALANCE | SendMode.IGNORE_ERRORS | SendMode.DESTROY_ACCOUNT_IF_ZERO, payload: "test bug" }; console.log(JSON.stringify({...transferParams, secretKey: transferParams.secretKey.toString('hex')}, null, 2)); const response = await wallet.methods.transfer(transferParams).send(); console.log(`transfer sent to blockchain: ${JSON.stringify(response, null, 2)}`); })();

    Странная вещь: если вы отправите A->B (N) снова, он автоматически создаст новую передачу B->A (all) снова и снова. Иногда она останавливается на 2 повторениях, иногда на 4.

    Я использую недоступный адрес: UQAPqRlewultl8xHCKGsrenb4PZaQ0QDfPYoK1fwVUODdZRd.

    Я также попробовал отправить TON с кошелька "C (C->B). И деньги ДЕЙСТВИТЕЛЬНО остались на B`. НО как только я снова сделал перевод "A->B", все деньги, включая тонны, отправленные с "C", автоматически перешли на "A"!

    Пример проявления этой ошибки (это ошибка??) находится здесь:

    https://tonviewer.com/EQAySjlsHUY2EEedO5GTenzFvAnR5E-4ptwfeox6OZYnNvGF

    Это кошелек B. Скрипт отправил только первое сообщение с текстом "тестовая ошибка". Остальные сообщения отправлялись автоматически при любом входящем переводе с A.

    В этом взаимодействии:

    A is UQAPqRlewultl8xHCKGsrenb4PZaQ0QDfPYoK1fwVUODdZRd * B is EQAySjlsHUY2EEedO5GTenzFvAnR5E-4ptwfeox6OZYnNvGF * C is UQBwpXsIVrij8UQ2OpPK2EyeVBrlN6mnOkmThb3k6K-UHZyL

    Я хочу понять, почему это происходит. Это задумано разработчиками блокчейна TON? Это не ошибка? Как обойти это и повторно использовать удаленные кошельки?

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

  • AnswersA

    Тонна, застрявшая в SafePal, не будет отправлена TonKeeper

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
    0 Голоса
    1 Сообщения
    74 Просмотры
    AnswersA

    У меня в safepal застрял какой-то Ton, и когда я пытаюсь отправить его на свой кошелек tonkeeper, он просто показывает логотип spinning progress навсегда и никогда не меняется, и это происходит на всех моих устройствах. Я пытался импортировать кошелек, но он всегда показывает мне кошелек, который не принадлежит мне в сети ton, в то время как все остальные активы верны, что я могу сделать, чтобы вывести свой ton из safepal?

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

  • AnswersA

    отправляйте JETTONS через @tonconnect/ui или @tonconnect/sdk

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-jetton a-send a-tonconnect
    0 Голоса
    2 Сообщения
    327 Просмотры
    AnswersA

    https://docs.ton.org/develop/dapps/ton-connect/message-builders

    Перевод с комментарием - base64

  • AnswersA

    Мультисендер на TON - это какое-нибудь похожее приложение?

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
    0 Голоса
    5 Сообщения
    370 Просмотры
    AnswersA

    Попробуйте Oneclicksender https://www.oneclicksender.com/

  • AnswersA

    Как отправить транзакцию с возможностью возврата? ИЛИ транзакция израсходовала весь баланс отправителя!

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-bounce a-bounceable
    0 Голоса
    2 Сообщения
    259 Просмотры
    AnswersA

    TLDR: Для внешних сообщений на кошельки не устанавливайте флаг +16, вместо этого установите флаг +2.

    Значение флага +16: Если при обработке действия произошла ошибка, отсканируйте сообщение в дополнение к откату транзакции. Это бесполезно для внешних сообщений, поскольку нет отправителя, который мог бы получить отсканированное сообщение.

    Значение флага +2: Если при обработке действия произошла ошибка, не откатывайте транзакцию и игнорируйте ее. Это очень важно во внешних сообщениях для кошельков.

    Кошельки сначала проверяют подпись, и когда параметры верны, они ПРИНИМАЮТ сообщение, а затем пытаются обработать вводимые действия. Если какое-либо действие завершается неудачей и оно не игнорируется, транзакция будет отменена, но кошелек оплатит газ, поскольку он уже принял сообщение.

    Поэтому очень важно не допустить сбоя после того, как сообщение будет ПРИНЯТО. Вот почему вы должны установить флаг +2 во внешних сообщениях для кошельков.

  • Войти

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

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

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

  • Login or register to search.