4 July 2022
T
15:47
Tim
https://app.tonkeeper.com/transfer/<address>?text=<url-encoded-utf8-text>
DK
15:47
Dmitry Korobeynikov
In reply to this message
Спасибо!
NN
15:54
Nick Nekilov
In reply to this message
Скрин пропал 🤔
F
16:23
F
In reply to this message
Подпадал под категорию "реклама сторонних проектов", что запрещено правилами чата
Д
17:07
Дмитрий
А почему у меня может не закрываться канал, ошибок нет вроде
17:07
Юзаю пример
17:07
Задеплоилось все ровно, но потом пошли цыганские фокусы, с которыми не могу справиться
17:09
При закрытии у меня вот эти 0.05 ton отправляется, возвращается, но мои деньги обратно не возвращаются
17:13
Failed Compute Phase exit_code 101
17:14
In reply to this message
И 108
T
17:15
TON Дев Чат
In reply to this message
https://github.com/ton-blockchain/payment-channels/blob/master/func/async-channel.func#L58
const int error::not_authorized = 101;
неверная подпись
const int error::seqno_regress = 108;
не двинули seqno вперед
Д
17:17
Дмитрий
In reply to this message
А из-за чего может быть неверная подпись? Не понимаю, где ошибку искать
17:19
Так стоп
17:19
101 ошибку исправил
17:19
Теперь опять 108, а что значит двинуть seqno вперёд
17:27
In reply to this message
Вообще просто не понимаю
F
17:33
F
In reply to this message
Возможно поможет:
https://ton.org/docs/#/howto/step-by-step
Д
17:37
Дмитрий
In reply to this message
Это прочитано несколько раз, все равно не понимаю, к сожалению(
17:37
Юзаю tonweb test Payment Channel
T
17:41
Tim
Проблема скорее всего в том что канал с 1 стороны закрываете только
j
18:02
jessez
Всем привет! Каким инструментом можно проверить, является ли владелец кошелька холдером одной из коллекций nft?
Д
18:04
Дмитрий
In reply to this message
Так, а двухсторонее закрытие как реализовать?
V
18:25
Vladislav
In reply to this message
Tonweb
AP
19:57
Andrey Pfau
ВТ
20:46
Влад Тупичка
Для отправки и принятия тонкоинов можно работать только с tonweb для js, или нужно ещё и работать со смартконтрактами?
AS
20:46
Aleksandr Shepelev
In reply to this message
можно, не нужно
ВТ
20:48
Влад Тупичка
In reply to this message
А чтобы принять платёж, проще создать новый адрес и после принятия перевести на основной кошёль и закрыть предыдущий адес, или пробежаться по последним транзакциям и сравнивать комментарии?
AS
20:49
Aleksandr Shepelev
In reply to this message
вообще по комментариям проще, новый адрес это чуть удобнее по юзабилити, но в целом для большинства юзеров без разницы
ВТ
20:50
Влад Тупичка
Спасибо💚
?C
21:12
🇨🇺 Ernesto Che Guevara
Если установлена нода Toncoin... можно ли както перехватывать все входящие транзы и отправлять их к примеру на Обработчик (python скрипт)
21:12
как это сделать?
21:13
транзы имеется ввиду... моих локальных кошельков а не все
21:13
у биткоина это решается - параметрами запуска самой ноды......
R
21:29
Reus
Всем привет, здесь есть front-end , back-end разработчики на TON? Отпишите в лс
5 July 2022
IG
01:02
Ilia Gaevskii
Привет. А есть документация по общению с блокчейном?

Использую pyTONv3, в исходниках нашел описание что и откуда возвращается, но может есть где-то хорошо описанные все поля и методы
IG
03:16
Ilia Gaevskii
Расскажите еще пожалуйста что такое @type
И почему среди транзакций есть такие и такие. Почему в одном месте просто адрес, а в другом в том же ключе записана отдельная мапа
04:09
Deleted Account
Мы тут бахнули dApps браузер прям в мобилку и опубликовали небольшой README - https://github.com/hueton/plugin. В целом все так же, как и у https://github.com/toncenter/dapp-example, но не совсем.

Хотелось бы для таких штук завести некий стандарт в ТОНе
- Текущий ```ton_rawSign``` кажется очень опасным и хотелось бы его вообще не поддерживать.
- Хочется завести .type для всех, чтобы другие тоже могли бахать свои плагины по такому стандарту

что скажете? мб некий eip-119 или eip-1102, но в основном аккаунте ton-blockhain? или пофигу?
T
06:42
TON Дев Чат
In reply to this message
pytonv3 заброшен в пользу https://github.com/toncenter/ton-http-api/ (http сервера) и https://github.com/toncenter/pytonlib (локальной библиотеки). И та, и другая активно поддерживаются и уже даже через pip должны ставиться.
Полную схему протокола можно посмотреть в https://github.com/newton-blockchain/ton/blob/master/tl/generate/scheme/tonlib_api.tl
R
08:03
Reus
Всем привет, здесь есть front-end , back-end разработчики на TON? Отпишите в лс
IG
10:24
Ilia Gaevskii
In reply to this message
Спасибо!

Но как Я понимаю библиотеки пошли от pyTONv3 и делают примерно тоже самое. Вот хотелось бы почитать что они делают, какие есть методы, какие поля за что отвечают :)
M
10:24
MetaJedi • NFT
Всем привет! Срочно нужен разработчик бота в ТГ для минта NFT.
M
11:06
Mike
Коллеги, подскажите, есть ли возможность проверить валидный ли адрес, используя Tonlib на PyTONLib?
a
11:06
assemblerx64
In reply to this message
utils.detect_address
M
11:06
Mike
In reply to this message
большое спасибо!
M
11:55
M.
Привет, ищу разработчиков кто пишет контракты, пишите мне в личку плиз
D
12:43
Dmitry
In reply to this message
Название 🔥
AT
12:54
Andrey Tvorozhkov
In reply to this message
Прикольненько
DN
12:54
Doctor Nicolaj
In reply to this message
ton-x и там есть ряд стандартов и в том числе про подпись безопасную
AT
12:56
Andrey Tvorozhkov
In reply to this message
Да, а вы смотрели ton-x?
13:18
Deleted Account
Нет, поищу)
DN
13:25
Doctor Nicolaj
Вроде ребята что ton-x делают изначально хотели все кошельки туда вставить но пока это не унифицировать
ID
13:31
Igor Diakonov
const session: TonhubSessionAwaited = await connector.awaitSessionReady(sessionId, 5 * 60 * 1000); // 5 min timeout

awaitSessionReady = async (sessionId: string, timeout: number, lastUpdated?: number): Promise<TonhubSessionAwaited> => {
let expires = Date.now() + timeout;
let res: TonhubSessionStateReady | TonhubSessionStateExpired | TonhubSessionStateRevoked = await backoff(async () => {
while (Date.now() < expires) {
let existing = await this.waitForSessionState(sessionId, lastUpdated);
if (existing.state !== 'initing') {
if (existing.state === 'ready') {
return existing;
} else if (existing.state === 'revoked') {
return existing;
}
}
await delay(1000);
}
return { state: 'expired' };
});
return res;
}


Интересно, "А ребята что ton-x делают" не хотят придумать какой-нибудь метод работы который не будет подразумевать дёргание по кругу их API? callback_url там какой-нить, не? )
DN
13:34
Doctor Nicolaj
Вроде обычная практика так делать
AJ
13:34
Adam Johnson
In reply to this message
там не нужно дергать.

делайте await sessionReady и в ответ придёт результат
13:34
await сработает когда будет ответ по сессии или через указаное вами время
13:35
там всё продумано в этом плане
13:36
const session: TonhubSessionAwaited = await connector.awaitSessionReady(sessionId, 5 * 60 * 1000); // 5 min timeout

if (session.state === 'revoked' || session.state === 'expired') {
// Handle revoked or expired session
} else if (session.state === 'ready') {
13:36
в session будет уже нужный вам результат, или expired
ID
13:38
Igor Diakonov
In reply to this message
Я тоже согласен что так делать не нужно. Но это код из ton-x.

Но если все считают что долбиться раз в секунду в апи в надежде что там появятся изменения - это ок, то вопросов больше нет. )
AJ
13:40
Adam Johnson
Так зачем куда то долбится?)
После вызова awaitSessionReady будет возвращён результат сессии или expired.
Функция будет выполняться до момента изменения состояния сессии или не более указанного времени (5*60*1000). Вы просто ждёте пока await отдаст результат.
Гениальное и простое решение
DN
13:41
Doctor Nicolaj
Судя по коду это не долбиться а лонгполлинг
AJ
13:42
Adam Johnson
Она выполняется один раз, и отдаст результат, второго вызова не требуется. Изучите код функции awaitSessionReady и станет понятно.
ID
13:47
Igor Diakonov
In reply to this message
то есть на каждую потенциальную сессию - у нас ещё и соединение открытое висеть будет в ожидании ответа. Ещё лучше )
DN
13:48
Doctor Nicolaj
Для клиента оч удобно, для бека не оч но всегда можно руками переделать
ID
13:51
Igor Diakonov
In reply to this message
Она запустит waitForSessionState, который оттаймаутится через 30 секунд, если за 30 секунд нет ответа - то делать она это будет по кругу до того как " let expires = Date.now() + timeout;".
Изучил, где я не прав?
DN
13:51
Doctor Nicolaj
Тут наверное ещё вопрос в том будет ли например веб экстеншн поддерживать коллбек или ещё что ещё и на бекенде
13:52
In reply to this message
Ну это определение лонгполлинга
ID
13:54
Igor Diakonov
это определение "дрочить API чуть реже", создавая ненужные соединения и потребляя на это ресурсы, вместо получения бэком callback по факту изменения состояния сессии.
13:55
Но если всем так удобно - то ок, говорю ж, нет вопросов )
T
13:55
Tim
Так бека может и не быть в dapp
DN
13:55
Doctor Nicolaj
Так сессия делается на клиенте
13:55
Если ты апп прямо в тонхабе будешь запускать то тебе сессия не нужна вообще у тебя уже все есть
13:55
Ну и это нужно лишь на момент открытия ведь
T
13:55
Tim
Так сходу и не придумать особо как сделать лучше. Есть валлетконнект на вебсокетах, но там по сути тоже самое
DN
13:56
Doctor Nicolaj
Можно сделать специальный режим для бекендов
13:57
Тип указывать опциональный коллбек урл который дернут по завершению
T
13:57
Tim
но тогда надо будет бек дергать каждые 10 сек чтобы узнать что он узнал о сессии
ID
13:57
Igor Diakonov
In reply to this message
с dapp понятно....
DN
13:58
Doctor Nicolaj
In reply to this message
Ну бек кошелька знает же когда сессия норм
13:58
Обычный вебхук
T
13:58
Tim
Я имею ввиду твой бек на который пришел коллбек
DN
13:58
Doctor Nicolaj
С приложения кошелька наверное не круто
T
13:58
Tim
Клиент то тоже никак не узнает об этом)
DN
13:59
Doctor Nicolaj
М не понял кейса
13:59
Я так понял коллбек надо просто дернуть когда все норм
13:59
Со стороны кошелька
14:00
Но имхо это же не так удобно? Слать потом по сокету в приложение нотификацию и все это кодить
14:00
Ужас
14:01
Думаю логично делать на клиенте все, сессию потом на бек удачную отправлять если надо
ID
14:02
Igor Diakonov
In reply to this message
Вот у меня getgems открыт на ноуте, и tonhub на мобиле для авторизации....есть другие варианты в данном случае?
DN
14:03
Doctor Nicolaj
В плане?
14:06
Имхо вообще сессия на беке так себе идея - зачем это может быть нужно? Ведь у тебя есть все на клиенте и любая работа с кошельком будет так же по клику юзера. Ну разве что пуши слать.
14:07
В ton-x есть ключики для верификации прямо в сессии с помощью которой можно сделать связку клиента и бека если надо
14:10
А… хотя боты…
MS
14:12
Mikhail Salkov
Как при деплое контракта через internal message (от кошелька) помимо stateInit передать данные, которые тоже запишуться в storage, но после деплоя (т.е. не будут влиять на адрес кошелька)?
DN
14:25
Doctor Nicolaj
In reply to this message
Написать код или заюзать ванити
14:30
Deleted Account
ребят, есть вариант как седлать какие-то webhook, либо callback в питоне на входящие транзакции?
14:31
понятно что с помощью какого-то сервиса видимо
14:31
просто постоянно получать все транзакции и смотреть это такой себе способ
DN
14:51
Doctor Nicolaj
Нормальный способ
А
15:01
Андрей
In reply to this message
Пока такие сервисы не встречал, но вы можете стать первым)
EG
15:01
EvGeniy Gnatovskiy
Всем привет. Кто нибудь деплоил вот эти контракты https://github.com/ton-blockchain/token-contract ?
у меня почему то вот такая ошибка вылезает
Кто нибудь сталкивался?
15:01
Deleted Account
In reply to this message
смотря сколько их)
DN
15:02
Doctor Nicolaj
Ты слушаешь блоки и ищешь в них нужные адреса
15:02
Если есть уже грузишь транзы
AT
15:14
Andrey Tvorozhkov
In reply to this message
StateInit это оч красивая логика

Для того, чтобы контракт задеплоился он должен корректно инициалидироваться.

Вот такие приколы можно мутить:

https://t.me/tonsc_chat/949
15:17
In reply to this message
(Ты точно так же можешь помимо кода проставить и данные, при этом они не будут влиять на адрес) ^

А зачем это нужно? Что-то экзотичное слишком
Д
15:38
Дмитрий
Ребят, всем привет! Делаю я код на реакте и ничего не предвещает беды, но вдруг как только я добавляю импорт tonweb у меня выползает вот это:
15:38
./node_modules/tonweb/src/contract/payments/PaymentChannel.js 91:60
Module parse failed: Unexpected token (91:60)
File was processed with these loaders:
* ./node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
|
| const closingConfig = new Cell();
> closingConfig.bits.writeUint(this.options.closingConfig?.quarantineDuration || 0, 32); // quarantin_duration
|
| closingConfig.bits.writeCoins(this.options.closingConfig?.misbehaviorFine || new BN(0)); // misbehavior_fine
15:38
Из-за чего это происходит? Я только добавляю импорт, не использую никаких методов и тд
V
16:16
Victor
Минтер от TON Diamonds. Какая разница между Collection content URL и Collection base URL?
10 минут сижу, не могу понять.
AK
16:17
Andrey Kravchenko
In reply to this message
Предполагаю, что первый - это метаданные самой коллекции, а второй - базовый (префикс) путь до json nft-файлов
SV
16:17
Sergei Voroshilov
In reply to this message
Скорей всего ругается на this.options.closingConfig?.misbehaviorFine. А именно на "?." Чем собираешь? Webpack?
V
16:18
Victor
In reply to this message
То есть первый — ссылка на json с метадатой для всей коллекции?
AK
16:20
Andrey Kravchenko
In reply to this message
Да, но я могу быть и не прав 😅
SV
16:21
Sergei Voroshilov
In reply to this message
Гугли babel optional dot notation
V
16:25
Victor
In reply to this message
Хорошо бы кто-нибудь скинул пример и того, и другого
V
16:28
Victor
In reply to this message
А можно узнать как выглядит https://testcollection.com/nft-marketplace3/my_collection.json?
T
16:29
Tim
Как вашей душе угодно. Ближе всего спека open sea наверное
V
16:29
Victor
In reply to this message
Спасибо
Д
16:31
Дмитрий
In reply to this message
react-scripts
16:32
In reply to this message
Погуглил, вообще не понимаю, что это такое
SV
16:34
Sergei Voroshilov
In reply to this message
"?." - это новый синтаксис в JS. Нужно добавить дополнительный плагин, чтобы babel стал его понимать. Я, к сожалению, в реакте не силен, но решал эту проблему во vue через установку дополнительного плагина
Д
16:37
Дмитрий
In reply to this message
Ух ты блин, синтаксисы ваши всякие несовместимые😂

Но огромное спасибо за ответ, *гуглю интенсивнее*
V
16:39
Victor
In reply to this message
Вот это прямо-таки золото
t
18:12
talkol
t
talkol 05.07.2022 17:56:48
Community Jetton deployer - new features

https://jetton.live

We implemented another round of feedback, thank you!

1. On-chain metadata was fixed to support TIP-64. You can easily fix existing tokens to the new format through the tool.

2. You can now mint more tokens through the tool after deployment.

3. You can now see your token balance and transfer Jettons to others directly through the tool.

Thanks for the feedback!
ВТ
18:18
Влад Тупичка
При создании нового кошелька в тестнете на tonweb(js) создается всё кроме адреса. Его нужно отдельно создавать, или как?
18:18
Из-за этого не могу в блокчейн задеплоить
AP
18:19
Andrew Python
In reply to this message
там есть что-то типа wallet.getAddress() (или как-то так)
s
18:20
sd
всем привет, а что с https://tonapi.io кто в курсе? любой запрос 404 отдает
ВТ
18:21
Влад Тупичка
In reply to this message
У меня при вызове wallet.getAddress() ошибка:

Тяжело работать с относительно новой сетью)
AP
18:24
Andrew Python
In reply to this message
Добавь await перед wallet.getAddress()
18:25
In reply to this message
А зачем ключи в hex переводить?
в примерах обычно просто
tonweb.wallet.create({ publicKey: keyPair.publicKey });
DK
19:32
Dmitry Korobeynikov
Всем привет! Пытаюсь написать на Python бота в телеграме, который по нажатию кнопки должен отправлять определённое количество TON coin на кошелёк пользователя. Использую библиотеку psylopunk/pytonlib и метод из неё:

async def send_money_async(to_address, amount, message):
try:
client = TonlibClient()
await client.init_tonlib(cdll_path = cdll_folder + "tonlibjson.amd64.dll")
wallet = await client.import_wallet(seed)
await wallet.transfer(to_address, amount_nano, comment=message)

Поскольку функция асинхронная, в коде вызываю её так:

loop1 = asyncio.new_event_loop()
asyncio.set_event_loop(loop1)
loop1.run_until_complete(send_money_async(to_address, amount, message))

for task in asyncio.all_tasks(loop=loop1):
if not task.cancelled() and not task.done():
task.cancel()
loop1.stop()

Но проблема в том, что каждое нажатие кнопки в боте вызывает создание новой задачи в loop, и они так и висят в памяти, несмотря на то, что принудительно в цикле делаю cancel.
При полной остановке бота вижу ошибки:
2022-07-05 21:23:55,799 | asyncio | ERROR | Task was destroyed but it is pending!
task: <Task pending name='Task-11' coro=<TonLib.read_results() done, defined at ...tonlibjson.py:108> wait_for=<Future pending cb=[Task.task_wakeup()]>>
2022-07-05 21:23:55,799 | asyncio | ERROR | Task was destroyed but it is pending!
task: <Task pending name='Task-12' coro=<TonLib.del_expired_futures() done, defined at ....tonlibjson.py:134> wait_for=<Future pending cb=[Task.task_wakeup()]>>
2022-07-05 21:23:55,801 | asyncio | ERROR | Task was destroyed but it is pending!

Кто может подсказать, как сделать, чтобы после совершения платежа задачи закрывались и не множились после каждого нажатия кнопки?
А
19:53
Андрей
In reply to this message
Запоминать что кнопку уже нажали и не множить
DK
19:54
Dmitry Korobeynikov
In reply to this message
Да нет, многочисленное нажатие - это как раз нормально. Сколько раз жмёшь - столько платежей должно отправляться. Но работать должно так:
1) Нажали кнопку
2) Создался поток и задача отправки денег
3) Отправка завершилась, задача закрылась, поток закрылся
И всё, в памяти чисто, никаких висящих и незакрытых задач, как до нажатия кнопки.
19:55
А сейчас получается, что задача после отправки денег не закрывается, loop - тоже. И всё это плодится с каждым нажатием.
a
19:58
assemblerx64
In reply to this message
Они должны завершаться после таймаута, но отправить много раз подряд транзакции не получится сразу
DK
19:59
Dmitry Korobeynikov
In reply to this message
А там не нужно много. Просто даже если 10 пользователей в течение дня нажмут 1 раз на кнопку, то в памяти будет висеть 10 задач. Как поставить таймаут, чтобы они закрывались? Или принудительно их закрыть как-нибудь
a
20:01
assemblerx64
In reply to this message
Да? Гляну, должно закрываться, сорри если весь день висят
IG
20:07
Ilia Gaevskii
А может кто ответить на вопрос и рассказать почему это так работает? :)

https://t.me/tondev/80414
DK
20:15
Dmitry Korobeynikov
In reply to this message
Сработало так:

asyncio.run(send_money_async(to_address, amount, message))
А
20:19
Андрей
In reply to this message
@type - какого типа поле
То что разные типы в одном списке - быть не должно
a
20:23
assemblerx64
In reply to this message
Странная тема. Но я думаю у меня старый обработчик самих запросов, адаптирую тот что у официальной либы, там должно быть получше
DK
20:24
Dmitry Korobeynikov
In reply to this message
Спасибо огромное! напиши, пожалуйста, когда будет готово, чтобы обновиться
A
20:24
Alexander
https://github.com/tonkeeper/tonapi
кто-то пользовался?
d
22:00
default
ребята предупреждаю
22:00
@Bar_bam скамер
22:00
не верьте ему
22:00
обманул меня и вас тоже сможет обмануть
22:01
вот пруфы если кто не верит
T
22:01
Tim
Дней без скама в чате: 0
d
22:02
default
In reply to this message
+
22:02
жалко что так
22:02
ты доверяешь людям
22:02
а они тебя кидают
22:02
In reply to this message
если кто не поверит могу скинуть в лс скрины
J
22:02
Jack Rotgar
In reply to this message
Жду пруфы :)
d
22:03
default
ща
IG
22:33
Ilia Gaevskii
In reply to this message
А что если они есть? :)

И какие могут быть еще?
22:34
In reply to this message
И мне
AB
22:40
Aleksandr Baranov
In reply to this message
заскамили получается
аК
23:02
агент Купер
Доброго времени суток! Как может так случиться, что адрес в tonkeeper state:inactive?
6 July 2022
SV
06:28
Sergei Voroshilov
In reply to this message
Пока что нет такого. Но вроде в планах есть. Называется TON Reserve
06:33
Не, сейчас нету вообще. Это должен быть отдельный смарт-контракт, но он ещё не реализован, да и в Roadmap его тоже нет. Может потом появится
N
09:17
Nick
Всем привет, хочу написать в тг бота, для отслеживания продаж по нфт коллекциям
Понимаю как писать бота, но не понимаю как взаимодействовать с контрактами и как понимать, что нфт item был продан
Может кто-то подсказать, где поискать инфу, может есть референсы какие-то?
Нашел только пример создания nft коллекции/nft item
OB
09:21
Oleg Baranov
In reply to this message
привет, можешь следить за транзакциями в блоке и по пейлоаду транзакции определять смену владельцев
N
09:22
Nick
In reply to this message
Окей, а как парсить пейлоад ?
OB
09:22
Oleg Baranov
есть пример на Go, мониторинг транзакций блоков
https://github.com/xssnick/tonutils-go/blob/master/example/block-scan/main.go
09:23
пейлоад это боди, там внутри целл с данными, у сообщения смены владельца/передачи есть вначале свой идентификатор, можно парсить и по нему определять + если совпал проверять что адрес это настоящий нфт
09:26
https://github.com/xssnick/tonutils-go/blob/master/liteclient/tlb/message.go#L45 вот в этом поле пейлоад будет, в In сообщении у транзакции
09:27
а дальше как в FunC, .BeginParse().LoadUInt(32)
09:29
и вот тут пример получения инфы об нфт
https://github.com/xssnick/tonutils-go/blob/master/example/nft-info/main.go

это второй шаг
09:29
если овнер сменился - значит передали)
D
09:45
Daniil
[ 0][t 0][2022-07-06 06:43:59.2795079][Status.h:571][&status_.is_ok()] [Error : 0 : Wrong encoding]

Подскажите пожалуйста, что делать?
N
09:46
Nick
In reply to this message
спасибо
ВТ
10:00
Влад Тупичка
Долго не мог понять почему не могу отправить транзакцию, когда вроде через одну фразу на 24 слова идёт а через вторую нет. Версии кошельков такие же, на балансе тонкоины есть
Ошибка я так понимаю в первой букве адреса. Там E а там U
Как создать кошелёк с первой буквой Е (tonweb node js) и в чём разница?
10:04
In reply to this message
Нашёл это. Можно работать с кошельками которые начинаются с буквы U, и если да то как их создать?
OB
10:07
Oleg Baranov
U - non bounceable
E - bouneable
10:08
адрес кошелька по факту один только конфиг разный
10:09
это какк 2 адреса ведущие в 1 твой кошелек, разное поведение в случчае ошибки выполнения контракта будет только, те что е E - перевод вернется тебе в случае ошибки, а те что с U - останется на контракте где ошибка произошла
10:10
хотя может я перепутал буквы, ща проетсчу)
10:11
а есть адрес с U? для примера
10:13
протестил:
EQCD39VS5jcptHL8vMjEXrzGaRcCVYto7HUn4bpAOg8xqB2N

UQCD39VS5jcptHL8vMjEXrzGaRcCVYto7HUn4bpAOg8xqEBI
10:13
1 аккаунт
10:13
первый баунс второй нет
10:13
чтобы получить E просто поставь в флагах адреса баунс тру
ВТ
10:14
Влад Тупичка
https://testnet.tonscan.org/address/UQAxvgIxnUyvqXpUu91ZXlqYni6gDsiCq7-_RQAI2Ll5kv0S

Вот он. Создал его и запушил в блокчейн и только позже понял, что не могу отправлять тоны т.к. первая буква)
С другим кошельком который создал через тонкипер на тестнете, и где первая буква Е всё хорошо
10:14
In reply to this message
Спасибо, сейчас попытаюсь
OB
10:15
Oleg Baranov
EQAxvgIxnUyvqXpUu91ZXlqYni6gDsiCq7-_RQAI2Ll5kqDX
вот твой адрес с баунсом
T
10:15
TON Дев Чат
In reply to this message
Y
10:59
Yaroslav 🏄🏻‍♂️
Y
Yaroslav 🏄🏻‍♂️ 06.07.2022 10:57:22
Я в курсе, что вы не тон, но вы ближе всех из тех у кого можно спросить. Порты/врапперы стейблкоинов на тоне планируются/есть?
А
11:35
Андрей
In reply to this message
Вообще то мы и есть тон - ton.org

Upd: репост смысла сообщения не меняет
Y
11:36
Yaroslav 🏄🏻‍♂️
In reply to this message
Этож репост)
OB
12:10
Oleg Baranov
Новая версия golang либы для работы с TON, v0.9.0!
https://github.com/xssnick/tonutils-go

Changelog:
1. Added LookupBlock method
2. Added GetOneTransaction method
3. Added GetAllShardsInfo method
4. Block scan example
5. Renamed GetBlockInfo to GetMasterchainInfo
6. Grams parse methods refactored
7. More code rewrited to TLB loader
8. Dict parser changed to fit FunC implementation
9. Added transformation functionality to TLB loader
10. Removed tlb.TxHash, replaced to simple []byte
11. Increased test coverage

Пример сканера блоков:
https://github.com/xssnick/tonutils-go/blob/master/example/block-scan/main.go
M
12:11
Michaił Øŋę⍢
In reply to this message
Новый сканер?
OB
12:12
Oleg Baranov
пример использования)
12:12
можно свой блокчеин эксплорер сделать например
T
12:19
TON Дев Чат
T
TON Jobs 06.07.2022 12:01:35
TON Foundation team is looking for a Smart-contract unit testing developer

Job Functions: Software Engineering, IT
Employment Types: Full-time
Locations: Remote

The TON Foundation is a non-incorporated, nonprofit association of developers and enthusiasts that exists to advance The Open Network blockchain and related products.

Responsibilities:
* Develop tests for TON smart-contracts on funC via toncli
* Develop tests for TON smart-contracts on JS/TS via ton-contract-executor
* Help with design of advanced testing systems a-la hardhat

Advantages:
* Opportunity to shape the future of TON smart-contract development and core governance smart-contracts
* Exponentially growing set of challenges 🙂

What we expect from you:
* The mindset of a code vulnerability hunter


Please send your resumes with a short summary of your technical experience to hr@ton.org
F
12:24
F
In reply to this message
Данный чат создан для обсуждения технических вопрос разработки на TON. Обсуждение цены является флудом
А
12:28
Андрей
In reply to this message
TON Reserve не существует
12:31
In reply to this message
Не важно во что вы верите, если этого не существует. И вообще это все оффтоп
V
12:39
Victor
In reply to this message
Неправильно адрес указал или версию кошелька. Не совпадает с сид-фразой.
12:47
Можно как-то ускорить минт?
Минчу со скриптом от даймондсов, но уж очень долго это получается, на 100 нфт ушло почти пол часа
SB
12:48
Sergey Belan
In reply to this message
в стандартном контракте коллекции есть батч минт, он быстрее в разы
T
12:58
Tim
In reply to this message
Либо батч, либо хайлоад
h
13:07
horoshiytyt
Всем привет , можете подсказать бота для создания airdrop NFT на тон? Желательно бесплатный
SB
13:14
Slavik Baranov
Всем привет!
Столкнулись вот с такой проблемой: из JNI native-lib вызываем:
- smc.load - возвращает id = 1
- smc.runGetMethod - возвращает корректный результат
- изменяем состояние контракта
- следующий smc.runGetMethod для id = 1 возвращает старый результат
- единственный способ получить обновления, который нашли - вызвать еще раз smc.load и после этого smc.runGetMethod для id = 2
- При этом, например, вызов getAccountState вызывает некоторое количество событий updateSyncState и после этого отдает обновленные данные контракта, но smc.runGetMethod(id = 1) продолжает возвращать старый результат

Подскажите плз, это ожидаемое поведение? И есть ли какой-нибудь способ вызывать smc.runGetMethod на актуальных данных контракта?
T
13:15
Tim
In reply to this message
Главное не плати без гаранта
OB
13:16
Oleg Baranov
In reply to this message
привет, не знаю как конкретно в этой либе, но в тоне для вызова runGetMethod обычно передается блок относительно которого делается вызов, если блок новый то и вызов будет относительно нвоых данных, может там его как то передать в либе можно тоже?
13:17
обновление стейта должно закоммититься, потом будут доступны новые данные, тоесть тебе нужнно блок подождать в котором твоя транзакция будет
SB
13:19
Slavik Baranov
In reply to this message
Сигнатура метода из tl-файла такая:
smc.runGetMethod id:int53 method:smc.MethodId stack:vector<tvm.StackEntry> = smc.RunResult;

Никакого способа передать BlockId нет и выглядит так, что это не специфично для JNI-либы, а особенности tonlib в целом.

Блока точно дождались и другая копия того же контракта, загруженная позже, отдает корректный результат. И getAccountState отдает корректный результат
T
13:22
Tim
https://www.npmjs.com/package/ton-contract-executor если пользоваться этим будем так же, потому что runGetMethod просто дергает метод поверх загруженного в память массива байт. Не уверен конкретно в вашей либе, но кажется ситуация похожая
OB
13:23
Oleg Baranov
In reply to this message
хм, в самом лайтсервер протоколе там есть блок инфо, видимо тут еще какая то прослойка
SB
13:27
Slavik Baranov
In reply to this message
А lite-api доступен из tonlibjson?
OB
13:28
Oleg Baranov
этого не знаю, а вы под веб-фронт пишете?
13:31
если бек, то можете на го, тут блок явно передается и в лайтсервер напрямую запросы

пример:
https://github.com/xssnick/tonutils-go/blob/master/example/nft-info/main.go
SB
13:33
Slavik Baranov
In reply to this message
бек. Спасибо, буду ковырять код, смотреть, как здесь сделано
l
13:39
lp85d 💎
Ребята добрый день, помогите пожалуйста
Мне нужно генерировать адреса кошельков с окончанием lp85d
Как это можно реализовать?
AB
13:43
Andar Bahar💎
In reply to this message
А зачем тебе это нужно ???
OB
13:43
Oleg Baranov
In reply to this message
генерируешь в цикле пока окончание не совпадет)
l
13:44
lp85d 💎
In reply to this message
Тимур привет, ты недавно писал что у тебя получалось такие адреса генерировать для своей компании
Подскажи пожалуйста как это сделать
13:45
In reply to this message
Олег привет, помоги пожалуйста как это реализовать?
OB
13:46
Oleg Baranov
Если на go то

for {
w, err := wallet.FromSeed(api, wallet.NewSeed(), wallet.
V3)
if err != nil {
log.Fatalln("FromPrivateKey err:", err.Error())
return
}

if strings.HasSuffix(w.Address().String(), "lp85d") {
println("FOUND", w.Address().String())
}
}
l
13:46
lp85d 💎
In reply to this message
Андрей привет, мне они необходимы для своей компании
13:47
In reply to this message
Олег спасибо большое попробую понять
NN
14:59
Nick Nekilov
In reply to this message
s
15:20
sepеzho.copy
гайс, в чем дело?)
15:20
тон лежит?
NN
15:21
Nick Nekilov
Добавь ретрай логику 😁
s
15:21
sepеzho.copy
:C
T
15:22
TON Дев Чат
In reply to this message
Аккаунт к которому посылают сообщение - пустой. Ни кода, ни денег
15:23
Вообще сообщения лайтсервера когда он на экстернал ругается уже можно и нужно читать. В тестнете он даже трейс и где ошибка показывает.
V
15:26
Victor
In reply to this message
Круть
A
15:35
Alexander
Ребята, привет! В чем может быть проблема при подключении к тестнету через лайтклиент?
15:35
К мэйннету коннектится при этом
ВТ
15:48
Влад Тупичка
Создал кошелёк на тонкипере в тестнете, и с него транзакции идут
После этого создал кошелёк через тонвеб js (отправил на него несколько тестовых тонов, активировал, и запушил в блокчейн), но когда подставляю сид фразу кошелька который сам создал вместо тонкипера, в консоле ошибка: LITE_SERVER_UNKNOWN: cannot apply external message to current state : Failed to unpack account state

В чём может быть проблема?
*версия кошелька такая же
T
15:49
TON Дев Чат
In reply to this message
Адреса у кошельков в кипере и тонвебе одинаковые?
15:49
In reply to this message
Выглядит как сетевая ошибка.
OB
15:50
Oleg Baranov
может конфиг старого тестнета?)
ВТ
15:52
Влад Тупичка
In reply to this message
В плане?
Если я правильно понимаю тогда да
A
15:54
Alexander
In reply to this message
тру! спасибо!
T
15:58
TON Дев Чат
In reply to this message
а можно тогда адрес в студию? Посмотрим, где что не так.
ВТ
15:59
Влад Тупичка
In reply to this message
EQAxvgIxnUyvqXpUu91ZXlqYni6gDsiCq7-_RQAI2Ll5kqDX - создан через tonweb

EQB0WA5aum3w4uvtfT4AUjWbqGOxrK3oFekzPEe7qNU42-B1 - с этого всё проходит
T
16:00
TON Дев Чат
In reply to this message
А точно в тонвебе верный провайдер, не от мейннета например? если баланс запросить - верно возвращает?
ВТ
16:17
Влад Тупичка
In reply to this message
Да. Я создал в tonweb для тестнета кошелёк. При запросе баланса через .getBalance всё корректно, статус: Active

Сравнил с https://testnet.tonscan.org/address/EQAxvgIxnUyvqXpUu91ZXlqYni6gDsiCq7-_RQAI2Ll5kqDX
T
16:25
TON Дев Чат
In reply to this message
Так, а еще раз, в каком месте ошибка? Ее выдает toncenter при отправке экстернала из тонвеба?
ВТ
16:31
Влад Тупичка
Создал кошелёк через tonkeeper в тестнете. Начал оправлять крипту на другие кошельки в тестнете и всё окей. Потом создал через tonweb (js) кошелёк, закинул несколько тестовых монет, запушил в блокчейн. Он активировался
После этого заменил сид фразу на 24 слова в функции которой отправлял коины с кошелька который создал в тонкипере на кошелёк который создал через тонвеб. Всё то же самое только другая сид фраза, но не работает

При выводе кошелька в консоль всё показывает корректно, кроме seqno. Там null
При переводе ставлю seqno 0 но ошибка

Возможно сделал ошибку при создании кошелька
16:35
Deleted Account
Не работать с @qHdwdw12 @Lightning23 по любой теме и тем более не входить к ним в проект. Просто кидают кодеров. Работу выполнил в полном обьеме и даже больше их условий и они отказываются платить.
ИМ
16:36
Илья Михеев
Может сделать какой-то канал для такой инфы?
EV
16:37
Ellijah Vashkevich
Всем привет, подскажите, есть физически возможность получить код контракта из блокчейна?

Условно получаешь любым способом\либой storage контракта, существует ли логика парсинга и перевода код в фифт исходник ?
T
16:37
Tim
а зачем. все равно те кто попадаются не будут его читать
ИМ
16:37
Илья Михеев
справедливо
16:37
Deleted Account
@f_closer,@andreypfau,@abslzero кик их отсюда и у кого есть инфа по их проету, дайте линк.
a
16:37
assemblerx64
In reply to this message
Лол, только недавно же говорили что ты скамер
16:38
Deleted Account
In reply to this message
Там все норм, я не того локнул просто. =)))
16:38
Вот по этому и кодеры не воркают по пост оплате =))))
ИМ
16:38
Илья Михеев
In reply to this message
а почему не предлагать свои услуги через какой-нить сервис?
16:39
Deleted Account
In reply to this message
Ну условие было простое для предоплаты
DN
16:39
Doctor Nicolaj
А что за история что дикты юзать не желательно и что из можно заполнить так что потом никакого газа не будет хватать на их работу?
16:39
Deleted Account
20 мин работы, они 10 раз его поменяли в конце концов
16:39
и я сделал весь бот бесплатно
T
16:39
Tim
In reply to this message
Вроде ты её целиком описал
DN
16:39
Doctor Nicolaj
In reply to this message
На китах есть декомпилятор через ton-decompiler
16:40
In reply to this message
Да но не оч понятно как это работает как я не могу прикинуть оно будет требовать огромного числа записей
16:40
Есть реальное написание как это можно сделать?
T
16:41
Tim
Если у тебя тысячи - скорее всего будет нормально, пиши тесты
Если миллионы - ищи другие подходы
DN
16:42
Doctor Nicolaj
ну я много раз в разных чатах уже слышал про это но все равно странно, насколько глубокое дерево должно быть? оно не балансируется совсем?
OB
16:43
Oleg Baranov
оно там битово префиксное, чем более разные у тебя ключи тем оно глубже
DN
16:44
Doctor Nicolaj
да но какой лимит реально
OB
16:44
Oleg Baranov
зависит от ключа
16:44
если ключ 256 бит то 256 глубина макс по идее
DN
16:45
Doctor Nicolaj
ну это логично
EV
16:45
Ellijah Vashkevich
In reply to this message
Не найдется директ линка? tonwhales репозы просматривал чет не приметил
DN
16:45
Doctor Nicolaj
они часть в комьюнити выкидывают - https://github.com/ton-foundation/disassembler
16:46
In reply to this message
вот вопрос - значит ли это что контракт не сможет уже 256 прочитать?
16:46
а какая максимальная глубина в реальности?
OB
16:47
Oleg Baranov
по 500 газа на развертку рефа насколько я помню, вот 256*500 довольно много выходит) и это без учета чтения данных
DN
16:48
Doctor Nicolaj
всего на 28к больше лимита то есть?
16:48
а не проще поднять лимит в сети до 200к?
OB
16:48
Oleg Baranov
дернул контракт - остался без денег))
T
16:49
Tim
> Делаешь блокчейн с распределенной архитектурой
> Хочу хешмап
DN
16:49
Doctor Nicolaj
In reply to this message
это два тона всего
16:50
In reply to this message
это нормально, распределенность вовсе не значит что тебе нужно до основания все паралелить
NN
16:50
Nikolay Nick
А где есть дока как поднять liteserver?
T
16:50
Tim
К таким задачам надо подходить с реальной точки зрения а не теоретической
16:50
зачем тебе такой большой хешмап? Что за операция такая которая оправдает 2 тона комиссии? Сколько тон ты потратишь на заполнение мапы?
NN
16:51
Nikolay Nick
Благодарю 🙏
DN
16:51
Doctor Nicolaj
ну мне говорят что это опасно что злоумышленник сможет закидать хешмапу как-то
T
16:51
Tim
ну если у него будет туда доступ - конечно сможет
16:51
всегда есть число после которого твой контракт просто нереантабильным будет
DN
16:51
Doctor Nicolaj
ну так если будет лимит в 200к то уже не сможет и все?
16:52
или если ключ будет хотя бы 128 а не 256?
T
16:52
Tim
ну не только он не сможет но и твои юзеры
DN
16:52
Doctor Nicolaj
для дао который раз в тысячу лет что-то делает?
16:52
2 тона не помеха
T
16:52
Tim
ну сделай для дао мин вклад в 1000 тон, такой не переполнят
OB
16:53
Oleg Baranov
тут еще учитывай размер хранилища, очен жирное будет
DN
16:53
Doctor Nicolaj
я хочу подсчитать
16:53
In reply to this message
ну и что
OB
16:53
Oleg Baranov
кто то где то калькулятор делал
16:53
на сторедж фи
T
16:53
Tim
код же легко написать который будет наращивать мапу, напиши, запусти в эмуляторе, посмотри что выходит
DN
16:53
Doctor Nicolaj
16:54
это в секундах? или в каких-то других значениях не знаете?
T
16:55
Tim
да даже эмулятор кстати не нужен, можно же просто сериализовать и посмотреть размер
DN
16:55
Doctor Nicolaj
256 * 500 * (365 * 24 * 60 * 60) / (1000000000)
16:55
4k тонов в год?
16:56
чет дофига а зачем так?
16:56
как параметры были определены вообще у сети?
OB
16:56
Oleg Baranov
консенсусом вроде определяется
16:56
и может меняться
B
16:56
Barbara
In reply to this message
60 лишние , нет ?
OB
16:57
Oleg Baranov
но думаю ценность будет в том же районе что и щас
DN
16:57
Doctor Nicolaj
вроде это в секунду так что вроде нет
16:57
и зачем за ячейку столько брать?
T
16:58
Tim
In reply to this message
Это у тебя ячейки без даты?
OB
16:58
Oleg Baranov
упаковка-распаковка
DN
16:58
Doctor Nicolaj
да просто ячейки
OB
16:58
Oleg Baranov
дата отдельно)
T
16:58
Tim
+1000 даты на каждую ещё получается
DK
16:58
Dmitry Korobeynikov
Всем привет! Есть тут кто-то, кто пользуется питоновской библиотекой psylopunk/pytonlib на Линуксе (Debian)?
Я успешно запустил код на Windows с файлом tonlibjson.amd64.dll , но когда переношу его на Debian , то оба файла для линукса - libtonlibjson.x86_64.so и libtonlibjson.aarch64.so падают с ошибками.

libtonlibjson.x86_64.so
[ 0][t 1][2022-07-06 12:31:25.760624378][ActorExecutor.cpp:228][!Tonlib]        Check `Unreachable` failed
Aborted

libtonlibjson.aarch64.so
/python/nft_auction_bot/lib/libtonlibjson.aarch64.so: cannot open shared object file: No such file or directory
Exception ignored in: <function TonLib.__del__ at 0x7f4038d4a310>
Traceback (most recent call last):
File "/python/nft_auction_bot/venv_nft_auction_bot/lib/python3.9/site-packages/ton/tonlibjson.py", line 61, in __del__
asyncio.ensure_future(self.restart_hook(), loop=self.loop)
AttributeError: 'TonLib' object has no attribute 'restart_hook'

Убил кучу времени, но не понимаю, как это добро запустить (((
DN
16:58
Doctor Nicolaj
In reply to this message
с чего? можно и в пару бит уложиться
16:58
так что 502
T
16:58
Tim
зачем тебе 256 ячеек если там по паре бит 😂
DN
16:59
Doctor Nicolaj
ну так дикты работают вроде
OB
17:00
Oleg Baranov
In reply to this message
привет, могу порекомендовать golang 😄
можно где угодно запустить, без зависимостей
https://github.com/xssnick/tonutils-go
DN
17:00
Doctor Nicolaj
не понятно почему все так дорого
17:00
а где обсуждения валидаторов? где вообще это общение идет?
17:01
какой тренд вообще? цену собираются снижать или нет?
17:02
а то сейчас уже дороже эфира выходит
DK
17:02
Dmitry Korobeynikov
In reply to this message
У меня там очень много кода уже на python написано, не хочется всё на другой язык перетаскивать (( Или есть какой-то способ одну функцию отправки денег реализовать на golang и вызвать её из питона?
#卍
17:04
# ZVZVбетон 🤡 𑲯𑲯𑲯𑲯𑲯 𑲯𑲯𑲯𑲯𑲯 𝙋𝙧𝙚𝙢𝙞𝙪𝙢 ۣۣۣۣۣۣۗۗۗـْۣۣۣۗۗـْْۣۣۣۗۗـۣۣۣۗۗ 卍٭.ⷫ ꙵ ⷥ ⷣ ⷷ ⷰ𓆏𒈔ههههههههs̶̛̈͆͂͛̾̐̍̽̂͐̉̒̈́͊̏͑̐̈́̆̂̽̾̓̚̕͝͠͝͠ ͐̆͆̂̒̈́̀
In reply to this message
можно через os или subprocess дергать голанг
OB
17:04
Oleg Baranov
In reply to this message
из скомпилированой бибилиотеки можно дергать, но это жестко будет) можешь на го сделать сервер с хттп апи и его с питона дергать
DK
17:04
Dmitry Korobeynikov
В целом, если есть какой-то другой способ просто из питона выполнить процедуру "отправить с кошелька ХХХ (сид фраза известна) на кошелёк YYY определённую сумму (с комментарием ZZZ)", то я с радостью покопаю. Только нужен хоть какой-то толчок в нужном направлении)
NN
17:06
Nikolay Nick
я правильно понимаю что для отслеживания транзакций входящих/исходящих. отправлений средств достаточно liteserver+любой sdk?
OB
17:06
Oleg Baranov
In reply to this message
ага, блоки мониторить и ловить нужные адреса
17:07
кстати я завтра планирую релизнуть бота с подпиской на транзакции, можно будет подписаться и получать вебхуки о поступающих платежах на адрес со всей инфой
17:07
если кому интересно - скажите)
P
17:07
Project Manager
In reply to this message
Свой лайт сервер + обернуть это в свой API например
NN
17:08
Nikolay Nick
а тулзы для мониторинга блоков на транзы с необходимми адресами уже есть? или писать надо своё?
P
17:08
Project Manager
In reply to this message
OB
17:09
Oleg Baranov
In reply to this message
https://github.com/xssnick/tonutils-go/blob/master/example/block-scan/main.go
например, но тут под себя допилить нужно
17:09
либо могу тебе слать вебхуки) у меня поднят лайтсервер и такая штука
NN
17:09
Nikolay Nick
ясно, благодарю. посмотрю. будем думать
17:11
In reply to this message
ну хуки то хуками. ещё ж и отправлять транзы нужно. своя нода то безопаснее
T
17:11
Tim
отправлять транзы безопасно через что угодно
OB
17:12
Oleg Baranov
хук просто для удобства, при его получении можно сходить и перепроверить куда хочется)
17:12
чтоб блоки не читать
С
17:12
Семён🦂
Всем привет! Я project manager проекта TonCells. Не рискну вставить ссылку, может в бан кинуть)))

TonCells - первая коллекция с редактируемыми NFT на платформе TON. По крайней мере первая в своем роде.

Нам в срочном порядке нужен pr, который сможет вести эффективную деятельность на проекте

Если кто-то заинтересуется - прошу в лс, более подробно опишу условия, структуру работы, зп и.т.д.

Также требуется nodejs разработчик.
AP
17:26
Andrey Pfau
In reply to this message
Чтобы таких историй не было, нужно работать через грантов, ну сколько раз повторять 😞🥺
17:28
Deleted Account
In reply to this message
Там работы до предоплаты было на 20 минут, они все начали переворачивать и я сделал весь бот им. Обычно работаю по 50% предоплате, но так вышло 😭
17:28
Хорошо что исходник не отдал 😊
ИМ
17:28
Илья Михеев
ахах, ну это хоть ладно
17:29
Deleted Account
In reply to this message
Время то все равно потеряно к сожалению.
F
17:46
F
In reply to this message
А откуда вы берете libtonlibjson.x86_64.so и libtonlibjson.aarch64.so?
Скорее всего вам нужен бинарник, который вы сами соберёте на конечном устройстве.
DK
17:47
Dmitry Korobeynikov
In reply to this message
Вот здесь есть ссылка на эти библиотеки в готовом виде - https://github.com/psylopunk/pytonlib/issues/7

Я качаю из папки для линукса - https://github.com/toncenter/pytonlib/tree/main/pytonlib/distlib/linux
Там есть вот такие файлы
17:48
Раньше использовал dll-файл для Windows в том виде, в котором он там же лежит. А тут нужно как-то его руками собирать?
F
17:53
F
In reply to this message
Сталкивался с тем что бинарник собранный для одного процессора не работает на другом сервере с другим процессором (linux)

Если не хочется разбираться и конечное устройство позволяет установить mytonctrl в режиме lite, то он скомпилирует вам libtonlibjson.so (вместе со всеми ненужными компонентами TOM)
Далее копируете его из /usr/bin/ton/... в свою папку и удаляете mytonctrl.

А если хочется самому скомпилировать, то документация - сила:
https://ton.org/docs/#/compile
AT
18:03
Andrey Tvorozhkov
In reply to this message
Есть зеростейт со всеми конфигами. Голосованием валидаторов их можно менять
ВТ
18:10
Влад Тупичка
Какая сумма тон должна быть на кошельке, чтобы его успешно создало и приняло в сеть?
А
18:11
Андрей
In reply to this message
Вроде 0.01
IG
18:44
Ilia Gaevskii
Я склонил проект, сбилдил и инстальнул его через python3 setup.py, при попытки запуска оно падает, а Я не могу понять что за модуль ему нужен

Помогите пж :(
NA
18:53
Narek Abovyan
In reply to this message
там еще надо на 2^16 поделить
18:53
Я маленькую статейку по поводу накидывал, там пример кода есть который считает - https://github.com/ton-tek/cookbook/blob/main/articles/storage-fees.md
DN
18:54
Doctor Nicolaj
In reply to this message
То есть сторейдж почти ноль?
NA
18:54
Narek Abovyan
почти да
18:55
ну типа 1 мегабайт на воркчейне стоит ~4 тона в год
18:55
С текущим курсом - копейки прямо
ВТ
18:57
Влад Тупичка
Почему если создать елемент валлет так:
const WalletClass = tonweb.wallet.all["v4R2"];
const wallet = new WalletClass(tonweb.provider, {
publicKey: keyPair.publicKey
});

тогда получается один кошелёк, а если
const wallet = tonweb.wallet.create({publicKey: keyPair.publicKey});
Тогда совсем второй. Один мой, второй не активирован

Это из-за версии кошелька?
T
18:57
Tim
In reply to this message
да
DN
18:57
Doctor Nicolaj
In reply to this message
Выходит нужно всего лишь поднять лимит по газу или стоимость распаковки ячейки в два раза и невозможно будет убить контракт?
T
18:57
Tim
кошельков же много разных
DN
18:58
Doctor Nicolaj
Почему это просто не сделать сразу? Почему надо заставлять хранить данные в сотне контрактов?
18:58
Если контракт раз в день дай бог будет что-то делать
ВТ
18:58
Влад Тупичка
In reply to this message
Где можно об этом почитать?
гуглил, но ничего не нашёл. Нашёл только что есть 3 версии, без описания
DN
18:59
Doctor Nicolaj
Это ведь невообразимо увеличивает опасность любого контракта?
ВТ
19:01
Влад Тупичка
In reply to this message
Спасибо)
a
19:05
assemblerx64
In reply to this message
((
IG
19:10
Ilia Gaevskii
In reply to this message
👀👀👀
І
19:15
Ігор
всем привет, кто знает как можна в opensea узнать является ли юзер создателем нфт?
IG
19:32
Ilia Gaevskii
И еще вопрос. Как правильно достать транзакции за определённый период?

Я использую pyTONv3, в исходниках нашел параметры для запроса, в исходникак ton-http-api узнал что lt должно быть обязательно с hash, достал все от сюда но по итогу не могу достать нужные транзакции за определенный период времени :(
RA
19:32
Real Art
In reply to this message
На страницу коллекции заходишь
Там будет смартконтракт в описании
Смотришь его в эксплорере и увидишь кто минтил изначально (какой адрес)
RG
19:35
Ruslan Gabdullin
In reply to this message
Привет. В репозитории по второй ссылке мы обновляем бинари при выходе обновлений. Сейчас разве что отстали немного. Можно брать оттуда, можно брать из артефактов в Actions в основном репо: https://github.com/ton-blockchain/ton/actions
DK
19:37
Dmitry Korobeynikov
In reply to this message
Вот библиотеки .so из этой ссылки как раз и не работают (( А по ссылке https://github.com/ton-blockchain/ton/actions где можно для Linux найти библиотеку?
RG
19:38
Ruslan Gabdullin
А, понял. Видимо из-за разницы в операционных системах. Для Debian нету собранных бинарей, но ты можешь собрать их по докерфайлу отсюда: https://github.com/kdimentionaltree/ton-builder
IG
19:42
Ilia Gaevskii
In reply to this message
А есть собранный ton-http-api под дебиан с амд?
RG
19:44
Ruslan Gabdullin
Не совсем. Готовые бинари в ton-http-api были собраны под Ubuntu 20.04
19:45
Под архитектуру amd64 = x86_64
19:46
И они пока не работают в ОСях, отличных от убунты (даже если версия меняется, могут быть проблемы)
19:46
In reply to this message
Собрать себе бинарь можно по командам в докерфайле amd64.Dockerfile из вот этого репо
І
19:46
Ігор
In reply to this message
спасибо
IG
19:47
Ilia Gaevskii
In reply to this message
Да, Я заметил у меня деб 10 и не работает докер. Попробовал собрать через исходники, но словил это
RG
19:49
Ruslan Gabdullin
In reply to this message
Странно. А попробуй через pip install ton-http-api
19:49
И добавь флаг -U
19:49
Чтобы обновить
IG
19:55
Ilia Gaevskii
In reply to this message
Склонил последнее git pull
19:55
In reply to this message
Мне бы хотелось его самому установить, чтобы иметь возможно модифицироваться в своих интересах
RG
19:56
Ruslan Gabdullin
In reply to this message
Вообще должно сработать pip install -U ./ton-http-api/ из корня репо
IG
19:58
Ilia Gaevskii
In reply to this message
Спасибо, как попробую так напишу
І
20:09
Ігор
всем привет, есть кто работал с api opensea? мне нужно получить данние, являеться ли юзер создателем нфт, или коллекции
NN
20:24
Nick Nekilov
In reply to this message
1. OpenSea часто не отдает это (если это есть в с asset_contract.owner, но обычно там null).
2. Это чат не про OpenSea и не про Ethereum.
І
20:26
Ігор
ок, сорян, спасибо за ответ
IG
20:33
Ilia Gaevskii
In reply to this message
Попробовал, теперь Я могу выполнить —help. Но при запуске ловлю бегущий лог ошибок. Как Я понимаю он не может сконектиться с тонлибом, но Я не понимаю где и что мне надо указать. По идеи все мое находится в дэфолтных значениях
T
20:35
Tim
Надо скомпилировать на этой машине тонлиб
IG
20:35
Ilia Gaevskii
In reply to this message
ну у меня есть рабочий валидатор и pyTONv3 работает
20:35
Это не то? Где Я могу его посмотреть/использовать
T
20:36
Tim
In reply to this message
Ну мне не жалко. В логе написано что нет glibc
20:36
Если вы не знаете что это такое - самое просто скомпилить на этой машине с нуля
IG
21:14
Ilia Gaevskii
In reply to this message
На сколько мне помог гугл, это системная либа, котоаря не должна трогаться. По этому Я и пишу, может тут с этим сталкивались и знают как фиксить
AP
21:49
Android P
Сколько мин монет нужно для валидатора?
tonmon.xyz -> Participants stakes не понял.
На скрине у валидаторов 10к тотал. Значит ли это что 10к хватает?
M
21:50
Mr. B
In reply to this message
От 300к на одну фазу по идее
AP
21:52
Android P
Почему на tonvalidators.org 10к в списке?
А
22:01
Андрей
In reply to this message
Потому что там не список валидаторов, а список пулов для возможности номинирования в них.
AP
22:04
Android P
In reply to this message
ок, спасиб) тут в participants stakes есть 20к. в какой роли выступают эти 20к?
А
22:10
Андрей
In reply to this message
В роли:
- "У меня есть 20к, сделайте меня валиком"
- "Нет"

Как работают выборы расписано в WP (whitepaper) или где то в куче документации
RG
22:10
Ruslan Gabdullin
In reply to this message
Ой печаль какая. Подскажи версию ОС?
D
23:27
Danielle
Всем привет, кто-то знает, как работает TON/ETH bridge?
A
23:29
Alexander
Ребята, подскажите, пожалуйста, пустой новосозданный кошелек нельзя задеплоить? Постоянно получаю ошибку: cannot apply external message to current state : Failed to unpack account state
AP
23:30
Andrew Python
In reply to this message
для деплоя надо небольшую сумму на кошельке иметь
A
23:31
Alexander
Понял, спасибо. А сколько приблизительно? Такое ощущение, что 1000000 nano не хватает
23:31
Это 0.001 TON
AP
23:33
Andrew Python
In reply to this message
toncli по дефолту кидает 0.05 на контракты перед деплоем
IG
23:34
Ilia Gaevskii
А с таким сталкивался кто?

Я не понимаю что с этим делать :(
A
23:35
Alexander
Понял. Получается, если я хочу создать новый кошелек, то алгоритм следующий:
1. Сгенерить пару ключей
2. Получить address для нужной версии кошелька (например V3R2)
3. Попросить друга скинуть мне около 0.05 TON на новый адресс
4. Задеплоить его после пополнения, чтобы он активировался
...
5. PROFIT, у меня активный кошелек

Я прав?
AP
23:40
Andrew Python
In reply to this message
Да. Но ещё можно деплоить кошель через internal message (вместе с теми 0.05 TON)
7 July 2022
A
00:13
Alexander
Понял, спасибо
00:17
А можно с кошелька V3R2 сделать перевод на кошелек другой версии?
IG
00:18
Idea💡 Good or ...
In reply to this message
Можно
A
00:19
Alexander
Спасибо
АД
02:47
Александр Добрый
сколько тут всего интересного .. )
02:52
🤓
D
03:08
Danielle
Кто знает как делать ораклы в ТОН?
CZ
07:38
Chak Zefir
In reply to this message
Мы ресёрчили, и поняли что это сложно в основном с тчк зрения безопасности
07:38
In reply to this message
Ну и спойлер никто их пока не делал в ТОНе
АД
07:40
Александр Добрый
In reply to this message
А что это такое , оракл?
NN
07:58
Nick Nekilov
In reply to this message
А какие нюансы с безопасностью? 🤔
А
08:13
Андрей
In reply to this message
Оракул - это источник данных, который отправляет информацию в блокчейн.
По факту даже обычный кошелек может быть оракулом, который раз в минуту отправляет самому себе курсы валют в комментариях.
s
08:22
sd
а я думал, такие вещи называются - бот..
CZ
08:30
Chak Zefir
In reply to this message
В плане того что они как поставщики инфы в сети, являются самым лакомым куском для злоумышленников.

Просто находили много случаев когда меняли дату в оракуле и это приводило к масштабным проблемам.
АД
08:43
Александр Добрый
In reply to this message
А разве нельзя выставить неизменность данных в оракуле ? Для защиты его оболочки
ВТ
08:44
Влад Тупичка
Насколько затратно чекать каждые 10 секунд 10 последних транзакций на тонвебе?
s
08:46
sd
да хоть раз в секунду, если рейт лимит апи позволяет.
CZ
08:56
Chak Zefir
In reply to this message
Но там ведь в этом и суть, что данные в оракуле динамические. Иначе их можно в сети просто хранить
Д
09:19
Дмитрий
Ребят, всем привет, как можно делать логаут на сайте с расширением официальным?
09:19
Какой метод для логаута есть может?
s
10:28
sd
In reply to this message
всмысле как? так же как и без расширения
10:29
пользователь нажал кнопку выход - удалить куки, стереть сессию
OB
12:00
Oleg Baranov
Всем привет!

Я сделал бесплатный сервис для подписки на входящие транзакции любых 💎 TON адресов. @TonutilsBot

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

Если кто то сомневается в честности - после вебхука можно сходить куда то и перепроверить транзакцию) Сервис сделан чисто для удобства TON Community! ☺️

Подписаться на транзакции можно с помощью бота @TonutilsBot
D
12:01
Danielle
In reply to this message
Как тогда работает мост с эфира на тон, если не через оракула?
V
12:07
Vitaly Yagodkin
In reply to this message
Not bad , может пригодится )
IG
13:31
Ilia Gaevskii
Хм. Кажется что Я либо корявый запрос делаю, либо что-то не так с лайтсервером мои😢

Данные беру с эксплорера

Что делать?
13:31
А
14:40
Андрей
In reply to this message
Скинь аргументы запроса текстом (addr, lt, hash), посмотрю у себя
с
14:43
сеймы здесь?
А чем masterchain отличается от basic chain?
IG
14:59
Ilia Gaevskii
In reply to this message
/getTransactions?address=EQA8784-qz3WrVYVo6YpjNxvMBu1UfBn3pmdFvfYnDRUEOk0&limit=10&lt=26722131000001&hash=B352D2E03F537F09AAB7FF1758DA9EB89675B7F1ACD928919E18E62FEEA5C351&archival=true

вот
F
15:09
F
In reply to this message
gM
16:15
georgiy Meliksetyan 🕊️💙🕊️
Всем привет, изучаю смарты, какая проблема, использую toncli, код отсюда - https://github.com/romanovichim/TonFunClessons_ru/blob/main/1lesson/firstlesson.md, у друга все нормально отрабатывает, у меня же при запросе функции возвращает 128253, если захардкодить число то нормально его выдает, не могу понять в чем проблема, терминал ошибок не выдает во время работы
SV
16:29
Sergei Voroshilov
In reply to this message
Круто! То, что нужно)
IG
17:27
Ilia Gaevskii
In reply to this message
А как взять правильный lt и хеш?

Я брал отсюда https://explorer.toncoin.org/

Зачем вообще хеш к lt?
V
17:30
Victor
In reply to this message
IG
17:49
Ilia Gaevskii
In reply to this message
Я хочу получать список транзакций за определённый период времени.

Как Я понимаю мне нужно указать логикал тайм блока, хэш блока с какого момента и лошакам тайм по который момент?

Как найти их если Я знаю юникстайм?
Я вроде нашёл их использую экплорер, но кажется это не то. Да и хотелось бы через код делать, какие методы дергать?
T
17:50
Tim
Не блока, а транзакции
17:50
получаешь последнюю транзакцию аккаунта и идешь по ней вглубь
17:50
Если ты хочешь просто все транзакции за какое-то время - парси блоки которые были в это время и их транзакции
IG
18:00
Ilia Gaevskii
То есть чтобы получить все транзакции по аккаунта, Я беру аккаунт получаю новые транзакции без параметров, а потом по последней транзакции вытаскиваю лк и хеш и.. а что дальше? Как мне глубже уйти?
T
18:01
Tim
Передаешь lt и хеш последней с конца транзакции в getTransactions
А
18:50
Абдурашид
Я человек
I
19:36
Ivan
In reply to this message
Пруфы?
ЛК
19:40
Лёша Красиво
Господа, знает ли кто, как написать в саппорт тон?
ИМ
19:41
Илья Михеев
У тон есть саппорт?
ЛК
19:45
Лёша Красиво
Mb
n
20:51
nma
In reply to this message
гб ддядь)
о
20:51
олег
Всем привет, не знаю куда написать, просто просматривал сайты тон вот решил здесь попробывать, я хочу реализовать проект. Чтобы было возможно пользоваться приложениями которые у нас теперь не доступны, возьму в пример спотифай, если кто не знает они предоставляют музыку для прослушивания, и реализовать это все на блокчейне тон, может подскажете где я могу написать кому будет интересно такое, или может здесь кому будет интересно, подробности все не буду здесь излогать, в голове есть идея и думаю она хорошо зайдёт
M
20:53
Mr. B
In reply to this message
Да, почему бы не сделать хер пойми что, да ещё и на блокчейн, вместо того, чтобы пользоваться VPN ☀️
ЛК
20:59
Лёша Красиво
Споти не оплатить
о
21:03
олег
1)Ну если я не путаю VPN в любом случае тормозит,2) да и много лишних тело движений надо для того чтобы слушать музыку на спотифай допустим, это ты может и умеешь как слушать на впн и не париться,а те кто хотят слушать и не знаю как, это геморрно, а тут будет приложение проплатил и пользуешься, да есть проблема захотят ли сами спотифай работать, но я не думаю что они хотят терять Российский рынок, да если даже не спотифай сколько приложений в плей макете которые не могут монетизироваться сейчас думаю найдуться те кто захочет на этот рынок вернуться
21:05
In reply to this message
Не оплатить согласен, а если хотят работать но не могут, из-за политики и мы придём к ним с решением
21:06
Вопрос ведь в геолакации
AB
22:09
Andar Bahar💎
In reply to this message
Парни нужно решение проблемы
22:10
unexpected token
22:10
=
22:10
может кто то встречался??\
IG
22:13
Ilia Gaevskii
In reply to this message
А смысл? он же покажет тоже самое? Как глубже уйти?

Я попробовал, поставил ласт лт и хеш в запрос, получил тоже самое :(
T
22:13
Tim
У меня все идёт
D
22:33
Danielle
Что делать, если деньги застряли в мосте TON-ETH ?😂😂
с
22:55
сергей
In reply to this message
Проводил тесты, сколько примерно занимает времени от момента попадание транзакции в блок и отправкой хука?
AP
22:58
Alexander Pominov
In reply to this message
а какая версия ноды?
OB
23:00
Oleg Baranov
In reply to this message
от создания транзакции до вебхука 8 сек примерно, от блока не мерил, секунды 3 дуумаю
AP
23:01
Andrey Pfau
Долго(
AP
23:01
Alexander Pominov
In reply to this message
Будь внимательнее с первыми уроками в этом репозитории, там достаточно много помарок.
Method_Id который тебе вернулся верный, ищи ошибку в другом месте)
OB
23:02
Oleg Baranov
In reply to this message
там есть время создания транзакции и время создания транзакции и время обнаружения в данных вебхука
23:02
In reply to this message
супер скорость целью не ставил) не думаю что это критично для такого)
T
23:03
Tim
А как в теории быстрее сделать?
OB
23:03
Oleg Baranov
если с моей стороны - убрать слип) между блоками у меня ожидание чтоб не перегружать просто так
23:04
3 сек слип
23:05
но время попадания транзакции в блок врятли как то можно ускорить)
NA
23:06
Narek Abovyan
Можно заимплементить аднл по юдп и притворяться нодой 🌚
T
23:07
Tim
In reply to this message
Давай подробнее 🌘
OB
23:07
Oleg Baranov
можно, но того не стоит как по мне для этой задачи)
NA
23:07
Narek Abovyan
In reply to this message
Ну я не ковырял, но в теории ноды между собой коммуницируют и синкаются же
23:07
Соответственно должны быть ивенты типа новый блок появился
AT
23:17
Andrey Tvorozhkov
In reply to this message
Там конечно знатные приколы
с
23:24
сергей
In reply to this message
аж стало интересно поковыряться в этом)
типо «я нода, я нода», а в тихую хуки высылаешь 🙂
A
23:34
Alexander
In reply to this message
Осталось только попасть в global config и будет профит 🙂
AP
23:36
Andrey Pfau
In reply to this message
Не обязательно, ноды друг о друге узнают по DHT
A
23:44
Alexander
Господа, а есть какие-то рекомендации, как правильно генерировать subwalletId в WalletV3R1, если я хочу реализовать что-то типа суб-кошельков по индексам? Спрашиваю, посколько дефолтный начинается вовсе не с нуля (698983191)
NA
23:45
Narek Abovyan
Да любой можно брать думаю
23:45
Просто в кошельках зайти не сможешь
A
23:46
Alexander
In reply to this message
В "стандартных" кошельках фичи переключения индекса нет?
AP
23:46
Andrey Pfau
In reply to this message
А это большая загадка. Это очень похоже на хеш от какой-то строки. Кто-то говорит что это первые 4 байта от sha256 чего то там, кто-то говорит что это crc32 или crc32c. Но никто не нашёл пока верного ответа на этот вопрос
NA
23:46
Narek Abovyan
In reply to this message
Не
AP
23:46
Andrey Pfau
In reply to this message
Нет(
A
23:46
Alexander
Очень жаль, конечно
NN
23:48
Nick Nekilov
SH
Seitaro Higuchi 30.04.2020 07:51:33
Дефолтный subwallet_id в десктопном кошельке это первые четыре байта от sha256(network_name), сейчас testnet2
NN
23:49
Nick Nekilov
Но на деле оно как-то не очень соответсвует действительности.
AP
23:49
Andrey Pfau
In reply to this message
Неа, уже опровергли это
A
23:49
Alexander
Anyway, пока нет поддержки в GUI, работать с этим не имеет большого смысла, как по мне
23:52
Андрей, если позволите, вопрос вам: в sdk на Kotlin есть возможность предварительного расчета fee для трансфера, типа того, как это сделано в Ton Web на JS? Я просто подробно изучал код и так и не нашел. Возможно плохо искал
AP
23:52
Andrey Pfau
In reply to this message
testnet2 это:
bc6cc93fa1e9b179ff0d4e4cf17c4dad8bba1320a177b407b21b449462069bf9
NN
23:52
Nick Nekilov
In reply to this message
8 July 2022
AP
00:11
Andrey Pfau
In reply to this message
Пока такого нет, но вообще интересная мысль. Надо будет в близжайшем апдейте реализовать
ИЛ
00:14
Илья Левин
Всем привет! Я разработчик на .net . Очень хочу начать развиваться программирования для платформы тон. Подскажите пожалуйста с чего начать, может быть есть курсы , гайды ?
A
00:15
Alexander
In reply to this message
Почему я спрашиваю. Допустим, у нас есть wallet с балансом X. Нам нужно его опустошить под 0. Как это правильно сделать? Как показали мои эксперименты, если ошибиться с amount и указать на капельку больше, чем X - fee, то транзакция "отскочит" и сожрет fee. Хотелось бы заранее прикинуть fee, чтобы знать, насколько можно разгуляться при трансфере 🙂
AP
00:17
Andrew Python
In reply to this message
Отправить 0 тон с модом 130
NN
00:19
Nick Nekilov
In reply to this message
Тут можно подробнее про mode почитать:
https://ton.org/docs/#/func/stdlib?id=send_raw_message
D
01:40
Dimitri
In reply to this message
AP
02:44
Andrey Pfau
In reply to this message
Тебе бана в TON Community мало и ты решил флудить на кошельки?
02:45
К слову TonHub автоматически помечает входящие транзакции с сообщением меньше 0.01 тон как спам
02:45
Надеюсь и остальные кошельки и Эксплореров последуют такому же примеру
O0
05:41
Object 0
In reply to this message
И 0.01 тоже.
N
06:05
NMI
In reply to this message
Ага ага
AC
09:20
AlexNet Crypto
Возможно как то вызвать гет метод на определенный блок/лт? И возможно посмотреть на определённый блок состояние контракта (баланс, данные)?
AT
09:31
Andrey Tvorozhkov
In reply to this message
Через lite client можно
09:31
Запустить гетметод. Там буквально при запуске передается блок на который ты хочешь запустить этот гет метод
09:31
А состояние - https://explorer.toncoin.org/
OB
09:53
Oleg Baranov
In reply to this message
Если кодом то можешь так:
https://github.com/xssnick/tonutils-go#account-info-and-transactions
вместо b передать результат LookupBlock метода с нужным seqno
AC
10:42
AlexNet Crypto
Спасибо за ответы! Поставил lite client, получилось сделать запрос. Подскажите что почитать, что бы лучше понимать lite client. Получил ответ [ -1 736 CS{Cell{0195, Cell - догадался что это cell), а вот что в ответе "-1 736" не совсем понимаю.
AP
10:43
Andrey Pfau
In reply to this message
Логично что два int
AC
10:46
AlexNet Crypto
Понял) Это массив данных, которые мы ожидали, а дальше их разбираем согласно схеме которую ожидаем от гет запроса.
AT
10:53
Andrey Tvorozhkov
In reply to this message
Там есть нюансы. Через лайтклиент нельзя по нормальному читать клетки и слайсы. Можете посмотреть в toncli там есть отдельный раздел о том, как запускать fift код поверх ответа лайтклиента. Очень удобно получается :)
AC
11:32
AlexNet Crypto
In reply to this message
Нашел https://github.com/disintar/toncli крутой инструмент! Только не смог там найти раздел, про который вы написали.
MK
11:47
Mick K
Доброго дня ребят, есть кто пишет на Rust/Motoko? Откликнетесь в лс пожалуйста 🙏🏽
DA
11:50
Dmitry Antonenko
Всем привет. Как тут репортить на всяких спамеров ?
11:50
In reply to this message
на Ruby on Rails разве что 😊
n
13:52
n3k
При отправке транзы через tonweb получаю { '@type': 'ok', '@extra': '1657277409.9602566:1:0.823570704444048' } и траназа уходит. Как хеш её получить ?
AP
14:37
Andrey Pfau
In reply to this message
Надо мантру читать что услуги только через гранта
14:37
Постоянно одно и то же)
N
14:37
NMI
In reply to this message
А здесь есть гаранты?
AP
14:37
Andrey Pfau
In reply to this message
Я могу выступить в качестве гаранта
N
14:38
NMI
In reply to this message
👍
AP
14:38
Andrey Pfau
Дел на 5 минут, а сэкономленные деньги и нервы обеспечены
IG
14:54
Ilia Gaevskii
Привет. Вопрос.
периодически ловлю от своего ton-http-api ошибку
{
"ok": false,
"error": "Liteserver timeout",
"code": 504
}
тоже своего же ЛК. ЛК и апи находятся на одном сервере, почему он ловит таймауты? И как этого избежать?
KK
14:54
Kirill Kirilenko
Всем привет, а есть где почитать инфу как отправлять нфт с кошелька на кошелек с помощью смарт контракта? Или может уже где-то пример можно посмотреть продажи нфт?
IG
14:56
Ilia Gaevskii
In reply to this message
Вообще где-то на просторах гитхаба тона есть стандарты смартконтрактов нфт, но как Я понял каждый магазин что-то дописывал, и на основе стандарта делал что-то свое.

И вроде в свободном доступе нет контрактов лидирующих магазинов

Мб меня кто-то поправит
KK
14:58
Kirill Kirilenko
In reply to this message
ну саму продажу нфт реализовать не так уж и сложно, я под эфириум написал уже все, начал перписывать под тон и разбираться заодно че тут да как и в итоге не могу найти как сам трансфер нфт сделать🙈
14:59
In reply to this message
https://github.com/ton-blockchain/TIPs/issues/62 скорее всего ты про это
IG
15:04
Ilia Gaevskii
Как через ton-http-api получить информацию о контракте адреса?
Как узнать что этот адрес это нфт?
15:06
Как вообще понять что этот адрес это нфт?

Как Я понимаю у каждого маркетплейса свой СК и будет разный контрактТайп?
T
15:06
Tim
In reply to this message
Дергать гет нфт дата
IG
15:07
Ilia Gaevskii
In reply to this message
Дергать где? в ton-http-api?
T
15:08
Tim
Для начала разобраться чем дергаешь) в тонвебе есть уже код получения информации нфт, смотри там
IG
15:11
Ilia Gaevskii
In reply to this message
Я вот передергиваю этим https://github.com/toncenter/ton-http-api

И как мне подсказывает свагер в нем нет ничего про нфт
15:12
In reply to this message
Тонвеб это либа которая расширяет возможности toncentra?
T
15:12
Tim
скорее использует а не расширяет
IG
15:16
Ilia Gaevskii
In reply to this message
То есть если Я хочу доставать информацию про нфт, мне кроме toncenter нужно ещё использовать ton web, либо писать самому логику парся тонцентр?
T
15:16
Tim
да
IG
15:17
Ilia Gaevskii
In reply to this message
Наверное будет глупый вопрос, но есть аналоги тонвеба на питоне? 😅
T
15:17
Tim
публичных которые парсят нфт вроде нет
IG
15:17
Ilia Gaevskii
In reply to this message
Спасибо!
KK
15:53
Kirill Kirilenko
In reply to this message
https://github.com/tonwhales/ton-nft/blob/main/packages/nft/trc721/trc721.fc
нашел вот такую штуку, осталось правда узнать нфт на деле поддерживают этот протокол или нет, есть идеи как можно проверить?
OB
16:08
Oleg Baranov
In reply to this message
То что тебе нужно есть на го)
https://github.com/xssnick/tonutils-go/blob/master/example/nft-info/main.go
IG
16:13
Ilia Gaevskii
In reply to this message
Звучит интереснее чем ЖС. Спасибо
Пойду почитаю
OB
16:14
Oleg Baranov
In reply to this message
Трансфер нфт это по сути транзакция с кошелька владельца на контракт нфт с инфой внутри о новом владельце, вот тут код нфт https://github.com/ton-blockchain/token-contract/blob/main/nft/nft-item.fc#L68 где то еще быыла схема но можно и тут глянуть, все строки где in_msg_body, последовательно
16:17
In reply to this message
вот тут понятней https://github.com/ton-blockchain/TIPs/issues/62
KK
16:21
Kirill Kirilenko
In reply to this message
я правильно понял, что, сначала юзеру надо будет отправить на смарт контракт нфт и смарт контракт уже со своего счета сможет её перенаправить дальше? То есть нельзя как на эфириуме отправить сразу с одного кошелька на другой?
OB
16:23
Oleg Baranov
разные принципы, нфт по сути тоже кошелек, и при трансфере в сторедже нфт меняется адрес владельца, по сути можно сделать трансфер кому то и даже его не опевестить, если не указать обратное
16:24
основное взаимодействие идет между кошельком владельца и нфт, а новый владелец уже просто оповещается что это теперь его (если это нужно)
V
16:26
Victor
@TrueCarry А почему этот минтер не минтит батчами?
T
16:26
Tim
Не было уверенности в надёжности метода на момент написания
IG
16:26
Ilia Gaevskii
In reply to this message
А Я правильно понимаю, что это не готовый продукт, а опенсорс, который надо взять и адаптировать под себя?

Тип там нет чего-то удобного тип 127.0.0.1:8000/get_nft_data

?
V
16:27
Victor
In reply to this message
Доработки не будет я так понимаю?
T
16:27
Tim
In reply to this message
А есть кто-то кто батчи протестил?
V
16:28
Victor
In reply to this message
Не знаю, а до скольки там можно минтить нфт в одном?
T
16:28
Tim
По коду 255 вроде
16:28
Мы хайлоадом минтили в итоге. Минимум изменений кода и достаточная скорость
V
16:29
Victor
Хайлоады через TonWeb же можно создать?
T
16:29
Tim
Через ton3-contracts можно
OB
16:31
Oleg Baranov
In reply to this message
ну это скорее как пример использованя голэнг библиотеки, так что да, нужно под себя дописать скрипт
16:31
а тебе надо единоразово и без кода?
V
16:31
Victor
In reply to this message
В отдельную веточку код не положили(
IG
16:34
Ilia Gaevskii
In reply to this message
Ну идеально это питон опенсорс который запуцскается легко в сервер.

не идеально это либо питон опенсорс либо готовый проект запускаемый в сервер 😅

Хочется использовать не думая, либо думать на том языке котоырй знаешь
T
16:35
Tim
В тоне ничего простого не будет ещё какое-то время) Даже если вы инфу об нфт вытащите, будут другие мелочи которые придется писать руками
OB
16:36
Oleg Baranov
можно прикрутить в 3 строки сервер на го к этому в принципе)
16:36
немного другое - но пример простого сервера на го)
https://gist.github.com/xssnick/1dab55e3a349d628a6b46ee3ffc5c5ea
T
16:37
Tim
In reply to this message
Пора уже делать toncenter на го
OB
16:37
Oleg Baranov
ага)
N
16:37
NMI
In reply to this message
давай, успеха ))
OB
16:37
Oleg Baranov
а вроде весь функционал уже есть, просто в апи обернуть осталось)
IG
16:43
Ilia Gaevskii
In reply to this message
да Я это понял уже. ищу меньшее зло, как говорится
16:45
In reply to this message
разобраться в синтаксисе и научиться запускать го, ну звучит легко 😂
T
16:46
Tim
можно жс тоже
IG
16:46
Ilia Gaevskii
In reply to this message
Да, как раз вернулся к просмотру твой ссылки с ЖС
16:47
или написать форк к ton-http-api
16:48
Как хорошо когда есть так много вариантов 🥲
D
16:58
Daniil
Есть где-нибудь инструкция по деплою жеттона? Разбираться полностью нет желания (да и смысла), поэтому нужна просто инструкция (желательно подробная)

UPD: jetton.live и подобные не подходят, т.к нужно задеплоить контракт с ICO
ВТ
17:24
Влад Тупичка
DA
17:26
Dmitry Antonenko
Всем привет
Друзья, подскажите, пожалуйста, с чего начать ?
Я так понимаю для начала нужно изучить Sodility или что-то вроде того
ПП
17:27
Просто Паша
In reply to this message
funC и fift
Е
17:28
Егор
In reply to this message
Где можно func изучать?
17:28
Где есть документация?
F
17:28
Ferrari Apple
ПП
17:29
Просто Паша
In reply to this message
DA
17:34
Dmitry Antonenko
Всем спасибо
VD
19:15
Victor Dm.
Народ, кто может подсказать где есть документации что объясняет https://ton.org/global-config.json, там я там вижу ключи, также вроде кодировку ed25519, порты и так далее, но не понимаю что к чему, почему ip c минусом, как применить к adnl протокол? где взять хост от туда или ip и есть хост?
AP
19:19
Andrey Pfau
In reply to this message
Это число в десятичной форме, просто переведи ее в байтовое представление и каждый отдельный байт это число в ipv4 адресе
19:22
"ip": -1307380867

Это в шеснадцатиричном представлении:
4DED0C83

4D - это 77
ED - это 237
0C - это 12
83 - это 131

Получается:
77.237.12.131
VD
19:24
Victor Dm.
In reply to this message
Благодарю, может еще вопрос там несколько nodes, я как понял они все одинаковы или каждый имеют свои функции?
NN
19:25
Nick Nekilov
In reply to this message
он умеет такое "проглатывать" - https://www.vultr.com/resources/ipv4-converter/
IG
19:28
Ilia Gaevskii
In reply to this message
А есть инфа зачем так сделали?
AP
19:31
Andrey Pfau
In reply to this message
Всмысле зачем?
19:32
Это один из видов представления массива байт
IG
19:32
Ilia Gaevskii
In reply to this message
Почему в конфиге апи адрес не в обычном формате, а в деситячном представлении 16ричного представляения айпи адреса
AP
19:32
Andrey Pfau
Как минимум из за оптимизации, парсинг строки затрачивает больше процессорного времени, чем битовые операции у целого числа
OB
19:36
Oleg Baranov
In reply to this message
и засунули его в жсон)
AP
19:37
Andrey Pfau
In reply to this message
А как иначе? Json быстрее парсить чем xml, ini, toml
19:37
Конфиг так или иначе явно не в бинарном виде нужно хранить, а в виде текстового файла
OB
19:38
Oleg Baranov
ну я имею ввиду, что так себе оптимизация для конфига, хранить айпишник интом в жсоне)
19:38
не сильно затратнее в чистом виде строкой хранить)
AP
19:38
Andrey Pfau
У тебя жс в мозгу
19:38
Все так делают
OB
19:39
Oleg Baranov
жса там нет) юзабилити мне кажется в случае с конфигом важнее пары мс на его загрузку)
19:40
единоразовая операция же при запуске по сути
19:40
особо ничего против не имею, но имхо - оптимизация так себе)
AP
19:41
Andrey Pfau
Везде в нормальных (высоконагруженных) системах ipv4 в виде массива байтов или в виде целого числа записывается
OB
19:43
Oleg Baranov
Но зачем, когда конфиги читают не только машины но и люди, а общепринятое представление айпишника это строка с точками.

Каждый раз приходится лезть и руками конвертить, я своего времени потрачу на это больше чем время на загрузку моей ноды этого конфига за 100 лет
19:45
еслиб речь шла про хранение данных в памяти или передачу по сети, то полностью согласен был бы
Н
20:42
Никита
Кто сейчас на Тон Конфе в спб ?
ND
22:13
Nikita Demidovich
А в чате есть мейнтейнеры этой библиотечки? Хотел бы поконтрибьютить.
https://github.com/toncenter/pytonlib
IG
22:26
Ilia Gaevskii
In reply to this message
А как работает эта функция? Вот она дергает call2, а она вызывает метод у СК?
Можно поподробнее рассказать как это работает?
T
22:26
Tim
вызывается rpc метод который через лайт сервер получает стейт контракта и по нему прогоняет в tvm запрос
IG
22:30
Ilia Gaevskii
In reply to this message
А как такое провернуть через тонцентр?
T
22:30
Tim
In reply to this message
так оно и работает через тонцентр
22:30
открой консоль браузера и посмотри вызовы
IG
22:31
Ilia Gaevskii
In reply to this message
А, вот тут. да?
T
22:31
Tim
наверное
IG
22:31
Ilia Gaevskii
Спасибо, ща попробую отпишуксь
22:34
In reply to this message
Что-то не то
T
22:35
Tim
так ты стак правильный передай
22:35
посмотри в консоли как тонвеб это делает
IG
22:38
Ilia Gaevskii
In reply to this message
Спасибо, посмотрел по сорсам тонвеба, он там ничего не передает.

Я поулчил вот такой ответ. Как из него понять что это нфт?
T
22:39
Tim
Из этого ответа можно только понять что это скорее всего не нфт)
IG
22:39
Ilia Gaevskii
Хм. Спасибо!
22:46
Вот Я запускаю с такими параметрами
{
"address": "EQB9W1-EPtPW0Q1rVVwoW4nm_lu-ePwaoQ2kcx3pZSfimLAC",
"method": "get_nft_data",
"stack": []
}


Получаю вот такой ответ
{
"ok": true,
"result": {
"@type": "smc.runResult",
"gas_used": 570,
"stack": [
[
"num",
"0x18fcf"
]
],
"exit_code": 11,
"@extra": "1657309290.9109347:3:0.7861520002386836"
}
}


Тут ничего не понятно.

С тем же адресом в explorer
выходит контракт тайп nft sale
22:46
22:46
T
22:47
Tim
Так это не нфт а сейл
22:48
Там другой метод
IG
22:48
Ilia Gaevskii
Ля, а в чем разница?
а какой метод нужен для нфт?
T
22:49
Tim
Для нфт этот, но ты Запрашиваешь сейл
22:49
EQClECPs0urecseTylhIMrfHu06DrJlaw3IJ83QRi3AUVbiq вот нфт
IG
22:50
Ilia Gaevskii
Вот, Я нашел нфт и забил ее слвоил вот это. Ща буду разбиратсья с этим чутодм
22:51
За что отвечает контракт NFT и контракт NFT SALE?
22:52
Сильно извнияюсь за все эти вопросы, но если есть линка где обо всем можнео почитать, Я буду дико рад
T
22:56
Tim
В стандарте нфт есть, где то выше линк
22:57
Как данные парсить смотрите в Тонвеб либо смарт контракте
IG
23:15
Ilia Gaevskii
In reply to this message
Почитал вот это, стало немного понятнее. С методами ознакомился.

Но вот информацию про nft sale не нашел
T
23:16
Tim
А её и нет. Есть метод get_sale_data, но как парсить надо угадывать
IG
23:17
Ilia Gaevskii
In reply to this message
Да и его нет :(
T
23:18
Tim
В runGetMethod
IG
23:21
Ilia Gaevskii
А пон.
И получается то что Я получаю, мне нужны байты парсить в адрес вот так, да?
23:21
T
23:22
Tim
Типо того
IG
23:23
Ilia Gaevskii
In reply to this message
уффф, спасибо!
23:37
In reply to this message
А зачем тут с криптобота перевели 5 тон на нфт? https://explorer.tonnft.tools/nft/EQClECPs0urecseTylhIMrfHu06DrJlaw3IJ83QRi3AUVbiq

Я правильно понимаю что контракт NFT это сама нфт, которая переходит от человека к человеку, а NFT SALE это контракт который переводит деньги с счета на счета( все комиссии) и нфт с кошелька на кошелек?
9 July 2022
I
01:59
Inokent 💎
Есть какие-нибудь гайды по pytonlib?
02:00
Я хочу управлять кошелкем через питон, не знаю с чего начать
V
02:07
Victor
In reply to this message
Емае, ну в процессе написание документации, в чём проблема? Там же все понятно
I
02:08
Inokent 💎
In reply to this message
Хочется апишечку шобы я захардкодил сид фразу от кошелька, и туда сюда монетки раскидывал
02:08
А в реадми мне показали только как boc отправлять куда-то
02:08
((
02:09
неужели полностью вайтпейпер тона читать придется, чтобы понять как это делать
VA
02:09
Vlad Arbatov
In reply to this message
я думаю, это могла быть наша royalty
PK
02:09
Peter Krivoschekov
Всем привет! Можете подсказать каие есть ресурсы или библиотеки для js/ts или еще что нибудь, которые помогут написать смарт-контракт ?
Буду очень благодарен!
IG
02:09
Ilia Gaevskii
In reply to this message
А как так? не понял.
V
02:10
Victor
In reply to this message
Ты про pytonlib от psylopunk?
I
02:10
Inokent 💎
In reply to this message
от тонцентра который
02:11
Т.е. мне нужен который от псилопанка?
02:11
От Максима получается
02:11
Получается максим сделал лучше, чем тонцентер
V
02:11
Victor
In reply to this message
Если ты не хочешь вкапываться, то да
I
02:12
Inokent 💎
😘
V
02:13
Victor
In reply to this message
Это не мне, это звёздочку на репо Максиму
I
02:13
Inokent 💎
ИВ
02:45
Ищенко Виталий
In reply to this message
Попробуй pip install wton
НП
02:54
Не Павел
In reply to this message
А есть документация? Или что это?
ИВ
02:55
Ищенко Виталий
VD
13:36
Victor Dm.
https://ton.org/global-config.json тут же публичный ключ или приватный ключ?
T
13:38
Tim
публичный
AP
13:39
Andrey Pfau
In reply to this message
Публичный конечно же)
VD
13:39
Victor Dm.
окей, спасибо
A
13:46
Alexander
В стандарте NFT черным по белому написано что transfer может делать только owner токена, есть потребность менять владельца NFT в зависимости от игровой логики. Может быть кто-то делал воркэраунды как можно выдать контракту бесконечный allowance (по аналогии с EVM-подобными сетями) на трансфер токенов? Первым делом приходит в голову складывать перед началом игры NFT всех участников в трежери, а потом из него перераспределять, но кажется что подписание транзакции перед каждой игрой может убить геймплей. Буду рад любым идеям и наставлениям
NF
15:51
Nik Fedorov
Добрый день.
Кто-нибудь знает, ведётся ли разработка библиотеки под ton на php?
Сейчас, как я понимаю, единственный вариант для реализации кастодиального кошелька на php бэкенде - это писать консольную обёртку для tonweb
ID
17:26
ID DI
Приветствую.
Вопрос такой.
Я срздал Jeton вчера и отложил на сегодня, дальнейшее изучение этого процесса.
Сегодня я не могу в админку зайти, только на кошелек Скейлетон где этот жетон находится.
Кто то может помочь?
DS
19:25
Dmitry Shanin
In reply to this message
ownerом может быть любой контракт, в этом контракте можете и реализовать нужную вам логику
VS
19:50
Victor Shpaga
Снова добрый вечер, господа!

Возникли проблемы с lite client. На первом же шаге не работает git submodule update --init, выдаёт fatal: not a git repository (or any of the parent directories): .git
Что делать, в чём проблема?
AB
19:54
Andar Bahar💎
In reply to this message
cd ~/ton
19:54
git submodule update --init
19:54
In reply to this message
и все будет хорошо
M
19:55
Mr? BunnyFight
Тоже самое выводит
19:55
А
19:55
Подожди
AB
19:55
Andar Bahar💎
In reply to this message
попробуй так
VS
19:55
Victor Shpaga
In reply to this message
Спасибо!
M
19:55
Mr? BunnyFight
In reply to this message
Спасибо
AB
19:56
Andar Bahar💎
In reply to this message
какая у тебя версия ubuntu?
VS
19:57
Victor Shpaga
In reply to this message
У меня убунту win11
M
19:57
Mr? BunnyFight
win 11)))00))
VS
19:57
Victor Shpaga
😎
AB
19:57
Andar Bahar💎
In reply to this message
аххахах пон
VS
19:57
Victor Shpaga
Я обязательно подниму лайт клиент...
AB
19:58
Andar Bahar💎
In reply to this message
Читай как мантру утром и вечером
19:58
и все получится
M
20:01
Mr? BunnyFight
In reply to this message
Теперь вывело fatal: could not get a repository handle for submodule 'third-party/rocksdb'
VS
20:02
Victor Shpaga
In reply to this message
Кажется, проблема в адресах, сейчас кое-что попробую и отпишу
20:02
в смысле в пути до лайтклиент-билд
SW
20:04
Some Wallet
Есть глобальный вопрос к знатокам. А что если кто-то сделает NFT с дополнительными функциями, которые позволят переназначать owner address по своему усмотрению с других адресов помимо текущего владельца? Такое возможно?
T
20:04
Tim
In reply to this message
Возможно все
SW
20:04
Some Wallet
In reply to this message
Лол
VS
20:04
Victor Shpaga
Вопрос к знатокам: у кого лайт клиент встал на в11?
T
20:05
Tim
Отличная идея для 1 апреля - коллекция нфт где кто угодно может сменить владельца
SW
20:06
Some Wallet
А как можно прочитать код смарта из base64?
20:06
In reply to this message
Да, в афиге сижу, что оунер не в блокчейне и все держится на одном IF )))
T
20:07
Tim
В блокчейне все
SW
20:07
Some Wallet
In reply to this message
Ну оунер NFT это разве не условность в коде смарта?
T
20:07
Tim
По такой логике все на блокчейне это условность смарт кортракта
AP
20:09
Andrew Python
In reply to this message
в tonwhales.com/explorer и в tonscan.org есть дизассемблеры, если ты имеешь ввиду base64 ячейки с кодом
SW
20:09
Some Wallet
In reply to this message
А программный дизассемблер?
SW
20:10
Some Wallet
In reply to this message
Просто как например застраховаться от того, что при продаже например NFT не притворится, что сменила оунера, а потом какой-то функцией сменит его обратно?
T
20:11
Tim
In reply to this message
Проверять код нфт
20:11
Думаешь на эфире просто так все контракты верифицируют?
SW
20:11
Some Wallet
In reply to this message
Его можно программно проверить на отсутсвие backdoor?
AP
20:12
Andrew Python
In reply to this message
только глазами)
SW
20:12
Some Wallet
In reply to this message
Жестко очень
20:13
Очень и очень жёсткую штуку я понял. Это же гребанная дыра всего
AP
20:13
Andrew Python
In reply to this message
Если все будут юзать ~одинаковые контракты (как с кошельком), то их можно будет 1 раз проверить и всё.
SW
20:15
Some Wallet
In reply to this message
Просто в теории можно же и на маркетплейс закинуть нфт с доп функциями смены владельца и после получения денег снова его сменить. В голове не укладывается как с этим быть 🤯
T
20:16
Tim
In reply to this message
Ты как будто первый день в интернете, выдохни, людей и проще скамить можно
20:16
в этом чате например несколько раз в неделю кого-то кидают с заказом на смарт/бота вообще без всяких маркетплейсов картинок и нфт
SW
20:16
Some Wallet
In reply to this message
Я понимаю, просто неожиданная дырень для меня 😅
20:19
In reply to this message
Скорее вот это было бы забавной первоапрельской шуткой 😂😂😂
T
20:20
Tim
Это просто скам, а коллекция со свободной передачей это больше соц эксперимент как r/place и кнопка
SW
20:20
Some Wallet
In reply to this message
Жесть. Ладно, буду думать как можно анализировать смарты программно
T
20:21
Tim
их не нужно анализировать програмно
20:21
просто делаешь вайтлист
SW
20:21
Some Wallet
In reply to this message
Отлично!
VS
20:22
Victor Shpaga
Всё ещё нет никого, у кого лайтклиент встал на вин11?😭
AP
20:22
Andrew Python
In reply to this message
wsl поставь
T
20:22
Tim
In reply to this message
да есть явно, просто у тебя вопросы которые не особо про лайтклиент
OB
20:23
Oleg Baranov
In reply to this message
а что ты хочешь им делать?)
VS
20:23
Victor Shpaga
Я трижды перепроверил все пути, опенссл в переменных среды, сабмодуль обновился корректно, а симэйк лайтклиент не выполняется
SW
20:24
Some Wallet
In reply to this message
Не проще на VM?
OB
20:24
Oleg Baranov
In reply to this message
а в чем сама цель? что то посмотреть хочешь?
ID
20:24
Igor Diakonov
In reply to this message
Так может он пишет что-то при этом? )
T
20:26
Tim
In reply to this message
ID
20:27
Igor Diakonov
In reply to this message
И где там cmake?
VS
20:29
Victor Shpaga
In reply to this message
для использования внешних методов (по крайней мере в мануале так писали)
OB
20:32
Oleg Baranov
In reply to this message
хочешь именно консолью лайт клиента или вариант кодом тоже устраивает?
20:32
у мення есть то что запустится на винде, но нужно будет пару строкк написать)
VS
20:33
Victor Shpaga
In reply to this message
я бы скинул, где, но у меня ограничение в чате почему-то на медиа
OB
20:34
Oleg Baranov
In reply to this message
если что вот - https://github.com/xssnick/tonutils-go на го, на любой ос запустится, без зависимостей
20:34
или тебе что то внутреннее для лайт конфигурации лайт сервера нужно?
VS
20:36
Victor Shpaga
In reply to this message
Пока что принято импульсивное решение писать ск без лайт клиента и хрен бы с ним
20:36
За советы всем спасибо
20:36
но как ты его скомпилируешь без фифта тоже вопрос
AP
20:37
Andrew Python
In reply to this message
там прям на главной показана функция
SmartContract.fromFuncSource()
T
20:38
Tim
In reply to this message
1 - она дергает фифт для компиляции
2 - она не работает потому что либа на которую зависимость сломала апи
AP
20:38
Andrew Python
In reply to this message
ахах) ну ладно
я просто не юзал эту тулзу
NN
20:39
Nick Nekilov
In reply to this message
а что за либа сломала зависимость?
NN
20:39
Nick Nekilov
для меня fromFuncSource никогда не работала, т.к. я на macOS не работаю уже пару лет
T
20:40
Tim
там пулы есть для других ос
NN
20:40
Nick Nekilov
Но юзаю вот так:

const smartContract = await SmartContract.fromCell(initialCode, initialData, {
debug: true,
});
ID
20:41
Igor Diakonov
In reply to this message
1) оно так же дёргает бинарники
2) не умеет в винду )
NN
20:41
Nick Nekilov
(3-й аргумент необязательный)
20:41
собираю ч-з toncli
T
20:42
Tim
а тон сли так же дергает бинарники))
20:42
Так что либо учится компилировать, либу учиться хотя бы качать готовые бинарники
AT
20:42
Andrey Tvorozhkov
In reply to this message
В каком-то смысле мы все дергаем бинарники 🤔
NN
20:43
Nick Nekilov
In reply to this message
он использует то, что вложено в пакет (а вложена туда только сборка для macos)
T
20:43
Tim
да я в курсе, я же даже написал что есть пулы которые это фиксят
20:43
пулы есть - мержа нет, все сломано)
NN
20:44
Nick Nekilov
In reply to this message
Неверно понял тебя
IG
20:54
Ilia Gaevskii
В каком формате приходят адреса в smc.runResult?

Я ловлю такой жсон
 'object': {'data': {'b64': 'gB4JsG02ap1zQz404sXQ7Z7ZBGvLlL7xYU3g5WuuoX0tIA==', 'len': 267}


Но у меня ни один онлайн декодер не деколдирует base64 из этого в что-то читаемое
M
21:10
Mr? BunnyFight
Нужна помощь, вылазит ошибка, что такое project.yaml ?
AT
21:12
Andrey Tvorozhkov
In reply to this message
Нужно запускать из папки проекта
21:12
Вы запускаете в папке пользователя :)
M
21:13
Mr? BunnyFight
Ну-ка
21:16
Тоже самое выводит
KK
21:40
Kirill Kirilenko
а кто нибудь ставил на м1 lite-client?
иду по https://habr.com/ru/post/490772/
на cmake --build . --target lite-client вылетает ошибка, через розетту причем тож самое
AT
21:45
Andrey Tvorozhkov
In reply to this message
Неправильный репозиторий в статье
21:45
Используйте ton-blockchain вместо newton-blockchain
KK
21:47
Kirill Kirilenko
In reply to this message
окей, пасибо, сейчас попробую заново уже с правильной репой
21:52
In reply to this message
да, сработало, спасибо большое, странно что выдавало ошибку с неправильным процем, я уж грешил на м1
IG
21:53
Ilia Gaevskii
В каком формате приходят адреса в smc.runResult?

Я ловлю такой жсон
 'object': {'data': {'b64': 'gB4JsG02ap1zQz404sXQ7Z7ZBGvLlL7xYU3g5WuuoX0tIA==', 'len': 267}

Но у меня ни один онлайн декодер не деколдирует base64 из этого в что-то читаемое
AT
21:53
Andrey Tvorozhkov
In reply to this message
Это биты, можно десериализовать по tl-b схеме
IG
21:59
Ilia Gaevskii
In reply to this message
https://github.com/tonstack/ton-docs/blob/main/TL-B/README.md

Это оно? Чот не похоже, но гугл скудный на десериализацию по tl-b схеме..
AP
22:01
Andrey Pfau
In reply to this message
addr_std$10 anycast:(Maybe Anycast) workchain_id:int8 address:bits256 = MsgAddressInt;
IG
22:03
Ilia Gaevskii
Ниче не понятно 🙆‍♂️😭
IG
22:23
Ilia Gaevskii
In reply to this message
Это оно?
Преобразования b64 в нормальный адрес?

https://github.com/TON-Punks/ton-nft-verify-bot/blob/64210ec9586d923883f72fc7cc7175078adaa78c/address.py#L68
AP
22:28
Andrey Pfau
In reply to this message
IG
22:31
Ilia Gaevskii
In reply to this message
Ща буду читать, спасибо
IG
22:36
Ilia Gaevskii
На первый взгляд похоже на то что Я кидал выше.

Спасибо!
Котлин хоть читать нормально могу 😅
ID
22:38
ID DI
ID DI:
Приветствую

Я создал Jeton токен и вышел.
На следующий день зашел в свой личный кабинет, а доступа к админке у меня нет.
Как мне получить доступ к админке?

Создание собственной криптовалюты на базе TON.

Независимые специалисты из сообщества разработчиков TON выпустили сервис Jetton deployer, позволяющий создавать альткоины в сети The Open Network через удобный интерфейс в один клик.

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

Инструкция:

1. Перейти на сайт Jetton Deployer и подключить кошелёк.
2. Задать характеристики жетона: название, тикер, количество монет для выпуска, логотип.
3. Нажать кнопку Deploy и оплатить комиссию в 0.25 Toncoin.

Токены будут отправлены по адресу создателя.

Чтобы их увидеть, необходимо подключить кошелёк к сервису, поддерживающему кастомные токены (например, scaleton.io) и импортировать созданный жетон, после чего монеты отобразятся на балансе и их можно будет отправлять другим пользователям.

Также Jetton Deployer позволяет управлять созданными жетонами — все инструкции находятся в этом материале.

Отметим, что сервис обладает открытым исходный кодом.
М
23:57
Маршин
In reply to this message
Если ты нажал отозвать доступ, то уже вроде никак. Там на GitHub в описании сервиса указано это
10 July 2022
AP
00:13
Android P
Где посмотреть как считается комиссия в TON?
ID
06:00
ID DI
In reply to this message
Я не отзывал доступ
IG
07:32
Idea💡 Good or ...
In reply to this message
Вы о чем? Она стандартная для операций. Ее считать не надо 😏
SW
10:35
Some Wallet
Доброе утро! А из фифта обратно в func можно код декомпилировать программно?
AT
11:02
Andrey Tvorozhkov
In reply to this message
Нет
11:02
Можно только задизасемблить из битиков в OP коды
SW
11:04
Some Wallet
In reply to this message
Спасибо)
DS
11:17
Dmitry Shanin
У меня другой вопрос, связанный с примерно той же озабоченностью, что высказывал вчера @some_wallet
А можем ли мы на уровне контракта проверить, что другой контракт, адрес которого нам передали в сообщении, имеет определенный код? Ну или имел на момент деплоя? Типа, получить stateInit из адреса?
AT
11:25
Andrey Tvorozhkov
In reply to this message
На уровне контракта - нельзя. А зачем?
DS
11:26
Dmitry Shanin
In reply to this message
Вот мы из адреса можем получить воркчейн и хэш от stateInit. Но код, имея хэш stateInit мы же не можем проверить? Соответственно, сервисы, взаимодействующие с произвольными nft и ft не могут децентрализованно проверять, что nft действительно соответствует стандарту, входящему в некий белый список.
11:27
Нужен, как минимум, оракул для такого?
NN
11:28
Nick Nekilov
In reply to this message
Имея известный набор данных и ожидаемый код - можно. Так в жетонах делается для проверки что монеты именно с жетон- кошелька. При этом, получить код произвольного контракта не получится.
OB
11:50
Oleg Baranov
In reply to this message
Если знать сторедж заданный в стейт ините, то можно проверять
11:51
Например контракты могут хранить свою дату которая была задана при ините, и в мессадже отправить ее тебе, а ты уже можешь взять ее и код который завайтлисчен, посчитать хеш и сравнить с адресом
11:52
Если совпало то все ок и контракт имеет провереный код
DS
12:05
Dmitry Shanin
In reply to this message
Мне кажется, сейчас в стандарте такого нет сообщения. Но спасибо за ответ.
OB
12:15
Oleg Baranov
In reply to this message
Да, сейчас нет, но так это можно реализовать, например в своем расширенном стандарте, на уровне коллекции
AR
15:11
Aleksei Rutkovskii
https://github.com/toncenter/pytonlib

В pytonlib есть возможность работать с Payment Channels?
RG
15:12
Ruslan Gabdullin
Привет, пока что эта библиотека имеет только низкоуровневый функционал как у toncenter.com. Есть вероятность появления более высокоуровневых фичей в будущем
AR
15:13
Aleksei Rutkovskii
In reply to this message
Хорошо, спасибо большое
KK
17:37
Kirill Kirilenko
Всем привет? А есть кто-нибудь кто обучает как писать смарт контракты на тоне? Или вдруг кто хотел бы попробовать пообучать? Напишите в лс, не за бесплатно конечно
ОБ
18:02
Олег Борзов
Ton learn пробовал?
https://t.me/ton_learn
?
18:29
👾👾👾
In reply to this message
toncli топчик
PM
18:44
P M
привет ton комьюнити, подскажите компании надежные которые занимаются разработкой смарт контрактов для экосистемы ton?
KK
18:50
Kirill Kirilenko
In reply to this message
@Hubbard_Ad есчо скамер, аж на целых 20 тон заскамил😂
MK
19:10
Max Koksharov
Всем привет! Ищем бэкэнд разработчика с навыками взаимодействия с игровыми движками для создания игрового проекта на TON. Прошу писать в личку. За рекомендации или помощь в поиске в долгу не останемся)
А
20:04
Андрей
In reply to this message
Нет аккаунта с таким именем пользователя
KK
20:05
Kirill Kirilenko
In reply to this message
поменял, ага теперь @ Bar_Bam
SK
20:10
Sergey Khaylov
Всем привет. Нужна помощь. Не могу решить задачу. Есть номер кошелька. Как с помощью tonweb (npm-либы) получить список nft-коллекций, где владелец - этот кошелек. Что-то все перерыл - не нашел решения. Может кто уже решал такую задачу?
T
20:12
Tim
In reply to this message
Только индексировать весь блокчейн
20:13
возможно tonapi.io ещё поможет
20:13
Ну либо ограничиться только парсингом всех адресов которые взаимодействовали с твоим аккаунтом и проверить какие из них коллекции
SK
20:14
Sergey Khaylov
In reply to this message
а вот это мысль...
20:14
спасибо
KK
21:15
Kirill Kirilenko
In reply to this message
реально годнота, два лня страдал, наконец-то чет понимать начал
AP
21:16
Andrew Python
In reply to this message
раньше по 2 месяца страдали) Хорошо что сейчас образовательные материалы появились
?
21:35
👾👾👾
In reply to this message
а что почитать про Fift можно?
AB
21:35
Andar Bahar💎
In reply to this message
документацию
21:36
😉
AP
21:42
Andrew Python
In reply to this message
EK
21:49
Eugene Kalinovskiy
In reply to this message
И пусть 107 страниц вас не смущают. 30 страниц - приложение со списком команд
F
22:02
Flip
In reply to this message
Дорогу осилит идущий
11 July 2022
SK
00:21
Sergey Khaylov
In reply to this message
Еще раз спасибо. Все получилось )
I
00:43
Inokent 💎
Любой адрес в сети тон - смарт-контракт?
00:44
И любого смарт контракта есть баланс
00:44
Так?
T
00:47
Tim
In reply to this message
ну типа
I
00:47
Inokent 💎
А чтобы проводить какие-либо операции с контрактом, нужён ключ от него
00:47
Так?
T
00:47
Tim
Не обязательно
00:47
жетоны и нфт смотрят на адрес отправителя, а не подпись
I
01:24
Inokent 💎
Насколько хард будет сбрутить последние 3 слова кошелька?
T
01:26
Tim
очень легко
I
01:41
Inokent 💎
In reply to this message
А вот сид-фраза которая в wallet.ton.org, она шифруется, или нет? просто мне почему-то кажется что пароль нужен не просто на клиентской стороне
T
01:42
Tim
код открытый) не шифруется
I
01:42
Inokent 💎
А лан спс
[
13:18
[💎] polevskyy
Всем привет!
Хочу сделать бота для продажи NFT, но вообще не имею опыта работы с криптой.
Может быть у кого-нибудь есть какие-либо ресурсы для обучения? Искал, так и не нашел
KK
13:19
Kirill Kirilenko
In reply to this message
из всего что видел и пробовал, только после https://t.me/ton_learn хоть что-то понимать начал, но там пока что про нфт ничего нет, но планируется
PK
14:52
Peter Krivoschekov
Снимок экрана 2022-07-11 в 14.51.08.png
Not included, change data exporting settings to download.
16.8 KB
Всем привет!
Помогите запустить toncli, он почему то путь мой не принимает к fift и func
AT
14:53
Andrey Tvorozhkov
In reply to this message
chmod +x
14:53
In reply to this message
На путь нужно сделать
PK
14:53
Peter Krivoschekov
щас попробую
15:00
In reply to this message
уже что то есть, но macos бочит так как стороний разработчик
15:00
?
15:10
👾👾👾
In reply to this message
скомпилируй func в папке liteclient-build
15:10
дальше путь ~/liteclient-build/ и там найди потом в подпапках бинарник
PK
15:11
Peter Krivoschekov
хорошо, щас попробую
15:22
In reply to this message
Спасибо, выручил очень сильно))
NA
15:50
Narek Abovyan
T
TonTech 11.07.2022 15:50:18
Today we are happy to announce that we are open-sourcing our smart contracts along with tests and code for interacting with them!

This includes:

- test & code for interacting with standard NFT contracts
- our own marketplace contract
- our sale contract
- our single NFT contract

Github link to contracts - https://github.com/getgems-io/nft-contracts

Hope this will help developers to make more cool stuff with NFT’s in TON.

Stay tuned!
KK
16:18
Kirill Kirilenko
https://github.com/getgems-io/nft-contracts/blob/main/packages/contracts/sources/op-codes.fc

а что это значит? типо в зависимости от op который придет будет выполнятся такая функция?
16:20
или это просто позваляет вместо цифры в оп передавать функцию?🤔
SW
16:23
Some Wallet
Когда начинаешь понимать что-то в блокчейне

https://www.youtube.com/watch?v=UMRNfWSwmPo
NA
16:29
Narek Abovyan
In reply to this message
Ну просто константы
?
16:39
👾👾👾
In reply to this message
а потом видишь смарты на тайпскрипте и откатываешься обратно до 🙈🙊
16:40
(typescript good, без негатива)
aM
17:00
aYtek Mills
Ребзя, у меня товарищ есть вундеркинд, хочу выдать ему образовательные материалы. Есть ссыль на что то структурированное по разработке на чейнах вцелом, ТОН в частности и интеграции в веб?
IR
17:02
Ivan Romanovich
In reply to this message
Структурированное по смарт-контрактам в тон: https://t.me/ton_learn
S
17:11
Sup/b/
AP
17:19
Andrew Python
In reply to this message
Нужны разрабы на FunC с опытом от 5 лет 😄
S
17:21
Sup/b/
In reply to this message
Ахахахахах
EG
17:21
EvGeniy Gnatovskiy
И с 40 летним опытом в финтехе
S
17:22
Sup/b/
In reply to this message
И при этом до 25 лет
17:24
Не это смешно ,я вот как в катился кроме как хомякам токены делать на solidity и курировать их ,поработал на проектах с дао и все ни заказов ни работы
D
17:27
Danielle
[UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by reject
ing a promise which was not handled with .catch(). The promise rejected with the reason "LITE_SERVER_UNKNOWN: cannot apply external
message to current state : External message was not accepted
Cannot run message on account: inbound external message rejected by transaction 8FD4AD85F9C40DB9227D9E19454F366AAC0CC5F907401B4AC5F3
82CBEFDA18B8:
exitcode=33, steps=23, gas_used=0
VM Log (truncated):
...te NOW
execute LEQ
execute THROWIF 36
execute PUSH c4
execute CTOS
execute LDU 32
execute LDU 32
execute LDU 256
execute LDDICT
execute ENDS
execute XCPU s4,s3
execute EQUAL
execute THROWIFNOT 33
default exception handler, terminating vm with exit code 33
".] {
code: 'ERR_UNHANDLED_REJECTION'
}

Кто знает, с чем связана ошибка 33. Делаю payments-channel ровно по примеру https://github.com/toncenter/tonweb/blob/master/src/test-payments.js
A
17:31
ARS
Чекай в коде контракта при каких обстоятельствах выкидывают ошибку 33
T
17:36
Tim
In reply to this message
это не в контракте а твм обычно
17:36
33
A
17:37
ARS
33 выбрасывается контрактом
17:38
Видно же по логам
D
17:40
Danielle
In reply to this message
Когда msg_seqno не совпадает с seqno сообщения
17:40
In reply to this message
Не очень понятно, почему)
PK
18:23
Peter Krivoschekov
Снимок экрана 2022-07-11 в 18.14.54.png
Not included, change data exporting settings to download.
6.8 KB
Почему я немогу отправить токены в тестовой сети
я уже пытался даже 2 токина отправить, все ровно не дает
OB
18:24
Oleg Baranov
может не на тот кошелек?
18:24
там их 2 вроде отображается, деплой и контракт, тебе на деплой нужно
PK
18:25
Peter Krivoschekov
который желтый?
OB
18:29
Oleg Baranov
неа
18:29
выше
18:30
в самом начале должен быть, на скрине не виднно
AP
18:30
Andrey Pfau
для деплоя нужен non-bounceable адрес
PK
18:31
Peter Krivoschekov
In reply to this message
вот все то что мне вывел toncli
OB
18:32
Oleg Baranov
а какая команда?
PK
18:32
Peter Krivoschekov
```sudo toncli deploy -n testnet```
OB
18:33
Oleg Baranov
не вижу тут адреса деплой воллета
PK
18:33
Peter Krivoschekov
In reply to this message
это не работает тоже
OB
18:33
Oleg Baranov
он там вроде в файлике еще где то есть
18:33
в корне проекта что ли
PK
18:34
Peter Krivoschekov
Снимок экрана 2022-07-11 в 18.34.34.png
Not included, change data exporting settings to download.
19.0 KB
там в файлике тоже самое что и на скрине выше
OB
18:35
Oleg Baranov
не тот файлик)
18:35
ща сек попробую найти
PK
18:36
Peter Krivoschekov
In reply to this message
оки
OB
18:39
Oleg Baranov
toncli wallet
18:39
команда
18:39
покажет адрес
18:39
на него заккинь денег
PK
18:39
Peter Krivoschekov
ща попробую
OB
18:39
Oleg Baranov
тот что деплой воллет
PK
18:47
Peter Krivoschekov
вот это?
OB
18:47
Oleg Baranov
ну вроде у тебя продвинулось все
LK
18:48
LOLK Kind
Как создавить кошельки тон?
OB
18:49
Oleg Baranov
программно или для себя одну штуку?
PK
18:49
Peter Krivoschekov
In reply to this message
да все супер, я оказыватся пропустил команду build
и у меня контракт не сбилдился даже
а я пытался его задеплоить в сеть
LK
18:50
LOLK Kind
In reply to this message
Много кодом
F
18:51
Ferrari Apple
In reply to this message
18:51
Свой тоже проект скину, там ещё и адрес красивый будет
LK
18:55
LOLK Kind
А у тона есть апи?
18:55
И можно ссылку
PK
18:56
Peter Krivoschekov
In reply to this message
тут много полезной инфы и про api в том числе
https://ton.org/docs/#/smart-contracts/
OB
18:56
Oleg Baranov
In reply to this message
https://toncenter.com/ вот такое есть
LK
18:58
LOLK Kind
In reply to this message
Там есть метод чтобы генерить кошели?
OB
18:58
Oleg Baranov
нет вроде
18:58
а тебе на каком языке их генерить надо?
18:59
кошелек генерится криптографией локально, вообще без сети по сути
PK
18:59
Peter Krivoschekov
А можно как то контракты писать на typescript / js ?
AP
19:00
Andrey Pfau
In reply to this message
Lmao нет
PK
19:01
Peter Krivoschekov
А получать инфу о контракте можно через tonweb?
AP
19:03
Andrey Pfau
In reply to this message
Да
PK
19:04
Peter Krivoschekov
супер)
AP
19:05
Andrew Python
In reply to this message
Надо сделать такую возможность😅
AP
19:07
Andrey Pfau
In reply to this message
У эверов компилятор LLVM есть так что при большом желании можно прикрутить js, но зачем?
AP
19:07
Andrew Python
In reply to this message
Чтобы не выходить за рамки typescript)
?
19:08
👾👾👾
In reply to this message
можно создавать payload для контрактов как я понял так делают getgems
19:08
я не знаю оно там в fift транспилируется или что) как это работает
PK
19:08
Peter Krivoschekov
🤔 Интересно
19:09
Надо будет как нибудь изучить этот вопрос по глубже
?
19:09
👾👾👾
In reply to this message
видать для этого и создают tact
AT
19:10
Andrey Tvorozhkov
In reply to this message
В сообщениях достаточно правильно расставить биты, чтобы ноды и контракты их прочитали, поэтому это делается нативно в js по тлб схемам (на ручном приводе так сказать)
?
19:10
👾👾👾
In reply to this message
а тоже самое и через голый fift?
AT
19:10
Andrey Tvorozhkov
In reply to this message
Да
?
19:10
👾👾👾
это сильно
AT
19:12
Andrey Tvorozhkov
Какой-нибудь

<b 0 32 u, b>

Точно так же можно собрать в любом языке, если правильно написать типы (клетки, слайсы, билдеры). Сейчас я знаю такие реализации для: Kotlin, Golang, Python, Typescript / JavaScript, C++
19:13
В целом если взять tonlibjson, которая .so - можно хоть на 1С писать сообщения для контрактов :))
19:14
In reply to this message
Так сказать связать бухгалтерскую отчетность с блокчейном 😂
AP
19:26
Andrey Pfau
In reply to this message
котлин умеет высирать .so
19:26
я даже запускал свой тлб десерелизатор на JS
T
19:26
Tim
In reply to this message
поделись кодом
AP
19:27
Andrey Pfau
тебе скомпилить десерилизацию?)
T
19:27
Tim
способ запуска на жс
AP
19:27
Andrey Pfau
там очень сыро пока я с танцами с бубном пробовал
T
19:27
Tim
ну тут всё сейчас так
19:28
я пытался просто bnf из котлина в js загрузить, не не успех
AP
19:28
Andrey Pfau
можешь https://github.com/andreypfau/ton-kotlin склонировать к себе и попробовать скомпилить в JS
T
19:28
Tim
понял)
AP
19:28
Andrey Pfau
просто мне влом щас этим заниматься самому :)
19:29
как говориться доки в руки и вперёд:
https://kotlinlang.org/docs/js-overview.html
?
19:38
👾👾👾
In reply to this message
огонь
19:48
Deleted Account
На какой язык больше всего похож FunC?
Ф
19:54
Филя
Традиционный китайский
19:55
Deleted Account
In reply to this message
Почему не Древне-Персидский?
F
19:55
FQ
Всем привет, в джеттон лайв поддержка статистики использования созданного токена может быть создана?

По кошелькам например, сколько кошельков использует тот или иной токен