• Последние
  • 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

    [Решено] Есть ли какая-либо документация конкретно по Fift и ассемблеру Fift?

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

    Решено

    У Fift есть некоторая документация на официальном сайте:

    https://ton.org/docs/develop/fift-and-tvm-assembly * https://ton.org/docs/develop/fift-deep-dive
  • AnswersA

    Существуют ли какие-либо функциональные библиотеки, которые реализуют стандарты TON (TIPs), аналогичные OpenZeppelin?

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

    Стандартные токеновые контракты можно найти в основном профиле блокчейна TON на GitHub. Как правило, вы можете искать смарт-контракты FunC в профилях TON blockchain и TON foundation.

    Есть также некоторые фрагменты, которые предоставляют пользователи, такие как фрагменты функций предоставлено TonoxDeFi на GitHub.

  • AnswersA

    В FunC существует ли эквивалент отображения Solidity?

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

    Dicts можно использовать для хранения сопоставления ключей со значениями. Однако в TON рекомендуется избегать хранения неограниченных dicts. Это диктанты, которые динамически растут с течением времени. Вариант использования, который вы описали, является динамическим. Причина, по которой этого следует избегать, заключается в том, что ваше хранилище растет, и по мере его роста вам приходится платить все больше и больше, чтобы сохранить его в блокчейне.

    Чтобы сохранить динамический список, вы должны разбить его на более мелкие части. Это называется сегментированием, и вы можете найти больше информации о том, как это сделать, в этой замечательной статье:

    https://blog.ton.org/how-to-shard-your-ton-smart-contract-and-why-studying-анатомия-тонн-джеттонов

    Кортежи

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

    (1, (2, (3, null())))

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

  • AnswersA

    [Решено] Что произойдет, если мы проверим исходный код в проводнике, но код контракта будет обновлен с помощью инструкции set_code()?

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

    Решено

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

    Однако, если байт-код контракта будет обновлен с помощью инструкции set_code(), хэш кода изменится. Это означает, что проверенный исходный код больше не будет связан с контрактом и исчезнет из проводника.

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

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

  • AnswersA

    [Решено] От чего зависит цена реактивного самолета?

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

    Решено

    При добавлении в протокол пула ликвидности jetton определяется спросом и предложением. Если вы ищете способ продать jetton по единой фиксированной цене, то вам, скорее всего, нужен смарт-контракт ICO:

    https://github.com/ton-blockchain/token-contract/blob/main/ft/jetton-minter-ICO.fc#L56

    Где сумма в тоннах, отправленная с транзакцией, умножается на некоторое значение jetton для отправки отправителю.

    int jetton_amount = buy_amount; ;; rate 1 jetton = 1 toncoin; multiply to price here ;; additional code mint_tokens(sender_address, jetton_wallet_code, amount, master_msg);
  • AnswersA

    Как мне проверить блок, в котором находится транзакция?

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

    Конечная точка в http-api, которую вы ищете, скорее всего, /tryLocateTx:

    https://toncenter.com/api/v2/#/transactions/get_try_locate_tx_tryLocateTx_get

  • AnswersA

    Есть ли способ запустить lightserver от TON для тестирования смарт-контрактов?

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

    Если вы имеете в виду запуск своего собственного узла, то существует несколько вариантов API:

    https://toncenter.com/api/v2/

    https://github.com/ton-foundation/ton-api-v4

    https://tonapi.io/swagger-ui

    Если вы имеете в виду что-то вроде ганаша для TON, то есть исполнитель контракта TON:

    https://github.com/ton-community/ton-contract-executor

  • AnswersA

    Как вы обновляете файлы tlo с помощью update-tlo.sh файл? Он не может найти утилиту tl-parser.

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

    Утилиту tl-parser можно найти здесь:

    https://github.com/vysheng/tl-parser

    Вам придется скомпилировать и установить его, но после этого скрипт bash должен сработать.

  • AnswersA

    Где я могу прочитать о расширении TON Wallet?

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

    Следующее скопировано из новостей Tonkeeper, которые имеют отношение к рассматриваемому вопросу:

    Сквозная безопасность с помощью TON Connect

    Блокчейны напрямую позволяют людям контролировать свои финансовые активы с помощью так называемого “не связанного с хранением” или “не размещенного” кошелька: приложения, которое надежно хранит криптографический ключ на вашем устройстве. Этот ключ используется для авторизации переводов монет и токенов, защищая вашу учетную запись от неожиданных или мошеннических платежей. Ваша учетная запись существует исключительно на блокчейне, и к ней можно получить доступ по открытым протоколам, используя любой кошелек, точно так же, как вы можете выходить в Интернет с помощью любого совместимого приложения для браузера.

    В мессенджерах существует концепция “сквозного шифрования”, которая работает благодаря личному контролю над криптографическими ключами. Мы в Tonkeeper хотим распространить эту идею на “сквозную безопасность” и внедрить ее во многие другие приложения экосистемы TON. Мы хотим, чтобы большинство сервисов работали без тюремного заключения, например getgems.io , где пользователям никогда не придется слепо доверять сервису для корректного выполнения операций от их имени.

    ** Вот как это работает**

    Сначала вы входите в сервис со своим кошельком. Больше никаких электронных писем, паролей, ввода кодов двухфакторной аутентификации, решения капч и других неприятностей. Вы регистрируетесь и входите в систему одним щелчком мыши.

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

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

    Чтобы достичь этого, мы работаем над набором открытых стандартов, которые предложим сообществу TON, и сегодня мы объявляем о запуске экспериментальной поддержки первого протокола из этого набора: TON Connect.

    Представляем TON Connect

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

    Есть два способа войти в систему:

    На мобильном устройстве: Нажмите кнопку “Войти с помощью TON”. 2. На рабочем столе: Отсканируйте QR-код с помощью Tonkeeper.

    В обоих случаях Tonkeeper покажет вам панель подтверждения, нажмите “Войти”, и вы в игре!

    TON Connect поддерживается в Tonkeeper 2.2 на iOS и Android.

    Преимущества TON Connect

    Это самый простой способ создать учетную запись и войти в систему: всего один клик в приложении, и через секунду вы прошли аутентификацию.

    Безопасность: Ваши личные данные не передаются сервису, и нет никаких паролей, которые можно было бы скомпрометировать. Сервисам часто не нужно утруждать себя двухфакторной аутентификацией: ваш кошелек уже является двухфакторным устройством с вашим физическим доступом к нему и защитой PIN-кода.

    Конфиденциальность: Tonkeeper генерирует уникальный идентификатор для каждой службы, чтобы минимизировать риски межсайтового отслеживания. Пользователи вольны выбирать, какими данными делиться. Например, адрес вашего кошелька по умолчанию не отображается.

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

    Начало работы

    Мы приглашаем вас ознакомиться со спецификацией и JS SDK на нашем Github: https://github.com/tonkeeper/ton-connect

    Направления на будущее

    Мы будем постепенно развивать TON Connect, внедряя дополнительные функции в следующих выпусках Tonkeeper. Одним из них будет подтверждение владения кошельком TON, которое будет полезно, когда вы захотите доказать право собственности на блокчейн-элемент. Еще одной важной функцией станет поддержка push-уведомлений, позволяющих беспрепятственно подтверждать транзакции.

  • AnswersA

    В чем разница между адресами, которые начинаются с EQ, и теми, которые начинаются с UQ?

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

    Адреса, начинающиеся с EQ, являются адресами с возможностью возврата, а те, которые начинаются с UQ, не являются адресами с возможностью возврата. Это всего лишь подсказка программному обеспечению кошелька о том, хотите ли вы, чтобы отправленное сообщение могло отскочить или нет.

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

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

    Сегодня большинство кошельков обрабатывают это автоматически, и вы можете забыть о различиях.

  • AnswersA

    [Решено] Теряют ли со временем свою ценность кошельки без транзакций?

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

    Решено

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

  • AnswersA

    Возможно ли создать пирамидальную схему роялти NFT на TON?

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

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

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

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

  • AnswersA

    [Решено] Как объединить строки в FunC?

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

    Решено

    Тип string в FunC представлен slice , поэтому вам нужно создать новую ячейку и поместить в нее подстроки:

    slice charA = "A"; ;; char A slice charB = "B"; ;; char b ;; create cell with "ABBA" string in it cell cellABBA = begin_cell() .store_slice(charA) .store_slice(charB) .store_slice(charB) .store_slice(charA) .end_cell(); ;; convert cell to slice (or simply use the cell itself) slice stringABBA = cellABBA.begin_parse(); ~strdump(stringABBA); ;; #DEBUG#: ABBA
  • AnswersA

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

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

    Решено

    В этом посте есть JS-код, который это делает, а также объяснения, как все это работает: https://ton-community.github.io/tutorials/01-wallet/

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

    import { mnemonicToWalletKey } from "ton-crypto"; import { WalletContractV4 } from "ton"; async function main() { // open wallet v4 (notice the correct wallet version here) const mnemonic = "unfold sugar water ..."; // your 24 secret words (replace ... with the rest of the words) const key = await mnemonicToWalletKey(mnemonic.split(" ")); const wallet = WalletContractV4.create({ publicKey: key.publicKey, workchain: 0 }); // print wallet address console.log(wallet.address.toString({ testOnly: true })); } main();
  • AnswersA

    Как получить курс конвертации тонны в фиатную валюту?

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

    Вы можете использовать pancakeswap API для получения цены монеты в долларах США и конвертации ее в вашем приложении

    Простой пример

    const PANCAKESWAP_TONCOIN_ID = '0x76a797a59ba2c17726896976b7b3747bfd1d220f' const PANCAKESWAP_URL = 'https://api.pancakeswap.info/api/v2/tokens' const UPDATE_ERROR = "Can't update token price" await new Axios({}) .get(`${PANCAKESWAP_URL}/${pancakeswapTokenId}`) .then(async (response) => { if ( response.status === 200 && response.data && parseJSON(response.data) ) { const { data } = parseJSON(response.data) if (data.price && validateThirdpartyPrice(data.price)) { resolve({ price: data.price }) } else { resolve({ error: UPDATE_ERROR }) } } else { resolve({ error: UPDATE_ERROR }) } }) .catch(() => { resolve({ error: UPDATE_ERROR }) })

    Как вы можете видеть в data.price, вы получите значение, подобное: 2.42187 (Тонкоин в долларах США)

  • AnswersA

    Какую задержку установить для завершения транзакции?

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

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

    Время, необходимое для подтверждения транзакции, может варьироваться в зависимости от таких факторов, как загруженность сети и комиссия за транзакцию. ** Как правило, вам следует дождаться по крайней мере одного подтверждения, которое обычно занимает около 1-2 минут в сети TON.**

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

    Также важно отметить, что при программной отправке транзакций могут применяться ограничения скорости API. Вам следует ознакомиться с документацией к используемому вами API, чтобы определить соответствующее ограничение скорости и соответствующим образом скорректировать свой код, чтобы избежать запрета. Например, используя "https://testnet.toncenter.com/api/v2/jsonRPC", ** вы могли бы отправлять транзакцию примерно раз в 10 секунд, не превышая лимита скорости API.**

  • AnswersA

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

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

    Решено

    PUSHINT - это инструкция TVM-asm, необходимая для сборки смарт-контракта. Аналог из Fift - это просто написание числа "1" или любого другого, которое вы хотите.

    Использование кодов операций TVM вне смарт-контракта невозможно.

  • AnswersA

    [Решено] Может ли TonKeeper подключиться к testnet?

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

    Решено

    Перейдите в настройки и нажмите несколько раз на логотип tonkeeper, расположенный внизу, после чего выберите testnet вместо mainnet

  • Войти

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

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

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

  • Login or register to search.