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

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

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

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

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

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

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

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

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

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

    click to show

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

  • Почему @tonapi_bot перестал отвечать?

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

    "@tonapi_bot" в Telegram использовался для взаимодействия с TON API (например, для запроса ключа API), но сейчас, похоже, он не отвечает. Что изменилось и где я могу получить ключ API без него?

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

    click to show

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

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

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

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

    click to show

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

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

    TON API предоставляет доступ REST API к блокчейну TON. Некоторые из его методов требуют заполнения переменной {account-id}. Что я должен туда поместить, какой формат значений он принимает?

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

    click to show

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

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

    Решено

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

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

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

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

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

    Решено

    Чтобы получить список адресов NFT в коллекции, вы можете выполнить двухэтапный процесс.

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

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

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

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

    Решено

    Если вы имеете в виду сами узлы блокчейна, то узлы не будут отображать эти данные. Это действительно рыночный вопрос, а не вопрос, на который должен ответить сам протокол блокчейна. У каждого рынка есть свой собственный ответ на вопрос, какова цена тонны, и арбитраж постепенно уравновесит его.

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

    https://tonapi.io/v2/rates?tokens=ton&currencies=usd

    CoinMarketCap и CoinGecko оба также предоставляют свои собственные API-интерфейсы.

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

    Решено

    Расхождения, с которыми вы сталкиваетесь с конечными точками 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.

  • Какие API существуют для TON?

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

    Я знаю, что есть проект TonAPI, который предоставляет REST API для блокчейна TON. Это единственный проект или есть и другие подобные проекты?

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

    click to show

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

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

    Решено

    Похоже, что первоначальная транзакция, запрошенная через /getTransactions, отсутствует в masterchain (workchain=-1). Вы можете попробовать использовать /getBlockTransactions для поиска транзакции в базовой цепочке (workchain=0).

    Сначала используйте /lookupBlock, чтобы найти номер блока, соответствующий времени транзакции в Unix, а затем используйте /getBlockTransactions для поиска транзакции в блоке с соответствующим порядковым номером в каждом сегменте.

    В упомянутом конкретном случае транзакция была найдена в базовой цепочке (workchain=0, shard=-9223372036854775808, seqno=21407484). Стоит отметить, что мастерчейн и базовая цепочка являются отдельными блокчейнами в экосистеме TON, и не все транзакции будут проходить в мастерчейне.

    Кроме того, что касается вопроса о том, почему в мастерчейне есть только один сегмент для любого seqno, это связано с тем, что мастерчейн имеет только один сегмент, в то время как базовая цепь имеет несколько сегментов.

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

    Решено

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

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

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

    Which means you should encode your parameters as: [https://toncenter.com/api/v2/getTransactions?address=Ef- kkdY_B7p-77TLn2hUhM6QidWrrsl8FYWCIvBMpZKprKDH&limit=2&lt=26866552000001&hash=PC%2Bfs9j6b6TVrIwkWlG%2BW%2B0ge2rM%2BzYCWC93GVL7OWM%3D&to_lt=0&archival=true](https://toncenter.com/api/v2/getTransactions?address=Ef- kkdY_B7p-77TLn2hUhM6QidWrrsl8FYWCIvBMpZKprKDH&limit=2&lt=26866552000001&hash=PC%2Bfs9j6b6TVrIwkWlG%2BW%2B0ge2rM%2BzYCWC93GVL7OWM%3D&to_lt=0&archival=true)

    Check out MDN docs in more (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent)

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

    Вы можете использовать pancakeswap API для получения цены монеты в долларах США и конвертации ее в вашем приложении

    Простой пример

    const PANCAKESWAP_TONCOIN_ID = '0x76a797a59ba2c17726896976b7b3747bfd1d220f' const PANCAKESWAP_URL = 'https://api.pancakeswap.info/api/v2/tokens' const UPDATE_ERROR = "Can't update token price" await new Axios({}) .get(`${PANCAKESWAP_URL}/${pancakeswapTokenId}`) .then(async (response) => { if ( response.status === 200 && response.data && parseJSON(response.data) ) { const { data } = parseJSON(response.data) if (data.price && validateThirdpartyPrice(data.price)) { resolve({ price: data.price }) } else { resolve({ error: UPDATE_ERROR }) } } else { resolve({ error: UPDATE_ERROR }) } }) .catch(() => { resolve({ error: UPDATE_ERROR }) })

    Как вы можете видеть в data.price, вы получите значение, подобное: 2.42187 (Тонкоин в долларах США)

  • Как отслеживать цену NFT?

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

    Да, вы можете использовать tonapi.io за это:

    const nftAddress = 'EQBFSbR4087JZ3Em7HQ3FfPz5-_q6T1UGmQqQGAcPuiFdGJ-' fetch(`https://tonapi.io/v1/nft/getItems?addresses=${nftAddress}`) .then((data) => { return data.json() }) .then((res) => { const nft_item = res.nft_items[0] const price = nft_item.sale.price.value / 10 ** 9 // it is necessary to divide by 10^9, because the value initially given in nanoTON's console.log(`${price} ${nft_item.sale.price.token_name}`) })
  • Как программно получить текущую цену за тонну?

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

    Вы можете получить данные из общедоступного api coingeko здесь.