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

  • reset theme
Collapse

tonpie.io

    • За всё время
    • За день
    • За неделю
    • За месяц
    • Все темы
    • Новые темы
    • Отслеживаемые темы
    • Неотвеченные темы
    • Все категории
    • All tags
    Загрузить новые сообщения
Авторизуйтесь, чтобы написать сообщение
  • AnswersA

    [Решено] Какой самый лучший обозреватель блоков для сети TON?

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-dev-tools a-explorer
    0 Голоса
    3 Сообщения
    77 Просмотры
    AnswersA

    В отличие от Ethereum, где https://etherscan.io является единственным доминирующим исследователем, TON - это более децентрализованная экосистема с разными исследователями, которые преуспевают в разных вещах. Полный список находится на сайте https://ton.app/explorers

    Несколько интересных из них:

    https://tonscan.org - Отлично подходит для простых вещей, отшлифованный пользовательский интерфейс. Отлично подходит для пользователей, в меньшей степени для разработчиков.

    https://tonwhales.com/explorer \ - Полезен для разработчиков, поскольку показывает гораздо больше низкоуровневой информации, если вам нужно отладить транзакции, которые завершились неудачей.

    https://dton.io \ - Также хорош для разработчиков, так как показывает данные низкого уровня. Имеет очень классную функцию отслеживания транзакций, которая показывает код операции TVM, выполняемый в каждой транзакции.

    Также отмечается, что у исследователей есть специальные версии для testnet. Как https://testnet.tonscan.org

  • AnswersA

    [Решено] Как вы жестко кодируете адрес в FunC?

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-func a-smart-contract a-tact
    0 Голоса
    3 Сообщения
    59 Просмотры
    AnswersA

    Адрес контракта - это хэш кода **stateInit**.

    Если вы меняете первоначальное хранилище контракта, вы меняете будущий адрес контракта. Однако адрес будущего контракта является детерминированным (известен до развертывания), поэтому вы можете передать адрес в хранилище как часть инициализации контракта.

    Например, приведенный ниже язык Tact показывает, как я могу создать код stateInit для получения адреса смарт-контракта:

    contract Example { any_int: Int; init() { self.any_int = 0; } receive("A") { let contractInit: StateInit = initOf TargetContract(self.any_int, 666); send(SendParameters{ to: contractAddress(contractInit), value: 0, mode: 0 + 64 + 128, bounce: false }); } } contract TargetContract { counter: Int; balance: Int; init(input_counter: Int, input_balance: Int){ self.counter = input_counter; self.balance = input_balance; } receive(){ // empty, means do nothing when receive empty body message. } }

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

  • AnswersA

    [Решено] Что означает статус кошелька "неактивный"?

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

    Спасибо вам за ваш ответ. Что я должен сделать, чтобы активировать свой кошелек?

  • AnswersA

    Существуют ли какие-либо кошельки iOS TON с открытым исходным кодом?

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-ios a-open-source a-wallet
    0 Голоса
    3 Сообщения
    52 Просмотры
    AnswersA

    Владелец склада: https://github.com/tonkeeper/wallet

  • AnswersA

    Что такое seqno?

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

    Отличный вопрос, "seqno" - это интересная концепция на TVM, которая станет изюминкой

    Который больше похож на номер транзакции кошелька, отправляющего Tx. Как "одноразовый номер" в EVM world.

    Для дополнительного примера, если вы хотите отправить Txs через SDK в блокчейн, используйте следующий код:

    // (=== more codes === ) // console.log("Interacting with Collection Contract: \n" + contract_address); let seqno: number = await wallet_address.getSeqno(); let transfer = await wallet_address.sendTransfer({ seqno: seqno, secretKey: keyPair.secretKey, messages: [ internal({ value: toNano("0.5"), to: contract_address, init: { code: init.code, data: init.data, }, bounce: true, body: packed, }), ], });

    Сначала вам нужно будет получить seqno для отправки с параметрами в транзакции.

  • AnswersA

    Что такое регулярное выражение для проверки адресов TON?

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

    а для dns?)

  • AnswersA

    [решено] Можете ли вы объяснить назначение функции "recv_internal" в FunC? И какая связь между FunC и Fift?

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-fift a-func a-sdk a-smart-contract
    0 Голоса
    3 Сообщения
    80 Просмотры
    AnswersA

    Решено

    Если коротко, то да. ** Смарт-контракты записываются в FunC, затем компилируются в Fift и развертываются на блокчейне.** Позже с ними можно взаимодействовать с помощью либо Fift, либо SDK-оболочки.

    С другой стороны, при вызове recv_internal в стеке всегда есть 4 аргумента.

    Объявляя recv_internal с менее чем 4 аргументами, вы заставляете FunC игнорировать большинство глубоких переменных (они все равно будут там, но ваш код не будет знать об этом на протяжении всего выполнения TVM).

    вот пример для recv_internal в последнем [учебном пособии](https://ton - community.github.io/tutorials/02-contract /) построен сообществом:

    () recv_internal(int msg_value, cell in_msg, slice in_msg_body) impure { ;; well known function signature if (in_msg_body.slice_empty?()) { ;; check if incoming message is empty (with no body) return (); ;; return successfully and accept an empty message } int op = in_msg_body~load_uint(32); ;; parse the operation type encoded in the beginning of msg body var (counter) = load_data(); ;; call our read utility function to load values from storage if (op == 1) { ;; handle op #1 = increment save_data(counter + 1); ;; call our write utility function to persist values to storage } }

    Вы можете узнать больше здесь: https://ton.org/docs/learn/tvm-instructions/tvm-обзор#инициализацияtvm

    Для более глубокого понимания вы можете проверить Ch4.4 в техническом документе https://ton.org/tblkch.pdf

  • AnswersA

    [Решено] Что такое функция recv_internal и для чего нужны ее аргументы?

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

    каждое из следующих объявлений recv_internal является правильным, но те, у которых меньше переменных, будут расходовать немного меньше газа (каждый неиспользуемый аргумент добавляет дополнительные инструкции по удалению).

    () recv_internal(int balance, int msg_value, cell in_msg_cell, slice in_msg) {} () recv_internal(int msg_value, cell in_msg_cell, slice in_msg) {} () recv_internal(cell in_msg_cell, slice in_msg) {} () recv_internal(slice in_msg) {}

    Вы должны проанализировать in_msg_body, чтобы получить код операции, основанный на том, как отправитель сохранил код операции в сообщении.

    Обычно он хранится как первый 32-битный внутри in_msg_body.

  • AnswersA

    Я слышал о "Десяти уроках" для изучения FunC, где я могу их найти?

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

    Я не слышал о 10 видеоуроках, но я знаю о репозитории десяти уроков GitHub для FunC. С тех пор они выросли до 19 уроков.

  • AnswersA

    Есть ли где-нибудь руководство по созданию NFT на TON?

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-nft a-smart-contract a-tutorial
    0 Голоса
    3 Сообщения
    94 Просмотры
    AnswersA

    Привет, так что, если вам нравится, я настоятельно рекомендую вам использовать репозиторий NFT здесь, который использует язык Tact для NFT!

    Это более легко усваивается Существует так же просто, как просто извлечь репозиторий и запустить yarn, чтобы установить библиотеку и развернуть контракт.

    https://github.com/howardpen9/nft-standard-template, наслаждайтесь!

  • AnswersA

    [Решено] Как хранить строки длиной более 1023 бит в ячейках TON?

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

    Решено

    Это правильно; вам нужно использовать кодировку данных Snake, если вы хотите сохранить более 1023 бит в смарт-контракте (TVM).

    У вас нет другого выбора.

    Короткий ответ заключается в том, чтобы использовать метод, предоставленный Arter, проверив пример кода кодировки snake здесь: Пример кода кодировки Snake

    Кроме того, для более полного понимания того, как включить этот процесс в свою работу, вы можете обратиться к следующей документации: Ссылка на кодирование данных Snake

  • AnswersA

    [Решено] Является ли более экономичным использование Fift вместо FunC?

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-fees a-fift a-func
    0 Голоса
    3 Сообщения
    66 Просмотры
    AnswersA

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

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

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

  • AnswersA

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

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

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

  • AnswersA

    Существуют ли в TON платежные сервисы на основе подписки?

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

    Привет, это отличный вопрос! Да, RocketBot - фантастический вариант. С другой стороны, вы также можете опробовать подключаемый модуль кошелька с подписками.

    Следуйте функциональному коду здесь: https://github.com/ton-blockchain/wallet-контракт/blob/main/func/simple-подписка-plugin.fc

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

  • AnswersA

    [Решено] Как использовать storage provider?

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-storage a-storage-daemon a-storage-daemon-cli a-storage-provider
    0 Голоса
    3 Сообщения
    65 Просмотры
    AnswersA

    EQCfQ0jtpebRP69fDrgnQ83Ph4wncGCXc9NcoY_mlfHyvxU-

  • AnswersA

    [Решено] Может ли функция `run_ticktock` работать в базовой цепочке?

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

    Решено

    Функция run_ticktock ** работает только в masterchain** и применима исключительно к смарт-контрактам, адреса которых указаны в соответствующем параметре конфигурации.

    Следовательно, такие смарт-контракты не могут работать в базовой цепи.

    https://docs.ton.org/develop/howto/config-params#:~:text=The configuration parameters are certain,current masterchain state when needed. * https://docs.ton.org/develop/func/functions#function-name
  • AnswersA

    [Решено] Как сделать новый адрес в TON активным?

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

    Когда вы создаете смарт-контракт на TON (например, кошелек), его адрес предварительно вычисляется еще до развертывания. Вы можете начать отправлять на него деньги и сообщения, и если отправленные сообщения не подлежат возврату, баланс учетной записи в сети будет увеличен. В этом случае вы увидите, что учетная запись по-прежнему неинициализирована и не активирована, но у нее положительный баланс TON.

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

  • AnswersA

    Как фонд TON получает доход?

    Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском a-business-model a-earnings a-profit a-ton-foundation a-toncoin
    0 Голоса
    3 Сообщения
    45 Просмотры
    AnswersA

    Это очень полезно, Говард! На случай, если кто-то спросит, хотя это был pow, члены фонда TON, скорее всего, могут быть майнерами, которые пришли пораньше, так что именно поэтому я задал этот вопрос в первую очередь.

  • AnswersA

    [Решено] Побитовая операция работает не так, как ожидалось

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

    Спасибо!

  • AnswersA

    Существуют ли примеры set_code()?

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

    The Elector smart contract: https://github.com/ton-blockchain/ton/blob/040df63c9864f2f37ebe50c4cafcc01f2d5d2d5c/crypto/smartcont/elector-code.fc#L431-L457

    hTON liquid staking protocol (disclosure: I'm the author): https://github.com/HipoFinance/contract/blob/612e27fef6b641edfcc562ac9561c565ada8603d/contracts/treasury.fc#L1799-L1842

  • Войти

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

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

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

  • Login or register to search.