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

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

    Адрес кошелька: адрес кошелька основного владельца toAddress : адрес назначения (для перевода) nftAddress : адрес NFT

    Использование : react js и node js

    const forwardPayload = beginCell(). storeUint(0, 32). storeStringTail("UNSTAKED"). endCell(); const transferNftBody = beginCell(). storeUint(0x5fcc3d14, 32). // Opcode for NFT transfer storeUint(0, 64). // query_id storeAddress(Address.parse(toAddress)). // new_owner storeAddress(walletAddress). // response_destination for excesses storeBit(0). // we do not have custom_payload storeCoins(toNano("0.01")). // forward_amount storeBit(1). // we store forward_payload as a reference storeRef(forwardPayload). // store forward_payload as a reference endCell(); const internalMessage = beginCell(). storeUint(0x18, 6). // bounce storeAddress(Address.parse(nftAddress)). storeCoins(toNano("0.05")). storeUint(1, 1 + 4 + 4 + 64 + 32 + 1 + 1). // We store 1 that means we have body as a reference storeRef(transferNftBody). endCell(); let toSign = beginCell(). storeUint(698983191, 32). // subwallet_id | We consider this further storeUint(Math.floor(Date.now() / 1e3) + 60, 32). // Transaction expiration time, +60 = 1 minute storeUint(seqno, 32). // store seqno storeUint(0, 8). storeUint(3, 8). // store mode of our internal transaction storeRef(internalMessage); // store our internalMessage as a reference let signature = sign(toSign.endCell().hash(), keyPair.secretKey); // get the hash of our message to wallet smart contract and sign it to get signature let body = beginCell(). storeBuffer(signature). // store signature storeBuilder(toSign). // store our message endCell(); let externalMessage = beginCell(). storeUint(0b10, 2). // ext_in_msg_info$10 storeUint(0, 2). // src -> addr_none storeAddress(walletAddress). // Destination address storeCoins(0). // Import Fee storeBit(0). // No State Init storeBit(1). // We store Message Body as a reference storeRef(body). // Store Message Body as a reference endCell(); const result = client.sendFile(externalMessage.toBoc());

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

  • Использование продолжения (cont) в функциях

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

    Позвольте функции "вызывать", например:

    int call((int -> int) f, int x) { return f(x); }

    Но мне нужно сохранить "f" на этапе развертывания smc в качестве начального состояния. Как я могу сохранить "f"? Я вижу функцию "bless" для разбора фрагмента на продолжение, но как создать фрагмент "f"?

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

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

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

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

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

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

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

    Когда у валидатора есть ставка от 300 до 900 тысяч, добавление большего количества тонкоинов к ставке приводит к увеличению прибыли, поэтому есть мотивация делать это. Но после достижения предельного уровня добавление большего количества денег перестает приносить больше прибыли. Так что нет особого смысла добавлять деньги в валидатор, который достиг этого предела. Если у кого-то есть Toncoins и он хочет поставить их на кон, гораздо лучше выбрать другого валидатора, который еще не достиг 900 тысяч, чтобы инвестиции приносили прибыль.

    Таким образом, прямого запрета на добавление "слишком большого количества" тонкоинов в валидатор нет, они не исчезнут или что-то в этом роде. Просто нет особого смысла делать это, когда есть более выгодные варианты.

  • Есть ли "перерыв" в функции?

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

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

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

    click to show

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

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

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

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

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

    click to show

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

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

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

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

    click to show

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

  • Есть ли "NFT-лутбоксы" на TON?

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

    В экосистеме Ethereum существуют "лутбоксы", которые содержат несколько NFT и могут быть "открыты" для обнаружения токенов внутри. Была ли эта механика уже реализована в экосистеме TON?

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

    click to show

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

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

    Проект Blueprint генерирует QR-код при выборе "создать глубокую ссылку". Но он показывает мне QR-код, который больше экрана моего компьютера, так что я не могу отсканировать его с помощью своего телефона. Как с этим бороться, есть ли какой-нибудь способ заставить его создавать меньшие QRS или использовать какой-нибудь способ перейти по ссылке?

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

    click to show

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

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

    Я пришел в экосистему TON из Ethereum, и у меня есть монеты Ethereum testnet. Я знаю, что существует Ethereum-TON bridge для монет mainnet. Есть ли что-то подобное для testnet? Было бы привычно приобретать монеты TON testnet таким образом.

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

    click to show

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

  • Каковы рабочие примеры сайтов TON?

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

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

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

    click to show

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

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

    Решено

    Ваше понимание близко к истине.

    Насколько я понимаю, "атомарность" в данном контексте - это концепция, которая родилась задолго до блокчейна TON. Вероятно, это появилось в поле базы данных: https://en.wikipedia.org/wiki/Atomicity_(database_systems)

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

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

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

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

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

    click to show

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

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

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

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

    click to show

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

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

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

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

    click to show

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

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

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

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

    click to show

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

  • TON Connect предназначен только для веб-сайтов?

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

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

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

    click to show

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

  • Какие существуют альтернативы для toncenter.com ?

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

    TON центр (toncenter.com ), возможно, самый известный сервис для выполнения запросов API, но в последнее время он был недоступен, когда мне это было нужно. Что можно использовать вместо этого? И улучшило бы ситуацию использование облегченного сервера?

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

    click to show

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

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

    Часто предлагается использовать TypeScript для разработки на TON. Руководства по использованию таких библиотек, как ton из npm, полны примеров TS. Что, если я готов использовать JavaScript, но еще не готов к TypeScript? Могу ли я просто использовать те же библиотеки или мне нужны другие?

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

    click to show

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

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

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

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

    click to show

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