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

    Проще говоря,:

    Все блокчейны, включая TON, группируют новые транзакции в "блок", прежде чем они будут добавлены в цепочечную структуру, состоящую из всех предыдущих блоков (отсюда и слово "блокчейн"). И создание нового блока всегда занимает некоторое заметное время из-за ряда факторов.

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

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

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

    "Что меняется" — ну, их много. Разные языки программирования, разная архитектура, которая приводит к разным подходам, и так далее. Так что будьте готовы многому научиться заново.

    Есть статья, специально предназначенная для разработчиков Solidity, вероятно, стоит начать с этого: https://blog.ton.org/six-unique-aspects-из-тонны-блокчейна-который-удивит-разработчиковсолидности

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

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

    Хранилище TON не предназначено для размещения всех видов веб-сайтов, но оно может размещать статический контент. Существуют ли какие-либо реальные примеры статических сайтов TON, использующих хранилище TON?

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

    click to show

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

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

    Могу ли я собирать информацию обо всех входящих внешних сообщениях, которые получает конкретный смарт-контракт? Все, что проходит через его recv_external().

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

    click to show

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

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

    Существует множество API, которые позволяют вам получать информацию о кошельках TON, NFT и так далее. Но существует ли известный API с методами, которые предоставляют информацию о выборах валидатора?

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

    click to show

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

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

    В JS-библиотеке ton-crypto есть функция mnemonicNew, я думаю, это то, что вы ищете: https://github.com/tonwhales/ton-crypto

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

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

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

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

    click to show

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

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

    В настоящее время блокчейн TON состоит только из одной рабочей цепочки и мастер-цепочки. Весь код смарт-контрактов в masterchain и базовой рабочей цепочке выполняется TVM (виртуальной машиной Ton). Но TON предоставляет возможность создавать больше рабочих цепочек в будущем. И в техническом документе Николая Дурова упоминается, что эти гипотетические будущие рабочие цепочки могли бы использовать разные виртуальные машины:

    Разные рабочие цепочки могут иметь разные правила, что означает разные форматы адресов учетных записей, разные форматы транзакций, разные виртуальные машины (ВМ) для смарт-контрактов, разные базовые криптовалюты и так далее.

    Итак, я пытаюсь понять: обязательно ли эти "разные виртуальные машины" должны быть похожи на TVM, или они могут быть очень разными, как EVM? Мог бы кто-нибудь гипотетически создать рабочую цепочку TON, где код выполнялся бы EVM вместо TVM, так что код, написанный для EVM, можно было бы повторно использовать в TON?

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

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

    Я использую Visual Studio Code с расширением "FunC Language Support" от Whales Corp. Эта настройка удобна и часто помогает при автозавершении в FunC. Но по какой-то причине, когда я набираю load_uint() или store_uint(), автозаполнение предлагает всевозможные варианты от load_coins до load_ref, но не тот, который мне нужен, хотя это популярная функция.

    Это не конец света, я могу напечатать все это вручную, но мне это кажется очень странным. Может быть, я чего-то не понимаю и поддержку load_uint() можно как-то включить?

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

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

    В мире NFT обычно в цепочке хранится только ссылка на изображение, а сам файл изображения хранится где-то в другом месте. Возможно, это может привести к проблеме "гниения ссылок", когда файл удаляется, оставляя владельца NFT практически ни с чем.

    И это приводит к вопросу: если вы хотите создать TON NFT в 2023 году, есть ли для вас предпочтительный способ хранения изображений? Насколько я понимаю, варианты таковы:

    Есть платный хостинг, но он работает только до тех пор, пока за него платят * Есть сервисы хостинга изображений, такие как Imgur, но они кажутся мне недостаточно надежными * Есть GitHub, который кажется несколько надежным, но хостинг изображений не является его основной целью * Есть хранилище TON, но Я слышал, что это не поддерживается (пока?) популярной торговой площадкой Getgems * Есть IPFS, но это экзотика * Можно просто использовать NFTS с помощью инструмента GetGems и думать "хостинг - это не моя проблема", но это также зависимость от внешнего сервиса * Я слышал, что изображения могут быть даже хранятся по цепочке, но это разумно только для самых маленьких

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

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

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

    Решено

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

    Я должен также отметить, что можно сгенерировать закрытый ключ без использования мнемонической фразы. Обычно используемые кошельки обычно не предоставляют такую функциональность (потому что вы не сможете создать резервную копию своего кошелька, написав где-нибудь эту фразу), но теоретически это возможно. Это позволит снизить вероятность столкновения (из 1 в ≈ 20482⁴ 3⋅10⁷⁹ как вы правильно сказали, с 1 в ≈ 2⁵12 101⁵⁴), но не полностью ликвидировать ее. Поскольку кошельки генерируются независимо, реального способа предотвратить столкновение в теоретическом смысле не существует.

    Вам также может быть интересен инструмент под названием "vaniton". По сути, он реализует метод грубой силы, но вместо того, чтобы пытаться найти точные ключи (что неосуществимо), он просто выполняет поиск мнемонических фраз, которые будут выдавать адреса, подходящие для поиска (т.е. содержащие, например, некоторые предопределенные подстроки).

    Теперь перейдем к вашим вопросам:

    Чисто гипотетически – да, столкновения возможны. 2. Оценить точную скорость сложно, потому что это действительно зависит от аппаратного обеспечения. На моем компьютере бенчмарк vaniton показал скорость 13,7 адресов в секунду. Добавление большего количества серверов пропорционально увеличило бы скорость атаки методом перебора. Опять же, если мы говорим чисто теоретически, то нет ограничений на потенциальную скорость атаки (но на самом деле даже использование всех доступных на Земле вычислительных мощностей не сильно поможет). 3. Да, это верно.

    Я хотел бы еще раз подчеркнуть: хотя все эти утверждения верны в теории, перебрать 3 из 10 фраз в любом практическом смысле невозможно (независимо от того, сколько серверов вы используете). Например, если бы у вас был доступ к 1 миллиарду серверов, каждому из них все равно нужно было бы проверить примерно 3⋅10⁷⁰ фраз, что по-прежнему является астрономически огромным числом. Даже если предположить, что скорость составляет 3 миллиона фраз в секунду (на каждом сервере), это займет 10⁶⁴ секунд или около 3⋅10⁵⁶ лет (это 56-значное число). Для сравнения, текущий возраст Вселенной составляет "всего" 1,37⋅10⁹ лет.

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

    TON API предоставляет доступ REST API к блокчейну TON. Некоторые из его методов требуют заполнения переменной {account-id}. Что я должен туда поместить, какой формат значений он принимает?

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

    click to show

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

  • Как отследить сразу много TON NFT?

    TON Overflow на русском
    0 Голоса
    1 Сообщения
    6 Просмотры

    Я хотел бы отслеживать все изменения, касающиеся анонимных номеров Telegram. Они существуют как NFT, поэтому любая транзакция, такая как смена владельца, хранится в блокчейне TON, и эта информация доступна любому. Но таких NFT насчитывается 136 000, поэтому трудно отследить их все для хобби-проекта, слишком много данных. Может быть, есть какие-нибудь агрегаторы, которые позволяют вам подписаться на изменения во всей коллекции?

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

    click to show

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

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

    Seqno предназначен для увеличения при выполнении транзакций. Но всегда ли это меняется с каждой транзакцией, или возможно, что какой-то смарт-контракт участвует в разных транзакциях, сохраняя при этом одно и то же значение seqno?

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

    click to show

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

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

    Может ли коллекция NFT на TON состоять из миллиона предметов или это слишком много? Существует ли ограничение по размеру и насколько оно велико?

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

    click to show

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

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

    Адрес является производным от начального состояния (начальный код + начальное хранилище) контракта. Таким образом, изменение кода с помощью set_code() не должно иметь никакого эффекта на адрес, поскольку измененный код не будет "начальным".

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

    Я не слышал о таком инструменте, но мне кажется, что для разработчика создать его должно быть легко. Библиотеки, подобные "ton-core", позволяют любому программно получить адрес для любой конкретной комбинации ключей и кошелька, для этого им даже не требуется Интернет. Таким образом, программа, которая запрашивает ключ и распечатывает адреса всех контрактов кошелька с этим ключом, будет состоять всего из десятков строк кода.

    В этом руководстве содержится информация, необходимая для его написания: https://ton-community.github.io/tutorials/01-wallet/

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

    У меня есть вопрос, который может показаться глупым. Если я все правильно понимаю, отклоненные транзакции не увеличивают "seqno` кошелька отправителя. Может ли это привести к ситуации, когда я пытаюсь программно отправить больше значения, чем у меня есть, и поскольку значение seqno не увеличивается, а задача кажется незавершенной, сеть продолжает пытаться обработать ее, и я плачу сборы снова и снова? Сколько раз пользователь может заплатить комиссию в этом случае? Что можно сделать, чтобы остановить обработку сетью транзакции?

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

    click to show

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

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

    Хороший способ учиться в процессе разработки - это изучать код, написанный другими людьми. Существуют смарт-контракты с открытым исходным кодом, написанные на FunC, которые люди могут использовать в учебных целях. Но существуют ли проекты с открытым исходным кодом, написанные на Tact, или язык слишком новый для этого?

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

    click to show

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