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

    Решено

    Эй, в общем, нет никакого TEP (предложения по повышению TON), определенного для того, что представляет собой "Стандартное размещение ставок для NFT".

    Как участник, внедривший стандарт NFT на языке Tact, вы можете легко установить статус своей доли, создав новый контракт и указав его в качестве нового владельца NFT.

    В качестве альтернативы, вы можете изменить статус внутри самого элемента NFT, а затем добавить инструкцию require, чтобы ограничить метод Transfer для элемента NFT.

    Таким образом, способ реализации этого довольно прост и гибок.

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

    Наконец, я предполагаю, что вы пытались выполнить пошаговую задачу здесь https://github.com/ton-society/ton-footsteps/issues/295

    Я уже вставил код POC (Proof of Concept), который может запускаться в тестовой сети. Иди и проверь это! <3

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

    Решено

    Отличный вопрос! Предсказать хэш входного и выходного сообщений перед передачей транзакции невозможно.

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

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

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

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

    Решено

    Расхождения, с которыми вы сталкиваетесь с конечными точками TON API, могут быть вызваны запросом неверной рабочей цепочки. Адрес UQCzwxqIw1pt41DND9pgGfAOhJKtQQEgjVcpn0rHxv-4b8Ob находится в базовой цепочке (workchain=0), но вы ищете транзакции в мастер-цепочке (workchain=-1).

    Чтобы найти правильную транзакцию, выполните следующие действия:

    Запросите конечную точку /getBlockTransactions с правильными значениями workchain (workchain=0) и shard (-9223372036854775808):

    https://toncenter.com/api/v2/getBlockTransactions?workchain=0&shard=-9223372036854775808&seqno=21407484

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

    Если вы по-прежнему не можете найти транзакцию, извлеките все сегменты для найденного вами блока, используя конечную точку /shards:

    https://toncenter.com/api/v2/shards?seqno=16512830

    Затем для найденного вами блока и для каждого фрагмента получите список транзакций. Вы должны найти свою транзакцию в блоке со следующими параметрами: workchain=0, shard=-9223372036854775808 и seqno=21407484.

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