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

    Как нам следует написать код, если мы хотим перевести Jetton с кошелька, уже подключенного к tonconnect-ui? Я подключил кошелек и хочу отправить Jetton на адрес получателя другого человека / кошелька. Но я получаю необычную ошибку.

    Ошибка: Если я внесу, я получу ** Не удалось рассчитать комиссию ** на кошелек браузера

    const userFriendlyAddress = useTonAddress();

    const rawAddress = useTonAddress(ложь); const кошелек = useTonWallet(); const [tonConnectUI, setOptions] = useTonConnectUI();

    const jettonAddress = "EQDEPcKFlXaKddKJVUvq2Rfn2QgH7_MyFHxZek99FdMyq8XD"; const receiver_address = "UQA76t6NCey61qBTkqosAs65sSrX2jIk9BloVz3NU76yYMap";

    const jettonTransfer = async () => { let myTransaction; if (userFriendlyAddress) {

    const body = beginCell() .storeUint(0xf8a7ea5, 32) // jetton transfer op code .storeUint(0, 64) // query_id:uint64 .storeCoins(10000000) // amount:(VarUInteger 16) - Jetton amount for transfer (decimals = 6 - jUSDT, 9 - default) .storeAddress(Address.parse(userFriendlyAddress)) // destination:MsgAddress .storeAddress(Address.parse(receiver_address)) // response_destination:MsgAddress .storeUint(0, 1) // custom_payload:(Maybe ^Cell) .storeCoins(50000000) // forward_ton_amount:(VarUInteger 16) .storeUInt(0, 1) // forward_payload:(Either Cell ^Cell) .endCell(); myTransaction = { validUntil: Math.floor(Date.now() / 1000) + 360, messages: [ { address: Address.parse(jettonAddress), // sender jetton wallet amount: 100000000, // for commission fees, excess will be returned payload: body.toBoc().toString("base64"), // payload with jetton transfer body }, ], }; } try { tonConnectUI.sendTransaction(myTransaction); } catch (error) { alert(error); }

    };

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

  • короткая клавиша в blueprint

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

    что вы подразумеваете под коротким путем? вы ищете способ пропустить CLI?

    yarn blueprint create ContractName yarn blueprint build ContractName yarn blueprint deploy ContractName

    вы можете добавить их в свой пакет в виде скрипта "build:ContractName": "blueprint build ContractName" или "build:contract": "blueprint build" затем: yarn build:ContractName или `yarn build:contract MyContract'

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

    Я пытаюсь сгенерировать адрес из мнемоники, это работает для tonkeeper, но не работает в Trust Wallet, не могли бы вы мне помочь, я перепробовал все возможные параметры из руководства.

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

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

    вы можете преобразовать bigint в шестнадцатеричный формат

  • Викторина 6

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

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

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

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

    Решено

    CS{ячейка{...} биты: 0..267; ссылки: 0..0} - это строковое представление фрагмента. Срез - это структура для считывания ячейки.

    В вашем примере, в зависимости от контекста, 2 разные ячейки возвращаются и преобразуются в фрагменты. Первый имеет 267 бит, а второй - 268 бит, но также начинается с бита 1.

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

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

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

    В среде testnet есть код операции GASCONSUMED, выполняющий именно это. Обновление еще не отправлено в основную сеть.

  • Импорт кошелька по закрытому ключу

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

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

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

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

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

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

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

  • Ошибка при установке mytonctrl

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

    Привет. У меня Ubuntu 20.04

    wget https://raw.githubusercontent.com/ton - blockchain/mytonctrl/master/scripts/install.sh - ok

    sudo bash install.sh -m lite - [6/6] TON software installation complete

    ~$ mytonctrl:

    Traceback (most recent call last): File "/usr/src/mytonctrl/mytonctrl.py", line 1216, in <module> console.Run() File "/usr/src/mytonctrl/mypyconsole/mypyconsole.py", line 97, in Run self.startFunction() File "/usr/src/mytonctrl/mytonctrl.py", line 106, in PreUp check_vport() File "/usr/src/mytonctrl/mytonctrl.py", line 122, in check_vport vconfig = ton.GetValidatorConfig() File "/usr/src/mytonctrl/mytoncore.py", line 1929, in GetValidatorConfig result = self.validatorConsole.Run("getconfig") File "/usr/src/mytonctrl/mytoncore.py", line 66, in Run raise Exception("ValidatorConsole error: Validator console is not settings") Exception: ValidatorConsole error: Validator console is not settings

    Что мне теперь делать?

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

  • TONPie Notific & Reg & Collab bots

    Прикреплена Возможности tonpie.io
    0 Голоса
    1 Сообщения
    46 Просмотры

    TONPie Register bot , TONPie Notific bot , TONPie Collab bot

    Официальные tonpie боты, которые помогут зарегистрироваться в системе в 1 клик прямо из telegram, получать обновления с сайта в tg-группу или подать заявку на партнерство

    Подробнее в нашей TON Wiki

    Открыть в полном окне

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

    Есть страница на ton.org в нем представлены некоторые рекомендации по оптимизации расхода газа:

    https://docs.ton.org/develop/howto/fees-low-level

  • Как измерить длину списка в стиле Lisp?

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

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

  • Какие числа означают "истина" и "ложь" в FunC?

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

    ложь равна нулю. истина - это "-1`. Все остальные ненулевые целые числа также подобны логическому значению "true".

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

    Да, это поддерживается, и ваш код действителен. - достаточно?будет целым числом со значением-1`.

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

    Ваш перевод происходит в mainnet и будет отправлен на указанный вами адрес. То, что произойдет, будет зависеть от нескольких факторов:

    Если вы (или ваш кошелек) отключите флажок "отказ", сумма в тоннах будет отправлена и останется на счете получателя.

    Если вы (или ваш кошелек) сохраняете флаг "отказ", то это зависит от учетной записи получателя:

    О. Если в пункте назначения нет смарт-контракта, он восстановится.

    Б. Если существует смарт-контракт, это будет зависеть от его поведения, и он может принять или отклонить его.

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

    Вы можете сгенерировать хэш с помощью boc до транзакции или после транзакции с помощью response boc.

    const bocCell = TonWeb.boc.Cell.oneFromBoc(TonWeb.utils.base64ToBytes(response.boc)); const hash = TonWeb.utils.bytesToBase64(await bocCell.hash());
  • 0 Голоса
    2 Сообщения
    22 Просмотры

    Для чтения фрагмента вы можете использовать load_uint(8) в функции.

    Более подробную информацию можно проверить на примере, подобном здесь: https://docs.ton.org/develop/smart-contracts/guidelines/tips#spend-less-gas-по-крупным-смарт-контрактам

    () recv_external(slice in_msg) impure { var signature = in_msg~load_bits(512); var cs = in_msg; var (subwallet_id, valid_until, msg_seqno) = (cs~load_uint(32), cs~load_uint(32), cs~load_uint(32)); throw_if(36, valid_until <= now()); var ds = get_data().begin_parse(); var (stored_seqno, stored_subwallet, public_key, plugins) = (ds~load_uint(32), ds~load_uint(32), ds~load_uint(256), ds~load_dict()); ds.end_parse(); throw_unless(33, msg_seqno == stored_seqno); throw_unless(34, subwallet_id == stored_subwallet); throw_unless(35, check_signature(slice_hash(in_msg), signature, public_key)); accept_message(); set_data(begin_cell() .store_uint(stored_seqno + 1, 32) .store_uint(stored_subwallet, 32) .store_uint(public_key, 256) .store_dict(plugins) .end_cell()); commit(); cs~touch(); int op = cs~load_uint(8);
  • 0 Голоса
    2 Сообщения
    36 Просмотры

    Да, вы можете найти код здесь

    https://github.com/ston-fi/dex-core