TON Overflow на русском

552 Темы 1.0k Сообщения

Русское зеркало answers.ton.org

  • [Решено] Как вы отправляете джеттоны программно?

    0 Голоса
    2 Сообщения
    180 Просмотры

    Решено

    Следующее взято из тестового файла в tonweb. Вот все досье целиком. https://github.com/toncenter/tonweb/blob/master/src/test-jetton.js

    Этого должно быть достаточно для ваших нужд!

    const transfer = async () => { const seqno = (await wallet.methods.seqno().call()) || 0; console.log({seqno}) console.log( await wallet.methods.transfer({ secretKey: keyPair.secretKey, toAddress: JETTON_WALLET_ADDRESS, amount: TonWeb.utils.toNano('0.05'), seqno: seqno, payload: await jettonWallet.createTransferBody({ jettonAmount: TonWeb.utils.toNano('500'), toAddress: new TonWeb.utils.Address(WALLET2_ADDRESS), forwardAmount: TonWeb.utils.toNano('0.01'), forwardPayload: new TextEncoder().encode('gift'), responseAddress: walletAddress }), sendMode: 3, }).send() ); }
  • [Решено] Можно ли удалить NFT?

    0 Голоса
    2 Сообщения
    158 Просмотры

    Решено

    Это действительно зависит от кода смарт-контракта. Однако стандарт для NFT (TEP-62) не предусматривает удаления.

    https://github.com/ton-blockchain/TEPs/blob/master/text/0062-nft-standard.md

    Вы всегда можете просто перенести его на нулевой адрес или, если это не сработает, на какой-нибудь другой случайный адрес.

  • 0 Голоса
    2 Сообщения
    15 Просмотры

    Решено

    Вероятно, не с помощью CLI, но вы можете отлаживать непосредственно в скрипте, используя dump_stack:

    () dump_stack() impure asm "DUMPSTK";

    https://ton.org/docs/develop/func/stdlib/#debug-primitives

  • 0 Голоса
    2 Сообщения
    14 Просмотры

    Попробуйте установить через GitHub вместо pip:

    https://github.com/disintar/toncli

  • 0 Голоса
    2 Сообщения
    5 Просмотры

    Решено

    Две проблемы:

    Вы должны прочитать адрес из фрагмента через load_msg_addr, а не load_bits 2. Сохраняйте адрес в builder через Addr, а не addr

    addr - это псевдоним для 256uint. Между тем, полная сериализация адресов с помощью Addr также включает тег формата адреса, рабочую цепочку, 256-битную часть и некоторые дополнительные поля.

  • [Решено] Где я могу найти функциональный код кошелька v3r1 и v3r2?

    0 Голоса
    2 Сообщения
    16 Просмотры

    Решено

    Вы можете найти их в следующем репозитории GitHub, но они были написаны на Fift:

    https://github.com/ton-blockchain/ton/tree/master/crypto/smartcont

  • 0 Голоса
    2 Сообщения
    26 Просмотры

    Решено

    Любой узел в сети TON имеет свой собственный ADNL-адрес. Это похоже на IP-адреса в Интернете; они являются открытыми ключами для использования сетью. Это больше похоже на личную информацию.

    Вы можете прочитать больше здесь:

    https://ton.org/docs/learn/networking/adnl#:~:text=An ADNL Address is essentially,intended for the recipient address

  • [Решено] Как мне сохранить строку в FunC?

    0 Голоса
    3 Сообщения
    11 Просмотры

    Вы также можете хранить более длинные строки, создав связанный список ячеек, смотрите пример здесь - [SnakeCell](https://github.com/getgems-io/nft - контракты/blob/main/пакеты/nft-контент/nftContent.ts)

  • 0 Голоса
    2 Сообщения
    11 Просмотры

    Решено

    Вы ищете функцию dump_stack().

    https://ton.org/docs/develop/func/stdlib/#dump_stack

    Он выводит последние 255 значений в стеке и показывает общую глубину стека.

    () dump_stack() impure asm "DUMPSTK";

    Также есть встроенные модули ~dump и ~strdump.

    https://ton.org/docs/develop/func/builtins#dump-variable

  • [Решено] В транзакциях, что такое "compute_gas_fees" и "other_fee"?

    0 Голоса
    2 Сообщения
    14 Просмотры

    Решено

    compute_gas_fees и `other_fee" - это сборы, взимаемые сетью TON за обработку транзакций по смарт-контрактам.

    "compute_gas_fees" - это плата, взимаемая за вычисления, необходимые для выполнения кода смарт-контракта. Это включает в себя затраты на обработку инструкций, чтение и запись данных в блокчейн и проверку транзакций. Сумма взимаемой платы compute_gas_fees зависит от сложности кода смарт-контракта и объема ресурсов, необходимых для его выполнения.

    other_fee - это общая плата, которая включает в себя другие расходы, связанные с обработкой транзакций, такие как стоимость хранения данных в блокчейне или стоимость полосы пропускания, используемой сетью.

    К сожалению, нет никакого способа снизить эти сборы напрямую. Однако есть несколько способов оптимизировать код вашего смарт-контракта, чтобы уменьшить количество взимаемых "compute_gas_fees". Это включает в себя оптимизацию алгоритмов, сокращение ненужных вычислений и минимизацию объема данных, хранящихся в блокчейне.

    Кроме того, можно договориться о сборах с валидаторами или использовать альтернативные сети с более низкими сборами, но это требует дополнительных исследований и может сопровождаться другими компромиссами.

    Более подробную информацию о сборах вы можете получить здесь: https://ton.org/docs/develop/smart-contracts/fees#basic-fees-formula

  • 0 Голоса
    2 Сообщения
    16 Просмотры

    Решено

    Из-за этой конкретной проблемы кажется, что на вашем устройстве не установлена конкретная технология под названием OpenSSL. Если у вас есть [домашнее пиво](https://brew.sh /) установлен, вы можете установить его с помощью следующего:

    brew install openssl
  • 0 Голоса
    2 Сообщения
    3 Просмотры

    Для этого существует "стандарт", и код ошибки - "0xffff". Он также используется в официальном смарт-контракте: https://github.com/ton-blockchain/token-contract/blob/main/nft/nft-collection.fc#L132

  • 0 Голоса
    2 Сообщения
    19 Просмотры

    Решено

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

    Сеть TON естественным образом обеспечивает сегментирование на основе идентификатора цепочки ** с большим количеством рабочих цепочек, доступных для использования **, как описано в параметрах, которые запускают валидаторы. Вы можете перейти по следующей ссылке для получения более подробной информации: https://ton.org/docs/learn/overviews/addresses#workchain-id-идентификаторучетнойзаписи

    Однако текущая максимальная пропускная способность системы ограничена существующей инфраструктурой и количеством валидаторов в сети. По состоянию на дату отключения информации в сентябре 2021 года блокчейн TON, как сообщается, был способен обрабатывать до 15 000 транзакций в секунду (TPS) с целевым временем подтверждения 5 секунд.

    Важно отметить, что "это число, возможно, изменилось с тех пор и может варьироваться в зависимости от условий сети и других факторов". Более того, блокчейн TON постоянно оптимизируется и совершенствуется, поэтому вполне возможно, что максимальная пропускная способность может увеличиться в будущем, поскольку сеть продолжает расти и эволюционировать.

    Параметры конфигурации сети приведены в деталях: https://ton.org/docs/develop/howto/network-configs

  • 0 Голоса
    2 Сообщения
    14 Просмотры

    К сожалению, http-api TON не позволяет вам указывать блок при использовании getAddressBalance.

    https://toncenter.com/api/v2/#/accounts/get_address_balance_getAddressBalance_get

    Я полагаю, что один из способов, которым вы могли бы это сделать, - это восстановить баланс с течением времени. Получайте все транзакции до тех пор, пока блок, на который вы смотрите, не будет превышен:

    https://toncenter.com/api/v2/#/accounts/get_transactions_getTransactions_get

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

  • 0 Голоса
    1 Сообщения
    2 Просмотры

    Я бы хотел поместить адрес и хэш-таблицу в регистр c4. Могу ли я поместить их оба отдельно или мне нужно поместить адрес в хэш-таблицу?

    Этот вопрос был импортирован из чата Telegram: <***Скрыто***

    click to show

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

  • Где узнать больше о выбросах?

    0 Голоса
    1 Сообщения
    8 Просмотры

    Я хотел бы узнать больше об эмиссии на блокчейне TON. Где я могу прочитать об этом? Или, может быть, вместо чтения мне следует использовать проводник, чтобы проверить некоторые специальные адреса контрактов и посмотреть, как это происходит? Или почитать какие-нибудь исходные коды?

    Этот вопрос был импортирован из чата Telegram: <***Скрыто***

    click to show

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

  • В Fift, как работает слово "word"?

    0 Голоса
    1 Сообщения
    10 Просмотры

    Функции в Fift называются "словами", и для них есть специальное слово "word". Технический документ (https://ton.org/docs/fiftbase.pdf) объясняет это таким образом:

    « word (x – S) , анализирует слово , разделенное символом с кодовой точкой Unicode x , из оставшейся части текущей строки ввода и выдает результат в виде строки. Например, bl word abracadabra type выведет строку “abracadabra”. Если x = 0 , пропускает начальные пробелы, а затем сканирует до конца текущей строки ввода. Если x = 32 , пропускает начальные пробелы перед разбором следующего слова».

    Но я не совсем понимаю, как работает "x", не могли бы вы объяснить это другими словами? Я вижу, что некоторые люди используют команды типа "124 слова", что это означает? Если я хочу использовать \n в качестве разделителя слов, что мне следует использовать?

    Этот вопрос был импортирован из чата Telegram: <***Скрыто***

    click to show

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

  • Как долго может длиться задержка между двумя блоками в TON?

    0 Голоса
    1 Сообщения
    7 Просмотры

    Обычно новые блоки в блокчейне TON формируются каждые новые секунды, так что нет причин беспокоиться о слишком долгом ожидании. Но я слышал, что при некоторых обстоятельствах задержки могут превышать минуту. Неужели это происходит на самом деле? К какой самой длительной задержке разумно быть готовым при разработке на TON?

    Этот вопрос был импортирован из чата Telegram: <***Скрыто***

    click to show

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

  • Почему мастер-цепочка дороже базовой?

    0 Голоса
    1 Сообщения
    5 Просмотры

    С технической точки зрения, masterchain и basechain во многом похожи. Почему использование masterchain обходится намного дороже газа?

    Этот вопрос был импортирован из чата Telegram: <***Скрыто***

    click to show

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

  • 0 Голоса
    3 Сообщения
    27 Просмотры

    Да, можно написать свой код непосредственно в Fift, чтобы сделать его более экономичным с точки зрения потребления газа. Причина в том, что Fift является языком более низкого уровня, чем FunC, что означает, что он обеспечивает более детальный контроль над кодом и позволяет более эффективно программировать.

    Однако написание кода непосредственно в Fift требует большего опыта и усилий, поскольку Fift является языком, основанным на стеке, и имеет более крутую кривую обучения, чем FunC. Таким образом, возможно, не стоит тратить усилия на простые или небольшие контракты.

    Таким образом, написание кода непосредственно в Fift может привести к созданию более эффективных и рентабельных контрактов, но это требует большего опыта и усилий.