• Последние
  • 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 и сетью Everscale?

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

    Решено

    Как упоминал @<1485940136469336064|ДаниилСедов>, в настоящее время не существует общедоступного моста между TON и Everscale Network. Вы можете отслеживать все мосты на TON по следующей ссылке:

    https://ton.app/bridges

    Официальный мост в настоящее время включает в себя соединение между [Ethereum и Binance](https://ton.org/bridge /).

  • AnswersA

    [Решено] Где я могу скачать пример файла конфигурации глобальной сети (global.config.json) для mainnet и testnet?

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

    Решено

    # This is a general node, it cannot find all transaction data. wget https://ton.org/global-config.json -P ~/ wget https://ton.org/global-config-wallet.json -P ~/ wget https://ton-blockchain.github.io/global.config.json -P ~/ # This is the archive node, you can find all transaction data wget https://ton.org/global-config-archive.json -P ~/ # The following are general test nodes wget https://ton-blockchain.github.io/testnet-global.config.json -P ~/ wget https://ton.org/testnet-global.config.json -P ~/
  • AnswersA

    Поддерживает ли блокчейн TON сегментирование? Как это улучшает масштабируемость?

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

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

  • AnswersA

    Могу ли я перейти с кошелька версии 3 на кошелек версии 4 без изменения адреса кошелька?

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

    Невозможно обновить версию кошелька с версии v3 до версии 4 без изменения адреса.

    По сути, кошелек является одним из смарт-контрактов TON blockchain, а адрес кошелька - это адрес смарт-контракта. Адрес вновь развернутого контракта в TON зависит от двух факторов - развернутого байт-кода и исходного хранилища контракта. Поскольку у нас будет новый байт-код (из-за разницы между контрактами v3 и v4) и новые исходные данные - мы всегда будем получать новый адрес.

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

  • AnswersA

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

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

    Решено

    Чтобы разрабатывать смарт-контракты, вам нужно, по крайней мере, изучить FunC. В процессе вы также можете изучить Fift, чтобы лучше понять, как все работает на более низком уровне.

    Для разработки Telegram-ботов вы можете использовать множество различных языков программирования общего назначения. Здесь доступно множество вариантов.

    Для клиентской части dApps вы можете использовать JavaScript или другие инструменты, которые могут сгенерировать клиентское приложение.

  • AnswersA

    Библиотеке JavaScript TonWeb требуется URL-адрес поставщика: где я могу получить URL-адреса для MainNet и TestNet?

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

    Вы можете использовать [toncenter.com ](https://toncenter.com /) API-интерфейсы:

    Mainnet: https://toncenter.com/api/v2/jsonRPC Testnet: https://testnet.toncenter.com/api/v2/jsonRPC

  • AnswersA

    Как я могу сгенерировать новую мнемоническую фразу (24 секретных слова) для нового кошелька?

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

    я думаю, это то, что вам нужно

    https://github.com/ton-society/ton-footsteps/issues/79 * https://github.com/ton-blockchain/TEPs/pull/101/files?short_path=fc72a73#diff-fc72a73b400a1b54ef6ed276bb6ee1eb2bf7048471f9854778459fa65a664d8c
  • AnswersA

    [Решено] Где я могу прочитать, как рассчитывается стоимость газа при развертывании смарт-контракта в тоннах?

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

    Решено

    Вы можете узнать больше здесь: https://ton.org/docs/develop/smart-contracts/fees

    Мастер-цепочка стоит намного дороже базовой рабочей цепочки, примерно в тысячу раз.

  • AnswersA

    Поддерживает ли блокчейн TON HD кошельки?

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

    я думаю, это то, что вам нужно https://github.com/ton-blockchain/mnemonic2key

  • AnswersA

    [Решено] Как вы отправляете транзакции TON на Python?

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

    Решено

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

    Установите с помощью:

    pip install ton

    Вот пример того, как он используется для отправки транзакции.

    from .init import client from .wallet import wallet # Viewing transactions txs = await wallet.get_transactions() in_msg = txs[0].in_msg in_msg.source.account_address # Sender in_msg.destination.account_address # Recipient int(in_msg.amount) # Amount in nanoTONs client.from_nano(int(in_msg.value)) # Amount in TONs # Sending transaction with 1 TON await wallet.transfer('EQCl1Ug9ZT9ZfGyFH9l4q-bqaUy6kyOzVPmrk7bivmVKJRRZ', client.to_nano(1), comment='test') # Send transaction with multiple outputs await wallet.transfer( ('EQCl1Ug9ZT9ZfGyFH9l4q-bqaUy6kyOzVPmrk7bivmVKJRRZ', client.to_nano(1), 'test comment'), ('EQCl1Ug9ZT9ZfGyFH9l4q-bqaUy6kyOzVPmrk7bivmVKJRRZ', client.to_nano(0.5), 'test comment 2'), ('EQCl1Ug9ZT9ZfGyFH9l4q-bqaUy6kyOzVPmrk7bivmVKJRRZ', client.to_nano(1)) ) # Sending transaction with raw BOC data from tvm_valuetypes import Cell await wallet.transfer('EQCl1Ug9ZT9ZfGyFH9l4q-bqaUy6kyOzVPmrk7bivmVKJRRZ', client.to_nano(1), data=Cell().serialize_boc())
  • AnswersA

    [Решено] Не удается скомпилировать двоичные файлы TON на MacBook M1

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

    Решено

    https://github.com/awesome-doge/ton-compile/blob/main/ninja-Apple M1.md

    # Install dependent packages brew update brew install openssl cmake llvm brew link openssl --force # Install ninja brew install ninja # generate env folder / clone ton source code mkdir ~/ton-env cd ~/ton-env git clone --recursive https://github.com/ton-blockchain/ton.git # compile cd ~/ton-env/ mkdir ton-bin cd ~/ton-env/ton-bin cmake ~/ton-env/ton \ -DCMAKE_BUILD_TYPE=Release \ -GNinja cpunumber=$(sysctl -n hw.logicalcpu) ninja -j $cpunumber
  • AnswersA

    [Решено] Могу ли я использовать Rust для разработки смарт-контрактов в экосистеме TON?

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

    Решено

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

    Чтобы использовать Rust (или любой другой язык, использующий LLVM), вам следует начать с написания для него серверной части, тогда вы сможете создавать действительные инструкции TON VM из кода rust.

  • AnswersA

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

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

    Решено

    Самый удобный ресурс находится прямо из https://www.tonspace.co/. Сообщество TON день за днем совершенствует этот ресурс, чтобы новичкам было легче работать.

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

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

  • AnswersA

    [решено] Как вы расшифровываете данные, хранящиеся в смарт-контракте TON?

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

    Решено

    В TON нет единого формата хранения данных. Каждый смарт-контракт может иметь свой собственный способ хранения / кодирования своих данных. Возьмем [смарт-контракт NFT item](https://github.com/ton-blockchain/token-contract/blob/main/nft/nft - item.fc#L19-L47) в качестве примера. Он хранит свои данные в следующем формате:

    ;; ;; Storage ;; ;; uint64 index ;; MsgAddressInt collection_address ;; MsgAddressInt owner_address ;; cell content ;;

    И у контракта есть две внутренние функции для фактической загрузки и сохранения своих данных:

    (int, int, slice, slice, cell) load_data() { slice ds = get_data().begin_parse(); var (index, collection_address) = (ds~load_uint(64), ds~load_msg_addr()); if (ds.slice_bits() > 0) { return (-1, index, collection_address, ds~load_msg_addr(), ds~load_ref()); } else { return (0, index, collection_address, null(), null()); ;; nft not initialized yet } } () store_data(int index, slice collection_address, slice owner_address, cell content) impure { set_data( begin_cell() .store_uint(index, 64) .store_slice(collection_address) .store_slice(owner_address) .store_ref(content) .end_cell() ); }

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

    Однако вам не следует пытаться декодировать данные смарт-контракта напрямую, даже если вы знаете формат сохраненных данных. Правильным способом было бы использовать "общедоступный API" контракта посредством вызова его методов get. В контракте NFT item есть [метод получения](https://github.com/ton-blockchain/token - contract/blob/main/nft/nft-item.fc#L137-L144) именно для этой цели:

    ;; ;; GET Methods ;; (int, int, slice, slice, cell) get_nft_data() method_id { (int init?, int index, slice collection_address, slice owner_address, cell content) = load_data(); return (init?, index, collection_address, owner_address, content); }

    Он вернет вам все необходимые данные в декодированном виде.

    И [здесь](https://github.com/slavafomin/tonweb/blob/typescripted/src/contract/token/nft/nft - item.ts#L83-L109) - это то, как вы бы проанализировали результат этого метода get:

    // Calling the get-method const result = await this.provider.call2( myAddress.toString(), 'get_nft_data' ); // Parsing the data returned by it const isInitialized = ( (expectBN(result[0]).toNumber() === -1) ); const index = expectBN(result[1]).toNumber(); const collectionAddress = ( parseAddressFromCell(result[2]) ); const ownerAddress = (isInitialized ? parseAddressFromCell(result[3]) : null ); const contentCell = result[4]; // Single NFT without a collection const contentUri = ((isInitialized && !collectionAddress) ? parseOffchainUriCell(contentCell) : null );

    Кроме того, некоторые массивы данных хранятся в виде двоичных строк и требуют некоторого нетривиального синтаксического анализа с использованием TL-B schemas. Каждая библиотека предоставит вам несколько утилит для использования. Один из таких инструментов обычно называется "CellSlice", который позволяет вам считывать и декодировать биты битовой строки вручную.

    Рассмотрим этот пример из TonWeb:

    // Encoding some data as a cell const cell = new Cell(); cell.bits.writeUint('100500', 32); cell.bits.writeString('Hello World'); // Reading the data from cell (bit-string) const slice = new CellSlice(cell); slice.loadUint(32); // 100500 slice.loadString(); // Hello World slice.isEmpty(); // true

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

  • AnswersA

    Как мне расшифровать ответ от getTransactions в TonWeb SDK?

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

    Это интерфейс для getTransactions в typescript. Вы можете использовать его для получения дополнительной информации о том, как разобрать ответ - [ссылка на github](https://github.com/ton - сообщество/ton/blob/master/src/клиент/api/HttpApi.ts#L85)

    Возврат Tonweb содержит те же данные. То есть оба клиента используют один и тот же API

  • AnswersA

    Как вы создаете кошелек TON, используя C# и .NET?

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

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

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

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

    создайте ключ, вычислите данные инициализации и преобразуйте их в адрес вашего (будущего) кошелька как в строке 49. Если вы откроете свой адрес в проводнике в этот момент - вы увидите нулевой баланс и неактивное состояние. * переведите некоторую сумму (с биржи или чего-либо еще) на ваш новый (все еще неактивный) адрес. Проводники будут показывать "in" tx и ненулевой баланс, но состояние вашего аккаунта по-прежнему будет "неактивным". * совершить исходящую транзакцию (на свой собственный или другой адрес) как в строках 58+ \ - это сделает ваш аккаунт активным.
  • AnswersA

    Какие типы смарт-контрактов существуют в блокчейне TON?

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

    Нужна дополнительная информация для устранения проблемы.

    На данный момент вы можете выбрать FunC и Tact в качестве языков программирования в TVM (TON Network Virtual Machine).

    Что касается функций, вот обзорное руководство, с которым вам следует ознакомиться: https://ton-community.github.io/tutorials/01-wallet/

    https://ton.org/docs/develop/func/overview

    С другой стороны, синтаксис Tact проще в освоении по сравнению с FunC (*FunC больше похож на C-подобный язык).

    http://tact-lang.org/https://github.com/tact-lang/tact

    Хотя вы можете кодировать в Fift, это не тот случай, о котором мы говорим сегодня.

  • AnswersA

    Я получаю сообщение об ошибке установки toncli в Windows.

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

    Помогла эта команда: pip install bitstring==3.1.9

    Спасибо Андрею Творожкову

  • AnswersA

    [Решено] Могу ли я динамически добавлять ссылки в тип builder?

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

    Решено

    С незначительными изменениями вы можете это сделать. В цикле while назначьте qRefs.store_ref для qRefs. На самом деле вам не нужно сохранять ссылки на старый конструктор. Я бы написал это так:

    () save_data_on_update(slice destination_address) impure inline { builder b = begin_cell(); b = b.store_slice(destination_address); repeat (4) { b = b.store_ref(begin_cell().store_uint(0, 1).end_cell()); } cell c = b.end_cell(); set_data(c); }
  • AnswersA

    Можно ли оплатить комиссию за транзакцию по одному адресу с другого адреса?

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

    Короче говоря, нет (или я этого не знаю). Каждая транзакция и контракт должны оплачиваться самостоятельно. Вы можете изменить режим отправки только для транзакции.

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

    Используйте контракт B в качестве прокси-сервера для всех транзакций, к контракту A и B будет добавлено несколько тонкоинов для оплаты. Также излишек может быть возвращен по контракту А в контракт Б.

    Если в контракте A есть какая-либо транзакция на небольшую сумму, то A отправит транзакцию в контракт B (также прикрепив тело платежа), чтобы получить несколько тонкоинов. Затем B отправит обратно транзакцию с некоторой суммой и прикрепленными основными данными.

  • Войти

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

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

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

  • Login or register to search.