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

    Я отправил какой-то jetton на другой кошелек, но адрес назначения тела ответа не в [привычном формате вместо этого](https://blog.ton.cat/ton - address-formats/) как я могу преобразовать этот адрес во что-то, что я могу сравнить с моим собственным адресом кошелька jetton?

    "body": { "type": "jetton_transfer", "query_id": 0, "amount": 1000000000000, "destination": { "type": "addr_std", "workchain_id": 0, "address": "28c33c2eab67fa99b41ac2177d1993e4c8d7c717f09f51d2a15b3f2b62665b32" }, "response_destination": { "type": "addr_std", "workchain_id": 0, "address": "b406c5bbe23420825aebeff61bd372af180db17701b65b774979bcf1111be58a" } }

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

  • Тип контракта неизвестен

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

    Я создал кошелек программно, следуя этой [статье](https://docs.ton.org/develop/smart - контракты/учебные пособия/кошелек#-развертывание кошелька). Я просто скопировал код и выполнил его. Создал кошелек и создал 2 транзакции (входящую и исходящую)

    Но на tonscan.org написано, что тип контракта неизвестен (первый скриншот). В отличие от кошелька, который был создан в приложении Tonkeeper (второй скриншот)

    Почему это так работает и как я могу это исправить?

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

  • Ошибка при переносе кошелька

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

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

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

    быстрый ответ: на данный момент для @wallet нет тестовой сетевой среды.

    Но если вы хотите, вы можете использовать @CryptoBOT / https://t.me/CryptoTestnetBot чтобы протестировать.

  • Поддерживает ли MyTonWallet testnet?

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

    Некоторые кошельки в экосистеме TON могут открывать как кошельки mainnet, так и кошельки testnet, в то время как некоторые поддерживают только mainnet. Можно ли переключить MyTonWallet из основной сети в тестовую? Если это возможно, то как это сделать?

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

    click to show

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

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

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

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

    click to show

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

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

    Вообще говоря, вы можете использовать https://testnet.toncenter.com/api/v2/#/accounts/get_address_information_getAddressInformation_get для получения всех форматов одного адреса.

    Однако на практике вы также можете использовать библиотеки для их создания. Ниже приведены несколько фрагментов кода:

    import { mnemonicToPrivateKey } from "ton-crypto"; let mnemonics = "YOUR_MNEMONICS"; let keyPair = await mnemonicToPrivateKey([mnemonics]); // ✨ 🟡 Test-net: const client = new TonClient4({ endpoint: "https://sandbox-v4.tonhubapi.com", }); // Create wallet contract let workchain = 0; // Usually you need a workchain 0 let wallet = WalletContractV4.create({ workchain, publicKey: keyPair.publicKey }); let wallet_address = client.open(wallet); let address = wallet_address.address;

    Пожалуйста, замените "YOUR_MNEMONICS" на вашу реальную мнемонику.

  • Как создать кошелек V4R2 с помощью JS/TS?

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

    Это довольно просто с помощью ton.js или библиотека TonWeb, инструкции для обоих можно найти в этом руководстве: https://ton-community.github.io/tutorials/01-wallet/

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

    Да, это верно.

    Вы можете ознакомиться с документом здесь: https://docs.ton.org/participate/wallets/contracts

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

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

    До недавнего времени их не было, но только на этой неделе Tonkeeper стал первым кошельком TON, имеющим версию Firefox: https://addons.mozilla.org/en-US/firefox/дополнение/tonkeeper/

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

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

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

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

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

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

    Решено

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

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

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

    import TonConnectUI from '@tonconnect/ui' const tonConnectUI = new TonConnectUI({ manifestUrl: 'https://<YOUR_APP_URL>/tonconnect-manifest.json', buttonRootId: '<YOUR_CONNECT_BUTTON_ANCHOR_ID>' }); // Try to connect here const connectedWallet = await tonConnectUI.connectWallet();

    Узнайте больше о том, как их использовать, с их SDK и документацией.

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

    Решено

    Вот два кошелька с открытым исходным кодом:

    TonWhales - iOS/Android * MyTonWallet - iOS/Android/Chrome

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

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

    Решено

    В настоящее время популярные приложения TON wallet, такие как "TonKeeper" и "TONHUB", не поддерживают добавление ключевой фразы к начальной мнемонической фразе при создании или восстановлении кошелька.

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

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

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

    До тех пор пользователям необходимо будет использовать ваше приложение wallet для целей восстановления, если они создали кошелек с исходным кодом + парольная фраза в вашем приложении.

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

    Решено

    Один из возможных способов получить адрес "кошелька V3r2" из адреса v4r2 - это вычислить его по открытому ключу.

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

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

    Решено

    Причина различных адресов, сгенерированных TonHub, TonKeeper и wallet.ton.org при использовании одной и той же мнемонической фразы происходит потому, что адрес зависит от ** используемой версии контракта кошелька **.

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

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

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

    Решено

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

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

    Решено

    subwallet_id - это не то же самое, что workchain_id в сети TON.

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

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

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

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

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

    Решено

    Секретный ключ должен быть передан как Uint8Array. nacl уже предоставит вам ключи в правильном формате.

    Вы также можете сделать следующее: const SecretKey = TonWeb.utils.hexToBytes('ВАШ шестнадцатеричный код'); const keyPair = TonWeb.utils.nacl.sign.keyPair.fromSecretKey(секретный ключ);

    С другой стороны, вы можете проверить детали здесь, как в примере с Jetton, используя Tact Language https://github.com/ton-community/tact-jetton/blob/21e198cd7c95a287509f91f806f1ed32a4252129/исходныеданные/jetton.deploy.ts#L25