25 January 2022
A
17:58
Andrei
In reply to this message
Ага
17:58
Ну программа может вообще другую структуру иметь)
17:58
Без функций
AM
17:59
Alexander Mamaev
func по сути сам реализует эту логику при компиляции метода с нужны названием, а если делать на фифте то нужно позаботиться об этом самостоятельно
A
17:59
Andrei
не, FunC компилируется в диалект фифт-ассемблера, который создает мапу
18:00
можно начинать фифт-ассемблер код с <{, а можно с PROGRAM{
RD
18:00
Ruslan Dorofeev
In reply to this message
там есть ошибки в фифте при обработке вызова слов их фиксить надо
A
18:00
Andrei
вот второе создает мапу, а первое лоу-левел
RD
18:03
Ruslan Dorofeev
In reply to this message
ну так нужно смотреть команды фифта как они переводятся в исполняемый код
AM
18:05
Alexander Mamaev
In reply to this message
Я в курсе
c
18:08
cryshado
In reply to this message
В исходниках фифта
RD
18:08
Ruslan Dorofeev
так дай подумаю там с вызовами функций какой то касяк был
A
18:09
Andrei
In reply to this message
какие ошибки?
RD
18:09
Ruslan Dorofeev
In reply to this message
работеет не так как в доках ща посмотрю сорцы
18:13
In reply to this message
тут lдолжно быть usage в скобках?
18:14
По докам не должно быть должно само как-то вызываться и понятно что дальше все проблемы
A
18:14
Andrei
в чем проблема-то?
RD
18:16
Ruslan Dorofeev
In reply to this message
функция по докам должна быть без скобок - без оператора вызова на гидхабе же написано
A
18:16
Andrei
In reply to this message
это где в доках такое написано?
18:17
вместо { usage } можно написать ' usage
18:17
хз что ещё тут не так
RD
18:18
Ruslan Dorofeev
В документации в книге этот апостров нужно выдялить как <b> ))) Ну ладно
18:24
на стек ложится адрес usage и до этого команда получается так
18:25
получется так
c
20:24
cryshado
можно как-то сделать null addr_std$10? я просто, как понял addr_std$10 фиксированного размера, нулями его заполнять? По типу воркчейн 0 и адрес 0000...000
A
20:24
Andrei
есть addr_none$00
c
20:25
cryshado
In reply to this message
он типа b{00} что ли?
A
20:25
Andrei
да
c
20:26
cryshado
а понял, ок
AM
21:15
Alexander Mamaev
Я правильно понимаю что toncoin по сути реализован как какая-то базовая сущность в ноде блокчейна, как VM. То есть за его реализацию не описывает никакой контракт, а это просто built in?
21:15
Именно сама монетка, а не кошелёк
c
21:16
cryshado
In reply to this message
сам toncoin это нативный coin
RD
21:16
Ruslan Dorofeev
In reply to this message
кошельки это и есть контракты с ключом у хозяина а тонкоин это для безопасности в основном
c
21:18
cryshado
In reply to this message
ты понял, что сказал? "а тонкоин это для безопасности в основном". Да, кошельки это контракты, но причём тут безопасность и тонкоин
RD
21:18
Ruslan Dorofeev
In reply to this message
чтобы бесконечный цикл не запустили
c
21:19
cryshado
In reply to this message
Чтобы не запустили бесконечный цикл есть лимит, который может потратить контракт. Например контракт в бейсчейне нельзя потратить на газ более 1 TON
AM
21:19
Alexander Mamaev
Тогда уж правильннее - это экономическая составляющая, чтобы все работало в целом
21:20
На альтруизме многое не построишь
21:20
In reply to this message
А трата за операции фиксирована?
21:21
Валидатор не может установить свои цены?
RD
21:22
Ruslan Dorofeev
In reply to this message
может но консенсус-то общий
c
21:23
cryshado
In reply to this message
В конфиге сети прописана цена газа, сторедж фи и т д. Валидаторы могут проголосовать за новый конфиг
RD
21:23
Ruslan Dorofeev
да комиссию от транзакций он имеет ввиду
c
21:55
cryshado
In reply to this message
отправил немного )
AT
22:36
Akaki Tkemaladze
In reply to this message
‘,
22:53
‘ ,
In reply to this message
после запроса, ничего не приходит на кошелек, бот работает корректно? можете для теста отправить небольшую транзакцию на EQByqBL8wnbJfk0fX9TBMntaAXU76uCETo0zUDGUZ7LyJ-aV
c
23:08
cryshado
In reply to this message
тест гивер уже давно пустой, можете просить монеты в чате(ток аккуратно, без флуда), думаю разрабы у кого есть закинут немного. Для тестов много и не нужно обычно
‘,
23:09
‘ ,
In reply to this message
понял, буду признателен за тестовую транзакцию
KS
23:09
Konstantin Sazhenov
3 тон могу закинуть
‘,
23:10
‘ ,
In reply to this message
спасибо! EQByqBL8wnbJfk0fX9TBMntaAXU76uCETo0zUDGUZ7LyJ-aV
26 January 2022
1
00:37
12345
почему с крипто бота не выводятся тоны на биржу ?
D
00:39
Daniil
In reply to this message
У них в правилах, кажется, это было, что выводят только на личные кошельки
Это, кстати, оффтоп, с такими вопросами лучше в другой чат
1
00:39
12345
ок.
AM
02:26
Alexander Mamaev
In reply to this message
А новые монетки которые генерятся пока просто на кошельке валидатора лежат?
c
02:27
cryshado
In reply to this message
ну в тестнете новые монеты, никто не обязан закидывать на тест-гивера. А валики награды получают по такой же логике как в маин-нете
02:27
я вот давно за то, чтобы сделали нормального тестгивера с монетами, но никто пока не хочет
AM
02:28
Alexander Mamaev
а как его сделать то, это надо как-то автоматом закидывать монетки с валидатора в гивера
02:28
откуда им еще взяться
c
02:28
cryshado
In reply to this message
да в тестнете валиков 6 и это все основатели тона, они могут бесконечно монеты генерить, если захотят в тестнете)
02:28
можно нагенерить 100500 монет несколько раз, хватит на долго
AM
02:29
Alexander Mamaev
Ну по сути это значит просто закинуть денег на существующий гивер
c
02:30
cryshado
In reply to this message
он кривоват, можно и получше сделать
AM
02:32
Alexander Mamaev
Кстати, вот контракт который PoW в него по сути на этапе инициализации монеток закинули кучу же?
c
02:33
cryshado
In reply to this message
ну большую часть монет передали пов гивер контрактам
R
04:53
Roma
Добрый ночи! Подскажите, почему в Tonkeeper и в Desktop Linux кошельках разные виды адресов? Неужели вовремя не обновляют?
c
04:57
cryshado
In reply to this message
В каком смысле «виды»?
R
04:59
Roma
In reply to this message
В tonkeeper и на биржах они сплошным текстом, а в Linux Desktop адрес с нижними подчеркиваниями и с дефисами. Я на данный момент не у компа, чтобы сделать скриншот.
c
05:05
cryshado
In reply to this message
Формат один - base64 из raw адреса собранный по схеме 😃
R
05:07
Roma
In reply to this message
Понятно)) Просто думал что биржа okex работает с каким-то третьим видом адресов, так как она на оба эти не даёт выводить - пишет что адрес не валиден))
Ок, этот вопрос уже скорее не для этого чата.
c
05:08
cryshado
In reply to this message
Адреса одного формата, а вот смарт контракты кошельков разные. В линукс десктоп кошельке wallet v3, в тонкипере v4, а у окекса возможно хайлоад валет
R
05:13
Roma
In reply to this message
Спасибо! Немного стало понятнее)
E
07:09
Ekaterina
Всем привет! Ребят, может кто то из разработчиков может дать нам для консультаций по написанию контента(ton)?

а также подсказать по интеграции бокчейна в игру?
Очень нужно. Спасибо!
F
09:46
F
In reply to this message
В техподдержку пула, и точно не сюда
EV
09:55
E V
Доброго времени суток, а есть папирусы на TON Storage? Интересно как это реализуют
AP
10:01
Andrey Plotnikov
Вдогонку. А есть здесь те, которые занимаются или будут заниматься разработкой стораджа?
А
10:04
Андрей
In reply to this message
Ага, делать им больше нечего - сидеть в чате и отвечать на вопросы 😏
И это оффтоп
CP
17:45
Catchain Protocol
In reply to this message
бридж, не тот чат
18:00
Deleted Account
Hiiii
c
18:02
cryshado
Зачем могут быть нужны inline функции(если их юзать много раз по коду), которые занимают больше места, когда есть inline_ref?

Например https://github.com/cod1ng-studio/TRC20/blob/c700f6fb76ec32aeac6a8d7ec2f27837c2ff8ec3/token.fc#L61 эта функция юзается в коде несколько раз
A
18:03
Andrei
In reply to this message
inline занимает биты много раз, а inline_ref одну ячейку один раз
18:04
ну + её подгружать при вызове надо
c
18:04
cryshado
In reply to this message
ну так inline_ref выгоднее, когда функция юзается много раз по коду, как я понял
A
18:05
Andrei
In reply to this message
если у тебя функция занимает 100 бит скажем и вызывается 3 раза, то это лучше, чем одна ячейка (которая как 500 бит)
18:05
300 бит против 1 ячейки + 100 бит
c
18:06
cryshado
In reply to this message
а ну логично
18:06
понял
И
19:52
Иван 💎
Всем привет. Хочу вникнуть во всю движуху блокчейнов ) Непосредственно в сети open network хочу научится делать контракты. Есть сайт - картинная галлерея. Вот думаю практиковатьс на нем. Прикрутить туда кошелек и организовать рынок nft. такое уже можно провернуть или еще нет соответсвующих инструментов?
D
19:56
DekabX
In reply to this message
Пока нет ни одного подобного MVP. Вы можете стать первым)

Если конкретнее - нет ни одного рабочего готового смарт-контракта для nft
AM
20:18
Alexander Mamaev
А кто-то имеет опыт сборки под web assembly? Если теоретически собирать интерпретатор Фифт в него, как можно протянуть зависимости от openssl?
20:21
Вообще есть вот эта неплохая статья

https://habr.com/ru/post/490772/

И в доке на ton.org можно найти оригинальные пейперы как работает Ton VM и фифт
c
20:21
cryshado
In reply to this message
Смысла в этом нет, много весить будет
AM
20:22
Alexander Mamaev
In reply to this message
Ну я просто размышлял на тему того, что если сделать обучающий сайт где можно примеры прямо в браузере запускать.
Писать интерпретатор на js кажется так себе затеей, могут быть различия в имплементации
20:23
Ну тогда только если на бек кидать
c
20:23
cryshado
In reply to this message
Да лучше обучаться сразу локально, иначе не понятно что и как работает. Там в фифте же еще очень много чего на работе с файлами обычно завязывают, когда делают запросы к контрактам например
AM
20:24
Alexander Mamaev
Тоже верно, да
20:32
Deleted Account
Добрый день.
А где можно взять актуальный код/образ toncenter.com? Хочу развернуть собственный, чтобы снизить нагрузку на общий, а то каждый пятый запрос падает с кодом 503
А
20:35
Андрей
In reply to this message
https://github.com/igroman787/pytonv3

Развернуть свой можно используя mytonctrl
20:39
Deleted Account
In reply to this message
Спасибо
VD
21:15
Victor Dm.
Народ откуда можно взять текущий курс ton к доллару в апи и желательно не платное апи?
VD
21:20
Victor Dm.
In reply to this message
спасибо
A
21:21
Andrei
In reply to this message
+
с биржи самое простое
KS
21:26
Konstantin Sazhenov
Ребят, а где почитать можно про плагины для v4 кошелька и сколько данных может хранить в себе мапа в контракте(если есть какое-то ограничение, то какое)?
21:34
Deleted Account
In reply to this message
А для этого обязательно поднимать fullnode? Или он обращается к нодам из глобального списка?
c
21:39
cryshado
send_raw_message с флагом 64 и отрицательным значением gram омжет отправить остаток в рамках транзакции -значение ?
A
21:39
Andrei
In reply to this message
ты не сможешь записать отрицательное значение грам
c
21:39
cryshado
In reply to this message
а ну да
A
21:40
Andrei
случается ли такое, что перерыв между блоками больше одной минуты?
слышал, при смене валидаторов бывают задержки, это правда?
R
c
21:49
cryshado
In reply to this message
0.05 в итоге, но там есть проблемы с деплоем больших коллекций
P
21:49
Purple
In reply to this message
скорее всего 0,05 к отдельной нфт, а 1 для смарта, который деплоит
21:50
вот смарт, который деплоит
c
21:50
cryshado
In reply to this message
да, так и есть
R
21:51
Rev
👌
А
22:10
Андрей
In reply to this message
Ну внутри mtc он работает только с локальной нодой. Но какой смысл работать с публичными нодами? Тонцентр работает так же - ничего не поменяется
22:10
In reply to this message
Это если только в исходниках

> На счёт плагинов?
На счёт всего)
Если нету в официальных доках, то скорее всего и нету
KS
22:11
Konstantin Sazhenov
In reply to this message
На счёт плагинов?
c
22:14
cryshado
In reply to this message
Доки по кошелькам(их контрактам) нет
KS
22:14
Konstantin Sazhenov
In reply to this message
Ок, понял
22:14
In reply to this message
А, ок, спасибо
P
22:17
Purple
Вот в реализации NFT https://github.com/EmelyanenkoK/nft-standard-draft нужно указывать cell code в "главном" смарт-контракте, который является указателем на код отдельного смарт контракта нфт. Там нужно указывать путь? Есть какие то примеры?
M
22:44
Maks
In reply to this message
То есть опечатка в ридми? Нужно иметь 1 ТОН на акке который деплоит НФТ с-к ? И минимальный баланс НФТ с-к = 0,05 ТОН?
c
22:45
cryshado
In reply to this message
там написано, что это не продакшн реди, это драфт
P
22:45
Purple
In reply to this message
Скорее всего так и есть, ну вот в контрактах его, он кидает на отдельную нфт по 0,1 тонкоина
M
22:46
Maks
А сколько примерно "проживёт" такой НФТ с-к с балансом 0,05?
P
22:47
Purple
In reply to this message
вот это я не знаю) не долго, учитывая сторадж фи
22:47
но все равно можно докинуть если надо
M
22:53
Maks
In reply to this message
Понятно. Функция editor как раз для этого видимо.
c
22:54
cryshado
In reply to this message
нет, эдитор это гнёт
M
22:55
Maks
Я имею в виду для тестов с данной версией с-к
L
23:13
Lost Boy
Привете
23:13
is English ok here as well?
P
23:14
Purple
In reply to this message
yes
L
23:14
Lost Boy
я не навару русский
23:16
Ok great. Me and my team have been pretty active building on Ethereum this past year, but I'm curious and interested in TON, so looking to connect with builders.
23:17
I'm primarily an entrepreneur, team builder, coo type, so if there are development teams that need help with community building, marketing, or ideas of what to build
23:17
I'd love to chat
23:17
I have a lot of ideas for dapps that would work on TON
23:18
there's a lot of low hanging fruit imo building out some of the best apps from Ethereum onto Ton
23:18
and then more ideas beyond that, ie. innovating on TON directly
23:18
I'm still new to TON tho, so will be spending more time every day exploring and learning more.
23:18
happy to chat with anyone anytime, always available to help, etc
23:18
thanks
23:19
I am learning Russian also, so looks like a good place to be hanging out
23:19
🙏
23:19
Спасиба
В
23:30
Внутри TON
Вот интересно: дадут ли создавать свои биржи nft на базе тон?
Р
23:36
Русский TON
In reply to this message
А кто может запретить? Блокчейн открыт, API есть, приходите и создавайте.
A
23:36
Alex
In reply to this message
Если это будет открытый стандарт без каких-либо ограничений, то почему нет? Если же будут ограничения для всех кроме своих, то это поставит под сомнение ценность таких стандартов.
В
23:40
Внутри TON
In reply to this message
Сейчас создам
A
23:42
Alex
In reply to this message
Спецификацию к своим NFT опубликуй хоть 😅
В
23:43
Внутри TON
In reply to this message
Сейчас опубликую
A
23:45
Alex
In reply to this message
Отлично. Буду ждать ссылку на спецификацию 👍
27 January 2022
00:10
Deleted Account
In reply to this message
А с какой ветки нужно его поднимать? С мастера падает на шаге 4 - compiling sources. У меня Ubuntu 20.04
KS
03:37
Konstantin Sazhenov
А каким образом можно список (входящих) транзакций получить внутри смарт контракта?
c
03:39
cryshado
In reply to this message
ну например сохранить их в контракте, но смысл?
KS
03:39
Konstantin Sazhenov
In reply to this message
Да, сохранять это тупо, конечно
Поэтому и спрашиваю
03:40
Через внешние средства же можно получить транзакции все
c
03:40
cryshado
In reply to this message
ну транзакции хранят ноды блокчейна, они же хранят контракты, если простыми словами говорить. Контракт кинуть запрос к ноде не может
KS
03:42
Konstantin Sazhenov
In reply to this message
В солидити подобный функционал есть
c
03:44
cryshado
c
03:44
cryshado
KS
Kirill Shilov 07.10.2019 12:42:15
А в TON из смарт-контракта также как в ethereum можно получать доступ только к транзакциям последнего блока?
c
03:44
cryshado
A
Andrei 07.10.2019 13:03:52
Скорее всего нельзя. Данные смартконтрактов хранятся в их персистент-сторадж, а совсем старые блоки, вообще говоря, помнить не обязательно
c
03:44
cryshado
In reply to this message
не в солидити, а в эфире
KS
03:45
Konstantin Sazhenov
In reply to this message
Хм, а это да, кстати
03:46
In reply to this message
Ну да
c
04:57
cryshado
In reply to this message
Не по теме чата
O
05:31
Otree
In reply to this message
Попробуй купить
05:33
Друзья есть тут команды с мск? Которые в данный момент не заняты проектами?
P
05:33
Project Manager
А есть какие-то ограничения/лимиты на приём/отправку external месаджей в смарт контракт?

p.s. Лимит газа/монет - не в счет, эт понятно
AP
05:36
Andrew Python
https://github.com/Tynik/python-fift Видели такое? странная штука....
c
05:58
cryshado
In reply to this message
Да не, не странная. Интересная идея. Но репа уже старая и в архиве.

Я вот из питона вызываю фифт напрямую, но не удобно передавать инфу в фифт и обратно.
AP
06:01
Andrew Python
Ещё из древнего интересно это:
https://github.com/m-kus/xeus-fift
c
06:10
cryshado
In reply to this message
Зачем )
P
06:50
Project Manager
А фулнода валидатор/ы могут временно забанить фулноду не валидатора (лайтсервер) за слишком большое кол-во запросов?
Почему-то перестаёт работать sendfile после обычных 15-20 get запросов (1 get запрос раз в пол секунды)
c
06:53
cryshado
In reply to this message
А какие признаки того, что перестаёт?
P
06:55
Project Manager
In reply to this message
Отправляю экстернал смарту, а он даже секно не увеличивает (первый экстернал норм проходит)
Жду минут 5, создаю точно такой же смарт, отправляю экстерналы раз в 30 секунд (без дудоса гет запросами на этот адрес) - всё ок
c
06:56
cryshado
In reply to this message
Странно, мы хайлоад валету часто шлем запросы все ок.

Seqno не увеличивает понятно, а в эксплорере отображаются эти экстерналы?
P
06:58
Project Manager
In reply to this message
Неа, только первый "активационный" экстернал успешно проходит
Причем код смарта не меняю, и на другом всё ок (если большие паузы делаю между запросами)
c
06:59
cryshado
In reply to this message
Ну вообще в нодах вроде есть механизм защиты от ддоса, хз как он реализован
07:00
Ну у тебя не ддос так то
07:00
Не так много запросов
07:00
Sticker
Not included, change data exporting settings to download.
🧐, 6.5 KB
P
07:00
Project Manager
In reply to this message
Как я понял он чисто на сетевом уровне ОС, но мб есть что-то ещё..
Но как бы 2 запроса в секунду этож мало
c
07:01
cryshado
In reply to this message
На уровне ОС может быть лимит открытых файлов в unix системах
07:01
В линуксе все файл, конект тоже
F
07:16
F
In reply to this message
Возможно у самой ноды лимитов нету, но вот у хостера могут быть правила фильтрации трафика к VDS, сталкивался с таким, приходилось писать в ТП хостера что бы сняли некоторые фильтры
AM
07:26
Alex Molina
image_2022-01-27_06-26-20.png
Not included, change data exporting settings to download.
23.0 KB
Всем привет! Помогите, пожалуйста разобраться с проблемой:
Пытаюсь задеплоить в тестнет этот смарт https://github.com/tonwhales/ton-nft/blob/main/packages/nft/ton-nft/ton-nft-sellable.fc.
Чтобы скомпилить использую файл
compile.sh

из https://telegra.ph/Hello-World-smart-kontrakt-dlya-TON-za-15-minut-11-19.
Чтобы отправить в сеть:
/usr/bin/ton/lite-client/lite-client -C /usr/bin/ton/testnet-global.config.json -c "sendfile <.boc file path>"


Получаю ошибку на скрине
07:27
При чем хелловорлд из туториала успешно деплоится
07:27
Тоны на балансе есть. Подскажите что делаю не так, пожалуйста
c
07:33
cryshado
In reply to this message
Для этого нфт нужно свое сообщение для деплоя, там есть код на жс. И вообще это нфт не для продакшена
AM
07:34
Alex Molina
Понял. Спасибо. А есть примеры уже готовых и нормальных НФТ?
c
07:35
cryshado
In reply to this message
Нормальных в тоне нет (вообще), но скоро будут
AP
07:36
Andrew Python
In reply to this message
А тот, который сделан на основе китового?
c
07:36
cryshado
In reply to this message
Ну там же написано “draft”…
AM
07:37
Alex Molina
In reply to this message
А моежете подсказать что не так с этим смартом? Просто еще не совсем уложил у себя в голове смарты на тоне
c
07:38
cryshado
In reply to this message
Ну это просто недоделанная штучка на коленке, которую доделывать и не будут
AM
07:39
Alex Molina
In reply to this message
А что не так с сообщением деплоя? Это сам .boc файл не такой?
c
07:40
cryshado
In reply to this message
Ну естественно, тот compile.sh генерит сообщение для «кошелек подобного» контракта. У этого совсем другой сторедж и т д
А
10:10
Андрей
In reply to this message
Скорее всего недостаточно свободной оперативки
AS
12:29
Alexey Samosadov
Всем привет пытаюсь получить get запросом транзакцию по номеру кошелька и хешу . Возвращает либо неверно либо последние 10 транзакций
https://api.ton.sh/getTransactions?address=EQC37faknSAl9Uc1ccqcbA9jpBSXSIR9j8yncIDtHr41eUvc&hash=qkPn8cbIdGI4ZB3tYXn+HAm1erLuFWyG0z9G23RUQmo=
Подскажите плиз что делаю не так?
12:32
Хотя простым запросом я его получаю
AC
13:02
Alexander Che
В хэше знак = в гет запросе наверное не обработает
13:02
В конце хэша стоит знак
13:03
Надо JSON наверное
m
13:07
maxp.dev
по станданту в http запросе параметры надо искейпить
A
13:14
Alex
In reply to this message
экранируй хэш через encodeURIComponent (если это js)
encodeURIComponent('56zOg6+hdGAKXjMfIgUMFZ0ip251zrIYPoeL1PBpN9A=') // "56zOg6%2BhdGAKXjMfIgUMFZ0ip251zrIYPoeL1PBpN9A%3D"
AS
13:15
Alexey Samosadov
In reply to this message
Это часть ключа хеша
13:16
У меня такие-то транзакции получаются. А такие-то нет
AC
13:16
Alexander Che
In reply to this message
Да, но именно она в гет запросе наверное и вызывает ошибку
13:16
In reply to this message
Если так, то попробуйте toncenter
13:17
Ton ша вроде никто не использует
13:17
вот эта работает
AP
13:23
Andrew Python
In reply to this message
А вообще лучше другое апи юзай (напр. toncenter.com)
13:27
вот не работает
13:28
13:28
Хотя приходят обычным запросом все последние 10 транзакция
13:28
Верхняя не приходит а нижняя приходит
13:29
In reply to this message
Спасибо- щас попробую)
Y
14:08
Yrnero
Всем привет кто нибудь знает хотя-бы предположительно сколько будет стоить выпуск 1 NFT на blokcheyn?
P
14:12
Purple
In reply to this message
стоимость деплоя контракта или что?
Y
14:16
Yrnero
Как понимаю то да , для каждой NFT будет отдельный Смарт контракт …?
P
14:16
Purple
In reply to this message
да, от 0,05 тон на каждую нфт
Y
14:17
Yrnero
Спасибо большое
14:18
Может ли цена подняться в дальнейшем и от чего это зависит?
P
14:18
Purple
это просто тонкоины на адресе, которые нужны, дабы покрыть комиссию и задеплоить смарт контракт
AM
14:19
Alexander Mamaev
In reply to this message
может измениться цена в долларах из-за банального роста или падения курса
SS
14:20
Sergei Saranin
In reply to this message
В условиях отстутсвия самого смарт-контракта обсуждать ценообразование - преждевременно
Y
14:22
Yrnero
Благодарю за помощь
P
14:27
PCStar
In reply to this message
В шарде 8 минут😱
14:27
A
14:28
Andrei
In reply to this message
жалко( это после выборов, да?
SK
14:30
Steve Korshakov
14:30
видимо
14:32
вопрос - вот estimateFee - это обычно считается тупо сколько VM газа съело?
14:32
или оно storageFee тоже учитывает?
14:32
а storageFee оно вроде может в минус уводить баланс да? то есть оно применяется уже после всего остального
14:32
?
AS
17:49
Alexey Samosadov
In reply to this message
А возможно ли вообще получить инфо о транзакции имя только его хеш?
17:49
Тк не всегда известно точное время транзакцции
AS
17:49
Aleksandr Shepelev
In reply to this message
это не точное время, это логическое время
AS
17:50
Alexey Samosadov
а где его получить - например клиент с tonkeper перевел средства - он может указать хеш из tonkeper но логическое время указать не сможет
17:51
И что оно вообще означает?
AC
17:51
Alexander Che
In reply to this message
Он может указать адрес, с которого была транзакция
AS
17:52
Alexey Samosadov
он указывает адресс например = как получить на основании адреса инофо транзакции
KS
17:52
Konstantin Sazhenov
дайте ссылку на wallet v4 плиз, а то я потерял её
AS
17:53
Alexey Samosadov
тк апи выдает инфо только последние 10 транзакции
17:53
а точный запрос требует хеш и логическое время
AC
17:53
Alexander Che
In reply to this message
Запросите больше.
17:53
Тонцентр выдает больше десяти, если попросить. Limit=
AS
17:54
Alexey Samosadov
Limit от 1 до 10
17:54
в апишке 10 максимум
CP
17:55
Catchain Protocol
где можно найти исходники func компайлера ?
AC
17:55
Alexander Che
In reply to this message
В апи тонцентра лимит 10 по умолчанию. Но если указать больше, то даст больше
AS
17:56
Alexey Samosadov
In reply to this message
И как то неочень логично получается :
KS
17:56
Konstantin Sazhenov
In reply to this message
thx
AS
17:56
Alexey Samosadov
AC
17:57
Alexander Che
Вы используете ton.sh, а я говорю про toncenter.com
AS
17:57
Alexey Samosadov
Может это ограничение именно этого сервиса https://ton.sh/api
KS
17:57
Konstantin Sazhenov
и есть ли туториалы/примеры кода по dApps для тона?
AS
17:58
Alexey Samosadov
In reply to this message
Это супер, но тоже не логично получается :
допустим будет тысячи транзакций = выгружать их себе на сервер и после проводить фильтрацию там
17:58
А если будет масштабироваться- и миллионы фильтровать у себя?
SK
17:59
Steve Korshakov
обычно ответ простой - ебитесь сами
17:59
мы тратим где-то 2к/м на сервера что бы просто блокчейн хранить для наших приложений
AC
17:59
Alexander Che
In reply to this message
Такие объемы лучше не запрашивать. Он и не даст столько.
Можно брать последнюю транзакцию, которую он отдает и от нее идти дальше, брать Lt и hash
AS
18:00
Alexey Samosadov
НУ допустим было произведено в течении 10 минут 15 транзакий и какието одновременно
18:01
нужно пример найти 5 по счету с начала (мы не знаем какая она по счету на самом деле)
18:02
In reply to this message
У нее хеш будет отличаться от первой и LT возможно тоже - (я хз что за LT)
AC
18:02
Alexander Che
In reply to this message
Все будет отличаться
AS
18:03
Alexey Samosadov
In reply to this message
Так как еее вычелить по этой схеме?
AS
18:03
Aleksandr Shepelev
блин, всё просто.

есть адрес, у него есть список транзакций, отсортированный по lt
есть пагинация
18:03
берешь адрес, берешь свой хэш и шароебишься по пагинации пока не найдешь то что надо
18:03
апи ton.sh выкинь в помойку, юзай toncenter api
AS
18:04
Alexey Samosadov
In reply to this message
Так про это и вопрос чтобы это сделать не выгружая все данные себе
AS
18:06
Aleksandr Shepelev
In reply to this message
никак, надо выгрузить данные из апи себе и найти
AS
18:06
Alexey Samosadov
In reply to this message
НУ так про это и вопрос если будет миллион транзакций- выгружаешь себе миллион и филтруешь? Это же дико
AS
18:06
Aleksandr Shepelev
миллион транзакций на одном адресе?
AS
18:07
Alexey Samosadov
ну а почему нет
AS
18:07
Aleksandr Shepelev
какие у тебя входные данные в итоге?) есть адрес и есть хэш?
AS
18:07
Alexey Samosadov
мы же системы тут строим для блокчейна и платежей и микроплатежей
18:08
In reply to this message
Да есть адрес клиента совершившего платеж и хеш платежа
AS
18:18
Aleksandr Shepelev
In reply to this message
тогда только бежать по истории транзакций) либо хранить историю )
AS
18:18
Alexey Samosadov
In reply to this message
Пример - любая биржа на боте телеграм - там много транзакций будет, онлайн игры и тд (очень много транзакций и нужно автоматический зачислять деньги на пользователя) - выгрузка данных - сервер взорвется
AS
18:18
Aleksandr Shepelev
In reply to this message
это смешная претензия кстати)
в 2017 я писал парсер всего блокчейна битка чтобы хоть какую-то инфу о балансе любого адреса иметь)) потому что там треш с этим)
с тех пор лично я привык что чтоб достать инфу из блокчейна, надо мудохаться и хранить её в удобном виде)
18:20
In reply to this message
ну тебе не нужны все транзакции всех адресов, тебе нужны транзакции только своих адресов

от миллиона транзакций ничего не взорвется ))) кэшируешь в бд и обновляешь

любая биржа будет кэшировать транзакции своих адресов в нормальной бдшке
AS
18:21
Alexey Samosadov
In reply to this message
Да это не претензия а ноаоборт воодушевление))
СВ
18:21
Сергей В
А сколько фулнода RAM требует? а то у меня съедает 30гб и крашится :)
AS
18:22
Alexey Samosadov
In reply to this message
НУ это понятно - там как раз их может быть миллион)))
AS
18:22
Aleksandr Shepelev
In reply to this message
миллион юзеров, каждый по миллиону транзакций?) nice problem to have
AS
18:22
Alexey Samosadov
In reply to this message
А так идея супер- в бд залить а там искать)
AS
18:22
Aleksandr Shepelev
когда достигнешь таких объемов, позови, будем нормально архитектуру дизайнить)
18:22
а пока не парься)
AS
18:22
Alexey Samosadov
In reply to this message
не миллион по одной в месяц например)
18:23
In reply to this message
Сенкс) С базой данных хороший ход)
18:23
In reply to this message
ок))))
18:24
In reply to this message
Спасибо)
19:15
Deleted Account
Коллеги, добрый вечер. Кто-нибудь сумел попользоваться mytonctrl внутри докер контейнера? У меня почти любая команда падает с такой ошибкой
c
19:25
cryshado
In reply to this message
mytonctrl не создан для докера, он systemd юзает и т д
AT
19:27
Andrey Tvorozhkov
In reply to this message
А зачем вам это?
19:28
In reply to this message
https://github.com/disintar/ton-k8s

Вот, можете наши докер образы взять
19:28
Но там нет майнинга и прочего (хотя зачем оно в докере то)

Сгодится только для взаимодействия с лайт клиентом, rpc, вот это все
19:29
Deleted Account
In reply to this message
Спасибо, сейчас буду пробовать
AT
19:31
Andrey Tvorozhkov
In reply to this message
Можете писать в лс, когда все сломается. Помогу :)

Там довольно сыро пока что)
AM
19:48
Alexander Mamaev
стандарта NFT нет
c
19:49
cryshado
In reply to this message
пилят 😀
19:50
In reply to this message
напиши в лс, в чём конкретно ты хотел бы поучаствовать
19:50
Вопрос, все кошельки мобильные забили на subwallet-id?
Y
19:53
Yrnero
Здравствуйте как написать маркетплейсам чтобы узнать правила ???
P
19:54
Purple
In reply to this message
каким маркетплейсам вы собрались писать?)
c
19:54
cryshado
In reply to this message
их нет еще, + не по теме чата
Y
20:00
Yrnero
Я хочу создать свою коллекцию и чтоб все было по правилам вот куда мне можно обратиться за информацией?
P
20:01
Purple
In reply to this message
пока что никуда, есть только сырая версия стандарта и все
r
20:09
rouzwelt
hello, any admin online? I have a question please
А
20:19
Андрей
подскажите есть разбор контракта с нфт и пример как деплоить его ?
c
20:20
cryshado
In reply to this message
вы все пост в недо-тон канале посмотрели и теперь каждый пишет сюда про нфт, ничего ещё не готово - не флудите
F
20:29
F
In reply to this message
+
c
21:11
cryshado
где то есть описание x более подробное? я просто смотрел юзают 124 word и т д

или надо в код фифта смотреть, хочу просто до \n разобрать слово
A
21:13
Andrei
In reply to this message
124 это код |
21:13
до \n это 0 word
c
21:14
cryshado
In reply to this message
понял спс
AM
21:17
Alexander Mamaev
Все данные контракта по сути хранятся в ячейках в виде древовидной структуры. Я правильно понимаю, что если например контракту необходимо иметь словарь (к примеру соответствие адреса юзера к какому-то числу), то он тоже реализуется с сериализацией в Cell, а не юзает общую DHT?
AS
21:18
Aleksandr Shepelev
In reply to this message
почему эти не работающие?)
A
21:18
Andrei
In reply to this message
ага
21:19
В DHT нет консенсуса, насчет того, какую версию словаря считать актуальной
21:19
Для этого блокчейн и нужен)
21:19
А деревья ячеек для меркель-пруфов любой инфы
AM
21:19
Alexander Mamaev
А для чего его тогда вообще его использовать?
A
21:20
Andrei
In reply to this message
в нем вроде соответствие adnl и айпишников лежит
21:20
ну а так для любой инфы, которая не часто меняется и/или не так важно иметь актуальную версию
21:21
торренты для TON Storage на нём же можно и следует сделать
AM
21:21
Alexander Mamaev
А там нельзя скомпрометировать инфу?
21:22
Или DHT по умолчанию не стоит использовать для важной информации
c
21:22
cryshado
зачем хайлоад начинает с i = -1 и делает idict_get_next?, когда в фифте udict, то есть айдишники uint?

может я просто в логике запутался, не могу понять , сейчас пытаюсь допилить апи для работы с хайлоадом
A
21:23
Andrei
In reply to this message
ну там информация, например, у каких нод есть такой-то файл
её в принципе не особо проверить — файл мог быть, но уже его нет
21:23
но например дескриптор adnl-адреса должен иметь хеш, совпадающий с адресом
AM
21:23
Alexander Mamaev
Ну просто как я думал он будет юзаться в т.ч. Для доменов чтобы хранить соответствие Domain Name - adnl адрес
A
21:23
Andrei
и в таком случае такие дескрипторы можно безопасно хранить
21:24
In reply to this message
не, для доменов используется смартконтракт (а точнее даже может быть цепочка по поддоменам)
AM
21:25
Alexander Mamaev
Окей. В FunC STL же уже есть реализация словаря?
A
21:25
Andrei
да, куча примитивов)
AM
21:26
Alexander Mamaev
Но при сериализации если надо данные бить на несколько ячеек нужно самостоятельно об этом думать
21:26
Если не влезает в 1023 бита
A
21:26
Andrei
да
c
21:26
cryshado
In reply to this message
да 🌚
AM
21:27
Alexander Mamaev
А есть какой-то best practice как это лучше организовать? Пример где-то подсмотреть
21:27
С ходу просто могу несколько решений придумать, но вероятно в большинстве из них выстрелю где-то себе в ногу, например излишним потреблением памяти
A
21:29
Andrei
In reply to this message
ну особо нету
имеет смысл класть в отдельную ячейку данные, которые не всегда нужны, но если нужны, то все месте
также можно делать цепочку ячеек для списков
21:30
Deleted Account
In reply to this message
Для чего нужны воркеры и что такое TON_ENDPOINTS? Чем TON_ENDPOINTS отличаются от TON_HISTORICAL?
A
21:30
Andrei
In reply to this message
стоит учитывать, что хранение одной ячейки равно хранению 500 бит
также загрузка одной ячейки стоит 500 единиц газа, а загрузка бит меньше (20-30 где-то, но не уверен)
AM
21:31
Alexander Mamaev
In reply to this message
Почему 500? Я про 1023 читал
A
21:31
Andrei
обычно комиссии за газ сильно больше комиссий за хранение
21:31
In reply to this message
это по стоимости
AM
21:31
Alexander Mamaev
А понял
A
21:31
Andrei
за биты отдельно считается
AM
21:32
Alexander Mamaev
In reply to this message
То есть можно обновить половину ячейки и оплатить ровно ее?
A
21:32
Andrei
In reply to this message
не, имеется в виду, что хранение даже пустой ячейки что-то стоит
AM
21:33
Alexander Mamaev
In reply to this message
А если я изменю один бит в ячейке я плачу за весь ее размер в любом случае?
21:33
In reply to this message
Есть дока по FunC и несколько пейперов весьма подробных
AS
21:33
Aleksandr Shepelev
In reply to this message
да, правильно. битый час уже все повторяем, что ща просто по гитхабам разбросано всё по мелочи
21:33
нет агрегированной четкой доки кроме пейпера Дурова
A
21:34
Andrei
In reply to this message
комиссии за хранение не зависят же от изменения бита
21:34
а за газ вроде не зависит от размера
AM
21:38
Alexander Mamaev
In reply to this message
То есть изменение данных != хранение данных?

Лучше на примере уточню:
Есть контракт, который в качестве своего стейта хранит одну ячейку.
Я оплатил хранение этой ячейки.
При следующем вызове ячейка поменялась. Комиссия списалась только за compute time, но не за изменение стейта?
A
21:39
Andrei
In reply to this message
можно считать, что комиссия за хранение списывается раз в секунду (виртуально)
21:39
по факту при каждой транзакции за время после последней
21:39
от изменения не зависит, важно только количество бит и ячеек (ну и время прошедшее)
AM
21:40
Alexander Mamaev
То есть цена между транзакциями между которыми прошло 2 секунды и 2 года будут разными ?
A
21:40
Andrei
ага
21:40
если большую мапу хранить, то баланс вообще может в минус уйти
AM
21:40
Alexander Mamaev
Забавно
A
21:40
Andrei
тогда контракт замораживается)
21:41
типо мапа заменяется на её хеш
21:41
и можно прислать актуальную версию и оплатить долг, тогда разморозится
AM
21:41
Alexander Mamaev
Но ведь комиссию платит тот, кто делает запрос
A
21:41
Andrei
за хранение с баланса списывается
AM
21:42
Alexander Mamaev
А, с баланса самого контракта
A
21:42
Andrei
тут с комиссиями хитрее, чем в эфире, из-за асинхронности и actor model
21:42
In reply to this message
ага
AM
21:42
Alexander Mamaev
Понял, то есть нельзя оставить и забыть
A
21:43
Andrei
в целом тут идея в том, что если хранить константное число данных, то о комисси можно не переживать
21:43
ну то есть условно 0.5 тон хватит на 100 лет с запасом
21:43
а вот если есть расширяющаяся мапа, то нужно что-то выдумывать
21:44
ну самое простое это снимать 0.05-0.1 тон за создание новой записи
AM
21:44
Alexander Mamaev
То есть даже кошелёк по факту тратит деньги
A
21:44
Andrei
либо можно её подчищать периодически
21:44
In reply to this message
ага, но очень мало
AM
21:44
Alexander Mamaev
Понял, спасибо
MD
21:46
MOB Digital
А кто сейчас делает решение по nft маркетплейсу?
21:57
In reply to this message
По этому конкурсу можно подробную инфу почитать?)
СВ
21:57
Сергей В
Пытаюсь выполнить команду на своей фул ноде, получаю ошибку
liteserver error: [Error : -400 : cannot compute block with specified transaction: lt not in db]

они будут сами докачиваться постепенно? или надо с каким-то параметром запускать?
AM
21:58
Alexander Mamaev
In reply to this message
MD
21:58
MOB Digital
А не поздно уже участвовать?
AM
21:59
Alexander Mamaev
In reply to this message
Почитай пост, там есть ответ
MD
22:01
MOB Digital
To avoid plagiarism, you can attach a link to a private repo to the submission, which you will make public after the deadline.
22:01
То есть в целом можно будет присылать вариант через 7-10 дней?
AM
22:02
Alexander Mamaev
Можешь выложить ссылку на закрытый репо сейчас, а открыть его в день дедлайна
MD
22:03
MOB Digital
Окей
22:03
Завтра сделаю, спасибо)
c
22:23
cryshado
In reply to this message
@f_closer scam
22:46
Deleted Account
In reply to this message
У тебя случайно не было такой ошибки в pyton3? LITE_SERVER_NOTREADY: cannot load proof for <address>: not in db(during last block synchronization)

Или мб ещё кто сталкивался
28 January 2022
A
00:46
Andrei
In reply to this message
а почему всё печально?
00:47
In reply to this message
но ведь даже если сделать нормально, это скорее всего не примут как стандарт
К
00:49
Криптокун
In reply to this message
А в чем проблема?
00:50
Это техническая штука, вдруг возникнут проблемы. Очевидно можно не задавать этой роли, но возможность подобная это очень важно и полезно
00:54
Deleted Account
In reply to this message
nft может содержать коллекцию из 10к картинок
00:54
и это будет один контракт, как я понимаю
A
01:05
Alex
In reply to this message
Нет. 1 контракт-коллекция и N-контрактов-токенов. Т.е. 10К NFT - 10K + 1 контракт.
A
01:06
Andrei
In reply to this message
тонкипер несложно поставить думаю)
A
01:12
Alex
In reply to this message
Ценность контракта не в реализации, а, собственно в контракте взаимодейтсвия с ним. API. Не нужна роль редактора - поставил заглушку.
01:13
Но, тем не менее, контракт еще сыроват.
A
01:16
Andrei
Да, разрабов мало пока
SK
01:17
Steve Korshakov
Практически вся разработка в любой отрасли такая
D
01:18
Denis
In reply to this message
так тут не столько в бот все упирается, сколько в контракт. Как будет контракт, бот поверх написать дело, кажется, не сильно сложное.
01:19
In reply to this message
Ты хочешь блокчейн как базу использовать и через контракт развадать?
01:21
можешь же начать с обычной базы tgid -> кошелек (который бот и создаст, например) -> nft. А параллельно искать человека, который переведет это на контракт.
01:23
уважительно, но сильно себе жизнь усложняешь 🙂 в современном мире принято сначала MVP, а потом свистелки докручивать ) В любом случае, удачи, будет сложно, но интересно
AM
01:24
Alexander Mamaev
In reply to this message
Мне кажется если человек действительно до этого программировал под другие платформы, то либо мотивация денежная недостаточная, либо это манки-прогеры копирующие код с SO
A
01:26
Andrei
да их и без контракта распродают)
AM
01:27
Alexander Mamaev
Тут как бы пока нет общепринятого стандарта нфт, то что есть это пока драфты
AP
04:09
Andrew Python
я наконец-то смог задеплоить что-то кроме кошелька
04:10
всё-таки не хватает инструкции "для самых маленьких"
KS
04:16
Konstantin Sazhenov
а не подскажите что делает subwallet_id ?
AP
04:19
Andrew Python
In reply to this message
Позволяет с одним публичным ключом сделать несколько контрактов
https://t.me/tondev/10751
KS
04:19
Konstantin Sazhenov
In reply to this message
понял, спасибо
AT
06:02
Andrey Tvorozhkov
In reply to this message
Для того чтобы фулл нода стартовала нужно достаточно много времени
AP
06:56
Andrew Python
In reply to this message
Спасибо, работает
R
07:46
RusTNT
ребят, подскажите где найти алгоритм генерации адреса кошелька
AT
07:49
Andrey Tvorozhkov
In reply to this message
Адрес кошелька, это адрес смарт контракта.

Адрес смарт контракта грубо говоря - это хэш кода и изначальных данных. Вот тут подробно расписано как публикуется смарт контракт кошелька: https://gist.github.com/tvorogme/fdb174ac0740b6a52d1dbdf85f4ddc63
СВ
08:54
Сергей В
Доброе утро, спрошу еще разок :)
Запустил фулноду, она синхронизировалась, но при запросе транзакций из старых блоков я получаю
liteserver error: [Error : -400 : cannot compute block with specified transaction: lt not in db]
эти блоки сами докачаются? или мне нужно было при запуске фулноды указывать параметр -S чтоб дальше в прошлое смотреть?
AS
09:04
Aleksandr Shepelev
In reply to this message
если старая транзакция, то нужна архивная нода
СВ
09:05
Сергей В
In reply to this message
ее надо как-то отдельно поднимать?
AS
09:05
Aleksandr Shepelev
In reply to this message
нужно фулноду в другом режиме запустить

только архивная жрет овердохера места
СВ
09:07
Сергей В
In reply to this message
ясно, спасибо
AT
09:13
Andrey Tvorozhkov
In reply to this message
СВ
09:17
Сергей В
In reply to this message
огого :)
At least 64 Gig of memory, 128 are recommended
AT
09:46
Andrey Tvorozhkov
In reply to this message
~80евро - https://www.hetzner.com/sb?ram_from=6&ram_to=6&ssd=true
Не так дорого)
СВ
09:46
Сергей В
In reply to this message
Для "побаловаться" все равно многовато :)
AS
09:47
Aleksandr Shepelev
In reply to this message
а зачем для побаловаться супердревние блоки?)
СВ
09:48
Сергей В
In reply to this message
Да вот не супердревние, просто запросил транзакции своего кошелька, и обломался, а они были в декабре :)
MD
09:51
MOB Digital
Ребят, а есть примеры работающего кода свежего, а не 2019/20 года? Мы команда разработчиков на соладити, хотим делать продукты для блокчейна ton, но из за того что нет инструментария мы не можем начать работу, нам нужна хоть какая то помощь в виде готовых свежих решений, заранее спасибо)
AT
09:53
Andrey Tvorozhkov
In reply to this message
А что конкретно то хотите?)
MD
09:54
MOB Digital
Game fi
A
11:47
Alex
In reply to this message
А «достаточно много» это примерно сколько?
И сколько должно пройти времени чтобы блок считался архивным?
AT
11:49
Andrey Tvorozhkov
In reply to this message
Я не замерял, но оставлял на ночь) Про архивные блоки - я ничего не знаю, но знаю где можно почитать - https://github.com/newton-blockchain/TIPs/issues/32
A
11:53
Alex
In reply to this message
Спасибо
AP
14:35
Andrew Python
Как последнюю команду сделать в func? (или просто как в func получить человеческий адрес?)
R
15:02
RusTNT
In reply to this message
что-то почитал и не понял) у меня есть паблик ключ допустим и код контракта, как из этого получить адрес)
СВ
15:57
Сергей В
На сайте тон китов есть вот такой список
https://tonwhales.com/explorer/top
Как такой-же самому сделать? :)
нужно как-то парсить стейт который в rocksdb хранится?
SK
15:58
Steve Korshakov
я считал все блоки и адреса и потом запросил все их балансы
СВ
16:05
Сергей В
In reply to this message
просто через лайт клиент?)
SK
16:05
Steve Korshakov
нет я сначала поднял большую историческую ноду
СВ
16:09
Сергей В
In reply to this message
понял, спасибо)
MS
16:40
Mikhail Sytchev
Привет. У меня вопрос по адресам. Хочу на своем сайте предоставлять в личных кабинетах польователей баланс ТОНа, который они могут пополнить. В терминологии ТОНа мне надо каждому сгенерировать local wallet в утилите MyTonCtrl?
AS
16:41
Aleksandr Shepelev
In reply to this message
просто сгенерить кошель тоновский да
AP
16:41
Andrew Python
In reply to this message
Tonweb либа для js, да для каждого создавать кошель (пара ключей)
AS
16:41
Aleksandr Shepelev
утилита майтон не нужна, есть либы нормальные ) вон выше уже пишут)
MS
16:42
Mikhail Sytchev
а мне надо чесгря на сервере какой-то понятный сервер с АПИ по которому я мог бы создавать адреса
AS
16:43
Aleksandr Shepelev
In reply to this message
ну, если я тебе предоставлю такой сервер, какая будет гарантия что я не сохраняю твои ключи :)
MS
16:43
Mikhail Sytchev
у меня в стеке JS вообще нету
16:43
так я на своем сервере Lite ноду планировал развернуть через mytonctrl
AP
16:43
Andrew Python
In reply to this message
Никогда не поздно))
AS
16:43
Aleksandr Shepelev
In reply to this message
и к ней через комманд лайн ходить?)
MS
16:44
Mikhail Sytchev
через REST API, как ко всем другим блокчейн нодам: btc, eth и тд
AS
16:44
Aleksandr Shepelev
In reply to this message
о_0 ты генеришь ключи битка через рест апи к ноде?
MS
16:45
Mikhail Sytchev
да, все в приватном периметре живет
16:45
из-вне доступа нет
AS
16:45
Aleksandr Shepelev
In reply to this message
ну лан, тогда по-накатанной действуй)
16:45
просто ключи битка и прочего вообще локально генерятся, никакие ноды не нужны )
MS
16:46
Mikhail Sytchev
но я после знакомства с экосистемой тона вообще не увидел что есть rest api какой либо
AP
16:46
Andrew Python
In reply to this message
AS
16:46
Aleksandr Shepelev
MS
16:46
Mikhail Sytchev
понял что есть отдельный проект https://toncenter.com/
AS
16:46
Aleksandr Shepelev
это не совсем проект, это апи ноды
16:46
ты у себя поднимешь ноду, у тебя локально такой же будет апи
F
16:46
F
In reply to this message
Что то такое есть внутри:
https://github.com/igroman787/mtc-jsonrpc

Он используется для админки tonadmin.org

Но оттуда выпилили функции записи, только получение параметров.
Попробуйте связаться с автором, уверен он может предоставить без вырезанного функционала
MS
16:48
Mikhail Sytchev
In reply to this message
спасибо, изучу
16:49
если не получится, то придется tonweb запустить и с помощью node сервера какое-то АПИ наружу ноды выкинуть, да?
AS
16:50
Aleksandr Shepelev
In reply to this message
ну тон веб тоже у тебя спросит rpc апишку а-ля тон-центр)
16:51
по факту tonweb / ton от whales это обертка над апишкой ноды, которая позволяет не особо втухая в нюансы, делать все базовые операции а-ля создание кошелька, отправка и тд
MS
16:52
Mikhail Sytchev
спасибо большое!
16:53
а вот еще вопрос: смотрю на АПИ https://toncenter.com/api/v2/ и не вижу методов

1. получить последний блок,
2. получить конкретный блок,
3. получить конкретную транзакию
16:53
это недоработан АПИ, или намеренно не экспозится данная информция?
c
16:54
cryshado
In reply to this message
Там ничего не доработано, сейчас переписывают тонцентр
SK
16:55
Steve Korshakov
Есть там все
MS
16:55
Mikhail Sytchev
In reply to this message
может я не тот проект смотрю. покажите плз где документацию по методам

1. получить последний блок,
2. получить конкретный блок,
3. получить конкретную транзакию

найти?
F
16:55
F
Внимание, представляю вам переписанный с нуля toncenter 2.0:
https://github.com/toncenter/ton-http-api

Можете тестировать во все места 😈
Обещают быть стабильными. Любые баги писать в issues, будут исправлять

PS: если что автор не я
AM
16:57
Alexander Mamaev
👏
ME
16:57
Maks Efremov [онлайн если шо]
Приветствую, а где можно найти черновики смартконтрактов для NFT ?
c
16:57
cryshado
In reply to this message
Вы не думали не писать свой вебсервер, а использовать простенький фреймворк?? Из за этого могут быть проблемы, как в старом тонцентре - с безопасностью и т д
MS
16:58
Mikhail Sytchev
In reply to this message
вовремя =)
16:58
Deleted Account
In reply to this message
а есть уже задеплоенное приложение?)
MS
16:59
Mikhail Sytchev
In reply to this message
а дока по методам будет при запуске приложения?
MS
17:13
Mikhail Sytchev
1. получить последний блок,
2. получить конкретный блок,
3. получить конкретную транзакию

вот эти методы в АПИшке toncenter отсутствуют, как можно получить информацию о произвольных блоках и транзакциях иным способом?
17:14
Deleted Account
In reply to this message
MS
17:16
Mikhail Sytchev
In reply to this message
о, здорово
17:16
2 пункта закрыты из списка =)
17:19
а, ну все, сообразил. по п.3 можно не от транакции двигаться, а обратно от адреса, т.к. адрес приходит в ответе GET /block/<seqno>
A
17:19
Anime AI
Правильно я понимаю что взаимодействие с ton происходит через http?
MS
17:21
Mikhail Sytchev
ох… спасибо за советы. Разрозненькая пока экосистема =) надо консолидировать проекты и документацию. Очень сложно разработчику со стороны влиться в эту историю. Даже несмотря на приличный опыт работы с другими чейнами
AM
17:28
Alexander Mamaev
In reply to this message
нет, можно поднять проксю которая будет по http принимать запросы
A
17:28
Anime AI
Это получается не прокся а адаптер
17:29
А какой протокол передачи данных используется ? Сори за тупые вопросы
AM
17:29
Alexander Mamaev
adnl
A
17:29
Anime AI
Спасибо!
F
17:43
F
@wrkpro> Вы не думали не писать свой вебсервер, а использовать простенький фреймворк
Если что я не разработчик, а просто модератор)
Но уверен, что я смогу донести до них ваши слова

@DKeysil> а есть уже задеплоенное приложение
Прямо сейчас toncenter.com обновляется на новый код
UPD: Обновили

@mimikadze> а дока по методам будет при запуске приложения?
Сейчас обновят toncenter.com и посмотрим)
UPD: обновили
17:45
In reply to this message
Смотря между чем и чем. Если между tonweb и toncenter - то https. Если между нодами, или Lite-server и lite-client - то ADNL.
И пишите пожалуйста не от имени канала
c
17:46
cryshado
мне wallet в интернале присылает свой паблик кей, я получаю его адрес. Я могу как-то пруфнуть, что паблик кей реально к этому контракту валета принадлежит? Я могу забить конечно, но хотелось бы как-то понадёжнее сделать
F
18:00
F
In reply to this message
image_2022-01-28_18-00-46.png
Not included, change data exporting settings to download.
23.7 KB
А если использовать метод контракта get_public_key?
Например через lite-client можно получить в десятичном представлении
D
18:17
Dario
i made a simple regex to identify pub address, idk if its useful to someone

^(0|-1):[a-z0-9]{64}$
c
18:19
cryshado
In reply to this message
ну можно будет указать публичник не свой, хотелось бы чтобы контракт мог получить публичник кошелька. Скорее всего надо в контракт кошелька добавлять такой метод
BH
18:22
Bio Hazzardt
In reply to this message
^(0|-1):[a-f0-9]{64}$ or ^(0|-1):([a-f0-9]{64}|[A-F0-9]{64})$
D
18:24
Dario
In reply to this message
Oh well yeah thats hex, i forgot to use a-f
18:24
Thanks
AS
18:37
Alexey Samosadov
Всем привет, а есть ли возможность про протестировать работу валидатора на тест нет? А то поставил валидатор на машину протестил на обычной сети, но участвовать в конкурсе с малым количеством монет нереально.
Есть ли возможность на тестнете это сделать сейчас?
RG
19:17
Ruslan Gabdullin
toncenter.com обновился
19:18
Deleted Account
In reply to this message
аа, вот что я видел позавчера на testnet.toncencter.com там уже равернуто было кажется
RG
19:18
Ruslan Gabdullin
Оно там уже пару недель😅
19:19
Deleted Account
In reply to this message
👍🏻
19:19
In reply to this message
Вот бы changelog обновления)
F
19:29
F
In reply to this message
Ура 😊
T
19:41
TON технический обзор
In reply to this message
Апи не изменилось, но стало стабильнее
RG
19:54
Ruslan Gabdullin
In reply to this message
Подтверждаю. Полная совместимость с предыдущей версией
AT
19:58
Andrey Tvorozhkov
In reply to this message
А зачем нужен патч тона?
RG
19:58
Ruslan Gabdullin
Исправления багов в прошлом тонцентре
AT
19:59
Andrey Tvorozhkov
In reply to this message
Может быть можно это запушить в safe_layer и сделать по красоте?

+ по красоте было бы pip пакет сделать
RG
20:00
Ruslan Gabdullin
Зачем pip-пакет?
AT
20:01
Andrey Tvorozhkov
In reply to this message
https://github.com/disintar/ton-k8s/

Вот у меня есть кубернетс образы, я хочу сделать` pip install pyton, pyton —run`
F
20:01
F
In reply to this message
Для конечного пользователя pip пакет удобно, но для разработчика это усложнит разработку) Нужно будет делать поддержку pip
AT
20:01
Andrey Tvorozhkov
In reply to this message
0_о
20:02
In reply to this message
pip install -e .
20:04
In reply to this message
Я могу сделать, мне не сложно)
RG
20:05
Ruslan Gabdullin
Сервис теперь на контейнерах. Приватные ноды пока не поддерживаются
F
20:05
F
In reply to this message
Тогда думаю никто не будет против) Как раз для этого и выложили на github)
RG
20:08
Ruslan Gabdullin
Но лучше не стоит. Сейчас тонцентр можно запустить только через docker-compose
AT
20:11
Andrey Tvorozhkov
In reply to this message
Ну это же плохое решение. Это так работает потому что чекаут в рандомный коммит + накатывание патча. Кажется что так быть не должно, если мы делаем блокчейн будущего)

(все равно очень круто, что был переписан старый код, это скорее про обертку комментарии)
RG
20:13
Ruslan Gabdullin
Ну как. Там чекаут в стабильный коммит мастера + патч. Сейчас это сделано в первую очередь для воспроизводимости. Плюсом, пересборку tonlibjson делать необязательно, потому что нужный файл лежит в репо там же, где был раньше
20:14
@tvorogme, запрос на pip-пакет кажется здравым. Пожалуйста, оформи его в виде issue)
AT
20:14
Andrey Tvorozhkov
In reply to this message
Так давайте сделаем ветку просто в newton-blockchain с этим фиксом, будем делать клонирование с этой ветки и сделаем pip пакет, который будет так же устанавливаться в контейнере и запускаться)
20:14
In reply to this message
👌
RG
20:16
Ruslan Gabdullin
Все еще не понимаю, как pip-пакет связан с побочным скриптом сборки tonlibjson?
AT
20:16
Andrey Tvorozhkov
In reply to this message
Так в этом и идея, чтобы разделить эти процессы
20:17
Чтобы кто угодно мог склонировать тон, переключиться на ветку, скомпилировать (в своем кастомном образе)
20:17
И через пип установить пайтон
20:17
В будущем уйдет первый шаг и будет просто по красоте
RG
20:17
Ruslan Gabdullin
Это для чего? Чтобы pyTON запустить?
AT
20:17
Andrey Tvorozhkov
In reply to this message
Да
RG
20:20
Ruslan Gabdullin
Для этого ton не надо клонировать. И пересобирать тоже ничего не надо)
AT
20:20
Andrey Tvorozhkov
In reply to this message
Так он же не будет работать без кастомного tonlibjson
RG
20:20
Ruslan Gabdullin
Этот кастомник уже давно лежит в pyTON/distlib/linux
20:21
Раньше его надо было собирать по инструкци, а сейчас сделали скрипт
AT
20:21
Andrey Tvorozhkov
А, тогда я вообще не понимаю почему не сделать пип пакет и не собираеть его там же в образе)

Это позволит всем сторонним разработчикам проще поднимать апишку) В 2 команды)
20:22
Короче, надо сделать issue
N
20:22
Nikita
Ребят привет, никто не в курсе в какой стадии ton nominators сейчас?
RG
20:24
Ruslan Gabdullin
In reply to this message
+
Желательно и пример использования туда укажи)
20:25
Сейчас поднять сервис тоже несложно: docker-compose build && docker-compose up -d
AT
20:25
Andrey Tvorozhkov
In reply to this message
Да, это прям круто)
RG
20:25
Ruslan Gabdullin
Инструкция в README длиннее, потому что есть настраиваемые опции)
20:26
И даже SSL несложно приделать!😁
AT
20:27
Andrey Tvorozhkov
In reply to this message
А вот в k8s tls автоматически прожимается, даже кнопки нажимать не нужно) Только dns пробрось - ingress сделает своё дело)))

Но это так, оффтоп
B
20:54
Boss
Нужна помощь

Так и не синхронизируется лайт сервер, сказали, что подождите сутки. Подождали сначала сутки, затем неделю, толку нету.
Команда status говорит ждать еще 52 года, терпения уже нету, какие 52 года.

Как победить?
20:54
20:56
У меня есть рабочий лайт сервер, может можно как-то скопировать.
Раньше вообще таких проблем не было в течение нескольких часов синхронизировался.
F
21:20
F
In reply to this message
Если сутки без изменений, то уже можно бить тревогу)
А что в логах ноды?
tail -f /var/ton-work/db/log.thread*
B
21:24
Boss
In reply to this message
# tail -f /var/ton-work/db/log.thread*

tail: cannot open '/var/ton-work/db/log.thread*' for reading: No such file or directory

Путь правильный?
F
21:29
F
In reply to this message
Не факт, написал на память) Посмотри где у тебя логи лежат)
B
21:30
Boss
In reply to this message
tail -f /var/ton-work/log.thread*

[ 3][t 1][2022-01-21 13:38:50.880424339][validator-engine.cpp:1287][!validator-engine] found init block [ w=-1 s=9223372036854775808 seq=16905517 8R6E9t77dZRU+ySfkY5tzPu0dorwQGfmG9JUhf7OOYs= RCihNHvjqLv6Kh/N0bx+dOwyYNNPSIqmd95h3ShFAGM= ]

[ 1][t 1][2022-01-21 13:38:50.885285869][validator-engine.cpp:1571][!validator-engine] created config file '/var/ton-work/db//config.json'

[ 1][t 1][2022-01-21 13:38:50.885301388][validator-engine.cpp:1572][!validator-engine] check it manually before continue
A
21:30
Alex
Всем привет. Есть вопрос.
1. Я развернул https://raw.githubusercontent.com/igroman787/mytonctrl/master/scripts/install.sh
2. Нода уже синхронизирована вроде как:
Local validator status: working
Local validator out of sync: 4 s
Local validator database size: 5.31 Gb
3. Я включил RPC как указано в настройках (mytonctrl -> installer -> enable PT).
4. Я пробую обратиться по адресу http://адрес:8000, но сервер просто сбрасывает соединение.
5. Смотрю в логи pytonv3.service, а там много раз такое:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpvxpjj4kx'

Собственно вопросы.
1. Что я делаю не так и как мне заставить работать pytonv3?
2. По-умолчанию mytonctl смотрит на mainnet?
3. Нужно ли делать еще какие-то шаги помимо тех что описаны здесь? https://github.com/igroman787/mytonctrl

Спасибо.
21:37
Deleted Account
hi
AT
21:43
Andrey Tvorozhkov
In reply to this message
У нас закрытый регистри и сейчас он там захардкожен. В целом не думали поддерживать докер хаб, но если хотите можете сделать пулл реквест, убрать хардкодинг и опубликовать на хабе :)
c
21:45
cryshado
я могу в экстернале понять, что я еще не active контракт точно на 100% а не каким-то своим bool из стореджа?
A
21:46
Andrei
In reply to this message
кажется нет
c
21:47
cryshado
In reply to this message
эх ( Хотел запретить экстерналы до того как контракт станет active(и ещё пара условий своих), разрешить деплой только через интернал
F
21:48
F
In reply to this message
Ничего нету, нужно увеличить уровень логирования, например до 2:
validator-console
setverbosity 2

Потом посмотреть логи
21:52
In reply to this message
А там он просто не может открыть начальную страницу, а так api уже работает, например попробуйте выполнить запрос:
https://<ip-addr>/getAddressInformation?address=EQCYZNP9oU6wOt6RB8gM3Cy91-tGi-f168l5fi-ohOCwWcbl
B
21:52
Boss
In reply to this message
# tail -f /var/ton-work/log.thread*

==> /var/ton-work/log.thread1.log <==

[ 3][t 1][2022-01-21 13:38:50.880424339][validator-engine.cpp:1287][!validator-engine] found init block [ w=-1 s=9223372036854775808 seq=16905517 8R6E9t77dZRU+ySfkY5tzPu0dorwQGfmG9JUhf7OOYs= RCihNHvjqLv6Kh/N0bx+dOwyYNNPSIqmd95h3ShFAGM= ]

[ 1][t 1][2022-01-21 13:38:50.885285869][validator-engine.cpp:1571][!validator-engine] created config file '/var/ton-work/db//config.json'

[ 1][t 1][2022-01-21 13:38:50.885301388][validator-engine.cpp:1572][!validator-engine] check it manually before continue

==> /var/ton-work/log.thread2.log <==

[ 2][t 2][2022-01-28 18:49:57.881156301][full-node-shard.cpp:447][!manager] getnextkey: [Error : 651 : not inited]

[ 2][t 2][2022-01-28 18:50:05.463645998][full-node-shard.cpp:447][!manager] getnextkey: [Error : 651 : not inited]

==> /var/ton-work/log.thread3.log <==

[ 2][t 3][2022-01-28 18:50:04.632338675][full-node-shard.cpp:447][!manager] getnextkey: [Error : 651 : not inited]

==> /var/ton-work/log.thread5.log <==

[ 2][t 5][2022-01-28 18:49:56.445743069][full-node-shard.cpp:447][!manager] getnextkey: [Error : 651 : not inited]

[ 2][t 5][2022-01-28 18:49:59.186589968][full-node-shard.cpp:447][!manager] getnextkey: [Error : 651 : not inited]

==> /var/ton-work/log.thread6.log <==

[ 2][t 6][2022-01-28 18:49:53.011713801][full-node-shard.cpp:447][!manager] getnextkey: [Error : 651 : not inited]

==> /var/ton-work/log.thread7.log <==

[ 2][t 7][2022-01-28 18:49:44.117112354][full-node-shard.cpp:447][!manager] getnextkey: [Error : 651 : not inited]
A
21:58
Alex
In reply to this message
О! Действительно. Спасибо. Правда тут другая проблема. Либо такое открывается, либо такое.
21:58
In reply to this message
F
21:58
F
In reply to this message
Ну хз что с ним не так.
Напиши в личку, будем пробовать
B
22:00
Boss
In reply to this message
Спасибо
AH
22:19
Andrey Heisenberg
Привет ребят, можете подсказать с чего начать разработку программ,сайтов (желательно маркетплэйсов) по технологии блокчейн? Просто ищу матерьял но все туго так как практически нигде не говорят какие базовые знания нужны. Благодарю заранее 🤟🏼
A
22:21
Alex
Скажите, я верно понимаю что pytonv3 использует libtonlibjson.so который в свою очередь читает из конфига (который --liteserverconfig) p2p-ноды с которыми можно работать и, собственно, работает с ними?
И в случае с mytonctrl генерируется конфиг который указывает на нашу ноду.
Ход мысли верный?
22:25
In reply to this message
И в догонку. pytonv3 выдает такое как на скрине, а https://github.com/toncenter/ton-http-api работает прекрасно (пусть с небольшими задержками), но я так понимаю что последний никак не контактирует с моей нодой.
Что я делаю не так в случае с pytonv3 и могу ли я направить ton-http-api на свою ноду?
Спасибо.
RG
22:32
Ruslan Gabdullin
In reply to this message
Направить на свою году прямо сейчас сложно. Для этого надо поднять инстанс по инструкции, причём в конфиге сети надо удалить все liteserver’а и оставить только свой. Тогда сервис начнёт ходить на твою ноду и никуда больше.
22:34
In reply to this message
Ответ на первый вопрос: да, это так. Причём, если не ошибаюсь, то выбирается один случайный лайтсервер на всю сессию (чтобы перевыбрать, надо перезапускать)
A
22:36
Alex
In reply to this message
Понял. Спасибо!
c
22:54
cryshado
тонцентр новый блоки в монгу пишет?
RG
22:57
Ruslan Gabdullin
Не блоки. Логирование туда: запросы, что приходят, задачи лайтсерверов и ответы в случае ошибок
c
22:57
cryshado
мне кажется докер и т д прям в репе это все не очень нужно, надо было "сырой сервак" выкатывать, а кому как удобнее пусть так и настраивают. Кто-то вообще захочет в кубер завернуть со своими преколами
RG
22:58
Ruslan Gabdullin
Сырой сервак сделаем отдельно, issue уже сделали
c
22:58
cryshado
а понял)
RG
22:59
Ruslan Gabdullin
А, Андрей еще не завел запись
A
23:01
Alex
Вопрос есть по лайтсервер-конфигу. ip в нем указаны как -123456789.
Как они кодируются? Я предположил что это 32-х битное число - 8 бит = 1 октет - ipv4, но что-то раскодировать не вышло.
Собственно как закодировать/раскодировать?
PG
23:08
Prime G.
In reply to this message
Это IP в integer.
Google: IP integer converter
A
23:11
Alex
In reply to this message
Оказалось что все от конвертера зависит.
Попробовал несколько других - на выходе чушь.
Вот этот работает: https://www.vultr.com/resources/ipv4-converter/
Спасибо.
23:17
In reply to this message
Разобрался. В сгенерированном конфиге (local.config.json) был подставлен мой внешний IP, но нода находится внутри частной сети и pyton не мог к нему достучаться.
Может кому-то пригодится.
29 January 2022
c
01:19
cryshado
а можно raw_reserve с разными mode юзать вместе? Например raw_reserve(msg_value, 0), чтобы нельзя было потратить больше, чем msg_value и raw_reserve(что-то, 2), чтобы нельзя было остаток сообщения стал, так чтобы на баланьсе не осталось меньше "что-то"?
01:20
и можно в рантайме в func получить текущий доступный остаток(не баланс), то есть за вычетом предыдущих действий и т д?
SK
01:22
Steve Korshakov
Нет
c
01:23
cryshado
In reply to this message
это на какой вопрос ответ? 😅
SK
01:23
Steve Korshakov
Последний
c
01:23
cryshado
хм понял
A
01:24
Andrei
In reply to this message
raw_reserve(msg_value, 0) не то делает)
c
01:24
cryshado
In reply to this message
всмысле 😅
A
01:25
Andrei
оно резервирует msg_value, позволяя потратить всё остальное)
c
01:25
cryshado
In reply to this message
а гениально, значит надо делать raw_reserve(my_balance - msg_value, 0)
A
01:26
Andrei
In reply to this message
можно сделать raw_reserve(0, 4);
c
01:26
cryshado
In reply to this message
понял, спасибо
01:28
а типа несколько раз raw_reserve можно юзать? новый не отменяет старый?
A
01:36
Andrei
In reply to this message
можно
c
01:36
cryshado
In reply to this message
норм
c
03:20
cryshado
как в tlb показывают, что что-то это ref?
A
03:21
Andrei
^
c
03:21
cryshado
In reply to this message
а то есть ^Cell это ref на cell, понял
AP
12:01
Andrey Pfau
читаю доки по fift. Не совсем понял что значит ‘if e is equal to the special value `nop the last step is omitted’. Что именно пропускается? Кто может понятным языком обьяснить
AP
12:11
Andrew Python
In reply to this message
В этом чатике не хватает Николая Дурова...
А
12:14
Андрей
In reply to this message
информативный ответ, спaсибo
AS
12:17
Aleksandr Shepelev
In reply to this message
там 2 действия, push into stack и execute. если e = какому-то зашитому значению, execute пропускается
P
12:17
Priani4ek
In reply to this message
Если execution token e пуст, то ничего не екзекъютится же
Р?
12:34
Рома 🚀
Приветствую 🖖
Занимаюсь разработкой дизайна для сайтов и интерфейсов.

Хотел бы поучаствовать в разработке сервисов ТОН

Если у вас есть проекты, где нужен дизайн - рад сотрудничать 🤝
A
14:33
Alex
In reply to this message
Предполагаю что это OOM killer (механизм который убивает процессы, если по его мнению они потребляют слишком много ОЗУ) отправляет сигнал SIGKILL.
14:36
Пардон. Не заметил.
Д
16:17
Денис
Нужны желающие на аудит (уязвимости / баги) мобильного приложения для Toncoin от TegroMoney. Оплата 100$ за пару часов вашего времени.

В ЛС можете написать.
AH
16:34
Andrey Heisenberg
In reply to this message
Написал
AT
18:58
Akaki Tkemaladze
Привет всем.
Гденибудь есть руковотство или примеры как создать кошелек с subwallet адресами?
Можете подскозать?
OP
18:59
Oleg Payze
In reply to this message
Пиши))
MS
19:26
Mikhail Sytchev
In reply to this message
а тут кажется не сабволет адреса, а понятие мастер адрес и invoice для приема конкретного платежа
19:31
Хотя, написано There are a few approaches to accept payments that differs in method of distinguishing users. а приведен один =)
AS
19:32
Aleksandr Shepelev
In reply to this message
о_0 што
MS
19:33
Mikhail Sytchev
хз, молчу ))
19:33
можно сабволет адреса делать?
AM
19:44
Alexander Mamaev
а как контракт может сохранить больше чем одну ячейку в блокчейн?
c
19:45
cryshado
In reply to this message
ссылкой на другую например, каждый cell может содержать до 4х ссылок на другие
19:46
In reply to this message
если что ссылки не входят в 1023 бита, они хранятся отдельно
AM
19:46
Alexander Mamaev
да, но как я понял set_data() по сути сохраняет ячеку в в сторадж, а остальные
19:46
одну ячейку
AT
19:46
Akaki Tkemaladze
subwallet реальная фича
c
19:46
cryshado
In reply to this message
ну пример

begin_cell()
.store_uint(123, 16)
.store_ref(другой cell)
.end_cell();

и это в set_data
AT
19:46
Akaki Tkemaladze
в wallet v3
19:47
Deleted Account
In reply to this message
можно изменить, но только если будете деплоить кошелек сами

Существующие кошельки не умеют в эту фичу
c
19:48
cryshado
In reply to this message
Существующие кошельки ничего не имеют, в какой-то степени удобнее юзать кошелек свой задеплоеный. Потому что уже были проблемы, когда юзеры в toncoin wallet спустя год не смогли зайти в свои кошельки, потому что раньше использовался другой контракт там - какой никто не знает
AM
19:48
Alexander Mamaev
In reply to this message
а это разве не просто билдер ячейки?
19:49
Или как только ячейка сбилжена - считай записана?
c
19:50
cryshado
In reply to this message
ну взял в билдере сделал store_ref, сохранив ссылку на другой cell. Можно хоть паравозик сделать из cell'ов
19:50
можно потом делаеть ~load_ref()
AM
19:52
Alexander Mamaev
Ну то есть при сохранении будут рекурсивно сохраняться все ячейки на которые есть ссылка ?
c
19:52
cryshado
In reply to this message
угу
AM
19:53
Alexander Mamaev
In reply to this message
А если ячейка остаётся сиротой, после изменения родителя?
c
19:54
cryshado
In reply to this message
ну ячейка может быть просто ссылкой на другую, например

<b <b <b "aboba_123" $, b> ref, b> ref, b>
19:54
только за каждую ячейку(даже пустую) ты платишь 500 нанограм в бейсчейне за сторедж фи
AM
19:55
Alexander Mamaev
Да это я уже понял, а 500 за какой период?
c
19:55
cryshado
In reply to this message
P
19:56
Purple
In reply to this message
а текст можно так указывать?
AM
19:56
Alexander Mamaev
In reply to this message
Понял
P
19:56
Purple
просто в примере видел 124 word text $
c
19:56
cryshado
In reply to this message
19:56
In reply to this message
ну можно и так, когда нельзя "" вставить внутри(например в asm вставке в func)
P
19:56
Purple
понял
AT
20:05
Akaki Tkemaladze
In reply to this message
конечно сами. вот я про контракт спросить хотел, есть ли где пример.
AT
20:10
Akaki Tkemaladze
In reply to this message
ето наверно для одного. мне нужно чтоб child адреса автоматом перекидывали трансфер на parent. но и на етом спасибо.
c
20:11
cryshado
In reply to this message
в каком смысле перекидывали трансфер? можешь подробнее объяснить задачу?
AS
20:11
Aleksandr Shepelev
In reply to this message
тупо собирать бабки со всех кошельков походу автоматом)
c
20:12
cryshado
In reply to this message
ну это надо контракт кошелька менять, чуть дописать логику в интернале и в сторедж добавить адрес parent или считать его прям в контракте(но это дороже будет)
AS
20:12
Aleksandr Shepelev
ага, или просто забить и собирать скриптом
AT
20:12
Akaki Tkemaladze
ну как крипто бот. саздаёт адрем клтенту. все пришедшие суммы на него пересылаются на главный адрес сервиса. где ТОН а примерно на лимон зелёных.
MS
20:12
Mikhail Sytchev
In reply to this message
вопрос комиссий
c
20:12
cryshado
In reply to this message
ну автоматически в контракте удобнее)
20:13
In reply to this message
а зачем, если можно иметь один адрес?
20:13
пустая трата fee
AT
20:13
Akaki Tkemaladze
нуда... платим комиссию конечно но для отслежывания клиентов легче
AS
20:13
Aleksandr Shepelev
In reply to this message
а как разных юзеров отличать?)
MS
20:13
Mikhail Sytchev
In reply to this message
ассоциация платежа с юзером
c
20:13
cryshado
In reply to this message
по коменту к транзе
AS
20:13
Aleksandr Shepelev
In reply to this message
о_0
20:13
юзабилити овер99
AT
20:13
Akaki Tkemaladze
In reply to this message
согласен но альтернативы пока нет
MS
20:14
Mikhail Sytchev
In reply to this message
но офф дока именно так предлагает делать
20:14
invoice в коментарии вписывать
c
20:14
cryshado
In reply to this message
ну да, проси юзера например в комент поставить его chat_id тг или что у тебя в сервисе, можно сразу qr и ссылку с коментом сгенерить - это норм практика
AS
20:14
Aleksandr Shepelev
In reply to this message
ну нехай предлагает)) я ни за что не буду такой сервис делать) это выстрел в голову себе
AT
20:14
Akaki Tkemaladze
у некоторых сервисов нет коментов
MS
20:14
Mikhail Sytchev
да, неудобно жутко
c
20:14
cryshado
привыкли в btc и т д юзать одноразки адреса и сюда тяните, тут не надо так делать
AT
20:15
Akaki Tkemaladze
комент именно для етого. согласен. как в рипле.
c
20:15
cryshado
In reply to this message
почему? не думаю
MS
20:15
Mikhail Sytchev
In reply to this message
почему одноразки? путь всегда за пользователем будет закреплен
AT
20:15
Akaki Tkemaladze
знаю что не надо но мне нужно в данный момент
AS
20:15
Aleksandr Shepelev
In reply to this message
ну как минимум криптоботы и прочие не умеют коммент писать
c
20:15
cryshado
In reply to this message
ну все равно все собирать потом в одно место это пустая трата fee
AT
20:15
Akaki Tkemaladze
хотя разобрав систему может сам нопишу скоро...
AS
20:15
Aleksandr Shepelev
минус половина текущих сервисов
c
20:15
cryshado
In reply to this message
ну соболезную тому кто хранит деньги в крипто-боте
MS
20:16
Mikhail Sytchev
In reply to this message
Поэтому и спрашиваем как решить проблему консолидации средств ))
AS
20:16
Aleksandr Shepelev
In reply to this message
🤷‍♂️ не всё ж миллионами ворочать, мелочь удобнее там туда сюда
AT
20:16
Akaki Tkemaladze
ну я рад вообше что у когото есть деньги чтоб их хронить))
c
20:16
cryshado
In reply to this message
ну можно в контракте прописать логику в recv_internal, там несколько строчек - чисто как прокси
AT
20:17
Akaki Tkemaladze
спс
MS
20:17
Mikhail Sytchev
это же fift надо изучить, чтобы контракт такой составить, да?
c
20:17
cryshado
In reply to this message
fift и func
AS
20:17
Aleksandr Shepelev
In reply to this message
можно, только ты предлагаешь курить фифт код, писать кастом кошель, не факт что он будет корректный и тд
20:17
или бахнуть скриптец за полчаса
c
20:18
cryshado
In reply to this message
это уже точно костыль
20:18
ты ещё в скрипте fee не так считать будешь скорее всего и т д
AS
20:18
Aleksandr Shepelev
In reply to this message
ну криптобот и все биржи так и работают)
20:18
In reply to this message
зачем считать фи?
20:18
carry all remaining balance
20:18
🤷‍♂️
AT
20:18
Akaki Tkemaladze
если будет скрипт поделитесь плз
MS
20:18
Mikhail Sytchev
а по прокси контракту — за редирект комса не берется что-ли?
c
20:18
cryshado
In reply to this message
нет, у окекса(самая нормальная биржа по моему мнению, перешел туда с бинанса еще давно) юзает пополнение по коменту
AT
20:19
Akaki Tkemaladze
он в телеге есть кекс?
c
20:19
cryshado
In reply to this message
берется, но зато все автоматически и моментально и возьмет не больше чем надо
MS
20:19
Mikhail Sytchev
в эфире транзакция на прокси контракт - 1 комиссия, вторая комиссия на перевод с прокиси адреса на конечный
AS
20:19
Aleksandr Shepelev
In reply to this message
и для вывода надо 000000 написать ага)) топовая
с 200 конфирмейшенами
MS
20:19
Mikhail Sytchev
In reply to this message
ну по экономике это то же что и скрипт для консолидации накидать
20:20
те же попадосы на комиссии
c
20:20
cryshado
In reply to this message
скрипт менее надёжен, чем логика в контракте. Скрипт может отвалиться, ему нужно время чтобы проверить адреса и т д
20:20
хороший хайлоад скрипт написать сложнее)
AS
20:20
Aleksandr Shepelev
In reply to this message
каждый сам выберет свой путь))
c
20:21
cryshado
In reply to this message
придумали блокчейн, а вы все, что можно сделать децентрализовано делаете оф-чейн, а надо наоборот 🙂
MS
20:22
Mikhail Sytchev
ну не суть. короче есть 3 решения консолидации средств в проекте ТОН:
1. прокси контракт на адрес горячего кошелька (х2 комисси)
2. скрипт-консолидатор на адрес горячего кошелька (х2 комисси)
3. invoices от мастер адреса (читай горячего кошелька) (х1 комисии)
20:22
верно?
AS
20:22
Aleksandr Shepelev
In reply to this message
ага
MS
20:22
Mikhail Sytchev
3-й вариант уебищный по UI, первые 2 по экономике
c
20:23
cryshado
In reply to this message
ну типа того
AS
20:23
Aleksandr Shepelev
ну 3 я бы обозвал тупо "различать юзера по комменту")
20:23
инвойс как-то громковато
c
20:23
cryshado
In reply to this message
да норм все по с 3ем вариком
MS
20:25
Mikhail Sytchev
а кто-то выше советовал кажется вариант 4 — wallet v3. Самому написать и задеплоить кошелек, который и будет горячим кошельком сервиса
AS
20:25
Aleksandr Shepelev
In reply to this message
чего?
20:25
он все равно будет бахать транзакции и х2 комиссии. если про внутренние переводы
AT
20:26
Akaki Tkemaladze
ну на негоже как собирать средства?
MS
20:26
Mikhail Sytchev
In reply to this message
вот
AS
20:26
Aleksandr Shepelev
In reply to this message
это про сабваллет
AT
20:26
Akaki Tkemaladze
ааа да
AS
20:26
Aleksandr Shepelev
но чтоб собрать с саб-валлетов, нужно опять-таки делать транзакции на главный. те же яйки
AT
20:27
Akaki Tkemaladze
я гдето читал про сабволет но помоему он тоже самое что прокси контракт
c
20:27
cryshado
просто принимайте по коменту и будет вам счастье, юзер из криптобота переведет в кошелек, а потом вам, если надо - комиссии в тоне маленькие
20:27
In reply to this message
нет
AT
20:27
Akaki Tkemaladze
нет? чтото другое?
20:28
ок я перегуглю сабжект
A
20:28
Andrei
In reply to this message
Только надо боунсить, если коммента нет, а не как сейчас на биржах
c
20:30
cryshado
In reply to this message
Согласен, можно это даже на уровне контракта сделать(если вообще нет комента), а логикой бека отправлять обратно, если юзер не найден
20:31
тут в начале в коменте чтото
20:31
я пока фиф читать не умею сори
A
20:32
Andrei
// negative value means a test instance of the blockhain
AT
20:34
Akaki Tkemaladze
ок значит пока коментом надо принимать...
20:35
логично. без костылей
AP
20:46
Andrey Pfau
Прошу любить и жаловать. Я написал с нуля интерпретатор Fift на чистом котлине. Пока без tuples и работой с ячейками, но это я доделаю в близжайшие дни. В планах так же настроить компиляцию под native/wasm/js

https://github.com/andreypfau/ton-kotlin/tree/main/ton-fift/src/commonMain/kotlin/ton/fift
A
20:46
Andrei
In reply to this message
Круто!
AP
20:48
Andrey Pfau
протестил на множество примеров из вайтпейпера по фифту. Все вроде работает так же как и в оригинальном 😇
AT
20:53
Andrey Tvorozhkov
In reply to this message
Блин, крутяк)
c
20:57
cryshado
In reply to this message
Sticker
Not included, change data exporting settings to download.
🥳, 8.7 KB
F
21:00
F
In reply to this message
Как же у меня бомбит от того, что биржи так не сделали) Вроде бы ничего сложного. И ТП сразу разгрузится от ошибочных платежей.
21:01
In reply to this message
Шикарно)
A1
21:36
Abcd 1234
In reply to this message
Is there a video tutorial for it? Please introduce
21:37
In reply to this message
Есть ли видео урок по нему? Пожалуйста, представьте
c
21:37
cryshado
In reply to this message
Не думаю
AM
21:38
Alexander Mamaev
In reply to this message
I think that video tutorial is the bad way to learn
A1
21:40
Abcd 1234
In reply to this message
what is your suggestion. I just want to start
A1
21:47
Abcd 1234
In reply to this message
🙏🙏
AF
21:57
Anton F
Так, то ли у меня лыжи не едут то ли я не в порядке - интеджеры и вообще все в tvm сериализируется как big endian, да? И под big endian тут не только порядок байтов наоборот, но и порядок битов что-ли?
A
21:58
Andrei
In reply to this message
от старшего бита к младшему
21:59
байтов в TVM скорее нет, она с битами работает
AF
22:01
Anton F
In reply to this message
Ага вон оно как, а то я понять не могу почему в доках big-endian integer 0..255 если там только один байт. Спасибо
AM
22:21
Alexander Mamaev
а куда ~dump делает дамп?
A
22:33
Andrei
в лог запуска твм
22:33
например в фифте можно посмотреть через runvmcode
AM
22:33
Alexander Mamaev
а как посмотреть?
A
22:34
Andrei
в консоль будет выводить
22:35
"Asm.fif" include

2 3 <{ ADD }>s runvmcode
22:35
пример
AS
22:46
Alexey Samosadov
Всем привет, существует ли апи для автоматических выплат из кошелька?
c
22:48
cryshado
In reply to this message
можешь заюзать https://github.com/tonuniverse/highload-wallet-api (желательно со своим лайтсервером и json rpc локальными)
AS
22:49
Alexey Samosadov
In reply to this message
Лайтсервер валидатора в смысле?
c
22:49
cryshado
In reply to this message
ну да, только без функций валидатора
22:49
просто как ноду
AS
22:51
Alexey Samosadov
In reply to this message
Спасибо) поразбираюсь) а какие ресурсы примерно для сервака нужны для лайт версии?
c
22:52
cryshado
In reply to this message
примерно такое норм будет, для full node. Удобнее всего ставить через mytonctrl
AS
22:53
Alexey Samosadov
In reply to this message
Уже игрался с валидатором до этого, может полегче машина зайдет для light? ))
c
22:56
cryshado
In reply to this message
вам нужна именно full node для стабильной работы (отправки транзакций и т д), потому что публичные лайт серверы плохо работает бывает

full node == лайт сервер == валидатор
22:56
просто можно ничего не валидировать и просто юзать как ноду
AS
22:58
Alexey Samosadov
ОКей спасибо)
CP
22:59
Catchain Protocol
In reply to this message
однозначно звезда
AM
23:28
Alexander Mamaev
recv_internal принимает всегда именно slice, а не cell?
TVM сам конвертирует cell в slice?
c
23:29
cryshado
In reply to this message
у recv_internal есть строгий набор параметров, их можно не все принимать, но типы фиксированы

int my_balance, int msg_value, cell msg, slice msg_body
AM
23:30
Alexander Mamaev
чем отличаются msg и mg_body?
23:30
помимо типа
c
23:31
cryshado
In reply to this message
https://newton-blockchain.github.io/docs/tblkch.pdf тут Invoking smart contracts in TVM подробно описано все
30 January 2022
AH
01:10
Andrey Heisenberg
Привет ребят, можете помочь? Подскажите пожалуйста с чего начать разработку программ,сайтов (желательно маркетплэйсов) по технологии блокчейн? Просто ищу матерьял но все туго так как практически нигде не говорят какие базовые знания нужны. Благодарю заранее 🤟🏼
c
01:18
cryshado
In reply to this message
https://ton.org/docs/#/docs вот тут вся дока по работе с тоном, контрактами, о том что такое тон и т д
AH
02:55
Andrey Heisenberg
In reply to this message
Thanks
c
03:11
cryshado
как в tlb указать, что значение возможно А, а возможно B?
A
03:11
Andrei
Either A B
03:12
Но это 1 бит добавит
03:12
Если 0, то А, если 1, то Б
c
03:13
cryshado
In reply to this message
я просто хочу что-то типа addr_none$00 OR MsgAddressInt указать, там не нужен лишний бит
03:13
там и так понять можно какой адрес, без бита какого-то
A
03:13
Andrei
MsgAddress укажи)
03:13
Он включает и то, и то
c
03:13
cryshado
туда addr_var$11 входит)
03:13
а
03:13
ну свой прописать понял
A
03:14
Andrei
_ a:A = AB;
_ b:B = AB;
03:14
ну можно так
c
03:14
cryshado
In reply to this message
понял, спс
PK
03:21
Peter Kurnyakov
Уважаемые разработчики
Я тут новенький
Покапался в чатике и нашел для себя, тем или иным способом, определенное количество ссылок, но есть просьба/вопрос:
Мне кажется, учитывая набираемую популярность, и что первый квартал этого года направлен на развитие Developer Program, было бы достаточно дружелюбным жестом написать ответ на мое следующее сообщение и закрепить его, чтобы все новоприходящие разработчики получили ответы на эти вопросы.
Плюс не придется постоянно отвечать на эти вопросы, т.к. большинство на автомате сначала проверить закрепленные сообщения
03:22
Можно ли составить общий список полезных ссылок?
Интересны различные вопросы, от документации, потому что у кого-то оказывается даже с этим периодически возникают проблемы, до хабра-статей и полезных репозиториев. Причем мне кажется полезно было бы собрать все по уровню сложности. Т.е "сморите, вот дока, вот ссылочки что такое смарт-контракты и тп более простым языком, вот подробнее про работу вот этого, вот примеры смарт контрактов, вот официальные репозитории тона" и тп

Так же стоит вопрос, как правильно структурировать проекты своих смарт-контрактов. Понятное дело, что как каждому угодно, но мне кажется, что в сообществе наверняка уже выработан какой-то code convention, и где как ни здесь о нем узнать. Было бы приятно получить ссылку с примером репозитория, структурированного нужным образом, или даже репозитория-примера, написанного специально.

Плюс ко всему, прочитал в статье на Хабре, что конкурсные смарт контракты лежат тоже в открытом доступе, можно ли получить ссылку на сайт с этими ссылками на репозитории, или это сделать невозможно?
TK
04:43
Tony Kovalenko
Всем привет.
Хочу сделать прием платежей на локальные кошельки, по инвойсам.
Либо же просто генерить кошелек под клиента.

Уже изучил:
1. https://github.com/tonuniverse/highload-wallet-api

Как понимаю там только transfer метод есть, есть ли что-то, чем можно еще и получать баланс, а в идеале еще и хук какой-то?


2. Непосредственно сам
https://github.com/igroman787/mytonctrl
Поставил лайт.
Кошелек сгенерил, монету на него закину из тонкипера.
Но, так-же чекнул хелп, и не вижу возможности вывода из созданного кошелька...

Может кто подскажет что смотреть, или кто-то уже делал подобное, и даст совет, буду благодарен!
c
04:44
cryshado
In reply to this message
Хуков нет, и быть не может, если сам не сделаешь. Ты должен toncenter опрашивать
TK
04:58
Tony Kovalenko
In reply to this message
Благодарю
05:03
In reply to this message
Подскажите еще, пожалуйста.
А каким образом лучше идентифицировать оплаты?
Заставлять пользователя писать комментарий как-то ок.

Но так-же не совсем логично, пожалуй, генерировать под каждого клиента кошелек, если это просто оплата...............)
c
05:04
cryshado
In reply to this message
можете брать айди юзера из своей бд и просить такой комент поставить
TK
05:05
Tony Kovalenko
Благодарю.
05:06
Либо же, как вариант, по кошельку с которого отправляют.
05:09
Правильный ход мысли?
c
05:10
cryshado
In reply to this message
как удобнее)
TK
05:16
Tony Kovalenko
Все топ, спасибо. Доброй всем ночи и удачи!!!!
Попробую сделать что-то полезное для тон комьюнити, если выйдет, поделюсь)
AP
07:25
Andrew Python
In reply to this message
я так делаю
OA
10:46
Oleg Andreev
А как правильно дебажить человеку проблему с соединением в нативном товоллете? (Там же тонлиб)
10:47
10:47
Открывает через ton://transfer/
AS
10:48
Aleksandr Shepelev
а в чем вопрос-то?) хз чо там на девайсе с интернетом
OA
10:58
Oleg Andreev
In reply to this message
Интернет-то есть
F
11:18
F
In reply to this message
Никак) Скорее всего tonlib подключился к перегруженному LS. Стоить попробовать перезапустить приложение. Если не поможет, то хз
г
12:08
главный человек на базаре
Примем разработчика в команду NFT-проекта. Нужно разрабатывать сайты, тг-ботов, штуки для блокчейна TON
D
13:52
DekabX
Мне вот стало интересно, на сколько реально декомпилировать смарт-контракт с закрытым исходником, чтоб понять на сколько можно этому контракту доверять?
AM
13:55
Alexander Mamaev
In reply to this message
ну ты можешь почитать fift assembly код контракта
13:56
по идее можно как в эфире выкладывать исходники и любой желающий может собрать и проверить чек сумму
F
14:00
F
In reply to this message
И это можно сделать на tonsc.org)
D
14:00
DekabX
Я, просто, некоторым контрактам не склонен доверять в силу переполненности рынка мошенниками. Думаю не один я такой.
@f_closer спасибо большое! Буду разбираться.
AP
14:08
Andrew Python
In reply to this message
а откуда этот кусок кода?
KS
14:08
Konstantin Sazhenov
In reply to this message
Из моей библиотеки
AP
14:09
Andrew Python
In reply to this message
как считается CRC16?
KS
14:09
Konstantin Sazhenov
In reply to this message
Загугли
AP
14:19
Andrew Python
In reply to this message
Ты tonweb на питон переписал?) код прям 1в1
KS
14:20
Konstantin Sazhenov
In reply to this message
Да
F
14:36
F
In reply to this message
Хорошо бы его добавить сюда в список:
https://github.com/DKeysil/awesome-ton-smart-contracts
14:37
Deleted Account
In reply to this message
Если линк будет или Константин issue PR сделает появится :)
А то я ссылку не увидел
CP
14:49
Catchain Protocol
In reply to this message
я тоже скоро закончу, только на дарте ;)
AP
15:17
Andrey Pfau
In reply to this message
Всем привет, снова я. Я сделал бота и прикрутил к нему интерпретатор, так что любой желающий может протестировать)

@andreypfau_ton_bot
15:19
tg_image_3825347326.jpeg
Not included, change data exporting settings to download.
18.4 KB
умно, но нет)
VK
15:21
Vudi Kingyru
In reply to this message
Lool
AT
15:23
Andrey Tvorozhkov
In reply to this message
Ахаха)
AP
15:28
Andrey Pfau
судя по логам никто особо не умеет им пользоваться.

если написать
2 3 + . то он выведет 5 ok к примеру)
15:30
можно так же задавать кастомные слова:

{ dup * } : square
5 square .
15:30
@tvorogme чтобы строку выводить - type
15:30
. - для чисел
AT
15:30
Andrey Tvorozhkov
А почему cr не работает?
15:30
In reply to this message
Всмысле 0_о
AM
15:31
Alexander Mamaev
ну точка только числа выводит
15:31
так в доке написано даже
AT
15:31
Andrey Tvorozhkov
А
15:31
Блин да сорри
15:32
."Вот так должно работать"
15:32
Но не работает
AM
15:33
Alexander Mamaev
это отдельное слово, вывод константы
AT
15:33
Andrey Tvorozhkov
In reply to this message
Да, но в боте нет)
AM
15:34
Alexander Mamaev
определение слова тоже не отрабатывает
AM
15:34
Alexander Mamaev
T
TON Bot 30.01.2022 15:34:09
ton.fift.FiftException: Fift Exception: DictionaryError, code: 10, Unknown word: :
AP
15:35
Andrey Pfau
In reply to this message
а что ты отправил?
15:35
А понял, ща починю
15:37
всё, он просто не правильно несколько строк парсил
15:37
поправил
A
15:37
Andrei
сломалось
A
15:37
Andrei
A
Andrei 30.01.2022 15:37:03
{ -1 } { } while
15:37
1 2 + .
A
15:37
Andrei
T
TON Bot 30.01.2022 15:37:12
java.lang.ClassCastException: class ton.types.int257.BigIntegerImpl cannot be cast to class ton.fift.WordDef (ton.types.int257.BigIntegerImpl and ton.fift.WordDef are in unnamed module of loader 'app')
AT
15:37
Andrey Tvorozhkov
In reply to this message
вывод строк все равно не работаетс
AP
15:39
Andrey Pfau
Пофиксил, я забыл Fift.fif подрубить)
A
15:40
Andrei
Надо время работы ограничить)
AP
15:40
Andrey Pfau
да вижу, в цикл вогнали)
15:41
Поставил таймаут на 5 секунд
A
15:42
Andrei
кстати я случайно ключик бота утянул)
AP
15:42
Andrey Pfau
каким образом?
A
15:42
Andrei
io.ktor.client.plugins.ClientRequestException: Client request(POST https://api.telegram.org/botid:ключик/sendMessage) invalid: 413 Request Entity Too Large. Text: "{"ok":false,"error_code":413,"description":"Request Entity Too Large"}"

в ответ на { "hello" type } 1 20 << times
AP
15:43
Andrey Pfau
ахахах классно)
15:43
надо сделать чтобы только fift exception логировал
15:45
Поправил, проверь
A
15:45
Andrei
норм
AP
15:47
Andrey Pfau
ключик поменял, а то кто тебя знает)
A
15:47
Andrei
xD
AM
15:47
Alexander Mamaev
переменные не работают
15:47
а не, работают
AP
15:49
Andrey Pfau
сразу говорю - ячейки и tuples пока не готовы, на этой неделе доделаю
A
15:49
Andrei
сегодня воскресенье 🤔
AP
15:49
Andrey Pfau
ну я имею ввиду с понедельника)
AT
15:49
Andrey Tvorozhkov
In reply to this message
👀
AM
15:50
Alexander Mamaev
In reply to this message
есть целая страна у которых по календарю так неделя начинается
AP
15:52
Andrey Pfau
кстати как идея можно сделать чтобы при сохранении файлов бот отправлял его в чат
AM
15:53
Alexander Mamaev
можно сделать считывание fif файла еще
AP
15:54
Andrey Pfau
тоже как хороший вариант)
15:56
Achievement get: получить OOM
A
15:56
Andrei
{ hole } 1 30 << times depth .
15:56
)
AP
15:57
Andrey Pfau
надо будет еще размер стека ограничить значит
A
15:57
Andrei
ну не совсем — ты когда ячейки и туплы добавишь, можно будет стек не расширять
AP
15:57
Andrey Pfau
тоже верно
AM
17:59
Alexander Mamaev
Я тут читаю код бриджа. Но без комментариев не очень ясно логика работы.
Может кто-то верхнеуровнево Пояснить как происходит голосование, кто проводит трансфер и как он проверяется
KS
18:43
Konstantin Sazhenov
In reply to this message
Он в закрытом доступе пока что
J
19:55
Jonah
Hey, is there a pure go library for TON?
SK
20:01
Steve Korshakov
Проголосуйте плиз
P
20:05
Priani4ek
"Now"?
SK
20:05
Steve Korshakov
опечатался(
P
20:13
Priani4ek
Аргумент за только один - если хочется в тестовом делать функционал, который принципиально не будет работать в майннете. В остальном это как ни крути, оверхед на поддержку двух версий, да ещё и "тестовое" всё равно обязано будет иметь возможность настройки параметров подключения к сети, то есть его желающие смогут перенацелить на майннет и получить те же проблемы
SK
20:15
Steve Korshakov
не, никаких настроек
20:15
просто мне лично комфортнее держать один апп для разработки а другой для личных вещей
20:15
будет неудобно держать 100500 тестовых кошельков в основном приложении
20:16
плюс вероятность ошибки отправить например настоящие монеты на тестовый контракт и тд
A
20:18
Andrei
In reply to this message
Жалко, что все забили на флаг testnet only в адресах)
P
20:18
Priani4ek
In reply to this message
Ну кстати, тогда покрась тестовое в другой цвет - реально поможет.
А вообще, отдельный девайс для разработки
SK
20:18
Steve Korshakov
ну вот я хочу не забить
20:18
In reply to this message
это да, покрашу
A
20:19
Andrei
Мне кажется два приложения лучше
SK
20:19
Steve Korshakov
мне тоже кажется что
20:19
не понимаю голосовалки
20:22
ну так просто http поддерживать
c
20:34
cryshado
In reply to this message
люди которые голосуют не планируют использовать скорее всего кошелек, как основной. Я кипер и т д использую тоже просто как кошельки, куда можно скинуть немного тонов и как-то заюзать.

Результат голосовалки такой потому что ты скинул этот опрос разрабам, а не обычным юзерам
SK
20:35
Steve Korshakov
а зачем мнение обычных юзеров?
OO
20:48
Oleg Oskolsky
Обычным юзерам testnet по сути не нужен.
31 January 2022
A
00:19
Alex
Подскажите, как такое отлаживать "LITE_SERVER_UNKNOWN: cannot apply external message to current state : External message was not accepted"?
Спасибо.
AM
04:08
Alexander Mamaev
а почему этот код не вызывает ошибки?

cell это 500 бит, но я пишу явно больше
A
04:11
Andrei
а почему он должен вызывать? это же ты в словарь пишешь
04:11
с разными ключами
AM
04:12
Alexander Mamaev
но ключ - 256 бит и его значение 256 бит
04:13
dict это же cell как я понимаю и ограничен его размерами
04:13
я сделал 7 разных записей это 7*256*2 =3584 бит
A
04:16
Andrei
у ячейки могут быть рефы, что словари активно используют)
04:17
в cell влезает до 1023 бит, а не 500 (500 это стоимость хранения одной ячейки в секунду относительно одного бита)
AM
04:17
Alexander Mamaev
А, они сами это хендлят?
04:18
In reply to this message
Переполнение
04:18
Ну скажем, тут явно переполнил одну ячейку, словарь сам создал новую ячейку и поставил реф?
A
04:19
Andrei
запись в словарь и не предполагает запись в одну ячейку
04:19
словарь это patricia tree
04:19
переполнения тут и не может произойти
04:20
как вам подсветка?)
AM
04:20
Alexander Mamaev
Ну словарь же не создаёт ячейку на каждую ноду дерева?
A
04:21
Andrei
In reply to this message
создает
04:21
в словаре на n ключах 2n - 1 ячейка
AM
04:21
Alexander Mamaev
In reply to this message
Думаю тоже плагин под вим написать, а то сижу как в блокноте
04:23
In reply to this message
Так, а есть ли какая-то целесообразность пытаться уложить данные в минимальное количество ячеек?
A
04:23
Andrei
In reply to this message
ну да, это дешевле
04:24
но general-purpose словарь особо лучше не сделать
AM
04:24
Alexander Mamaev
То есть если у словаря value это 8 бит, то будет 2n-1 ячеек по 8 бит?
A
04:25
Andrei
нет, количество бит в ячейках будет разное
04:25
но в сумме это примерно длина всех ключей + длина всех value
04:26
ну с точностью до O(n)
AM
04:26
Alexander Mamaev
Так, а разве это не выглядит так, что мы идём просто в правый/левый реф в зависимости от текущего бита ключа
A
04:27
Andrei
нет, тогда бы было гораздо больше ячеек
04:27
там сжимаются ребра, в которых нет ветвлений
AM
04:27
Alexander Mamaev
Ага, видимо поэтому не 8 бит в каждый
04:29
Прочитал описание алгоритма, понял. Спасибо
D
04:55
Dario
In reply to this message
I still don't understand why this strange language allow ~ instead of only . Or ->
AP
04:55
Andrew Python
In reply to this message
Топ, а я юзаю в саблайме ту конкурсную)
c
05:20
cryshado
In reply to this message
как вам подсветка? 😎
A
05:21
Andrei
In reply to this message
Оо, смог запустить?
c
05:21
cryshado
In reply to this message
ДА
c
05:42
cryshado
качаете https://github.com/akifoq/tree-sitter-func, npm i и т д, в неовим конфиг вставьте что-то типа(скрин 2, а вообще под себя тут конфиг скопировать можно https://github.com/nvim-treesitter/nvim-treesitter) и не забываем сделать что-то типа /root/parsers/tree-sitter-func/queries/* /root/.config/nvim/queries/func

радуемся 🎉
05:42
05:42
F
07:10
F
@py7hon как зачинщику офтопа мут
UPD: офтоп почищен
08:44
Deleted Account
Если кто-то хочет поиграться с нативными либами на Apple (iOS, mac and etc.) -

Написал небольшую либу, которая может все собрать: https://github.com/bilft/ton-swift
И пока только пример пустого SPM пакета с зависимостями на эти либы https://github.com/bilft/SwiftyTON

хотя тут все контракты пишут, но вдруг
AT
08:49
Andrey Tvorozhkov
In reply to this message
Дайте пожалуйста в pycharm такое 🙃😃
08:51
In reply to this message
Но платим мы за ячейки, как я понимаю, а не за количество бит в них...
A|
08:53
Alexandr "Willforge" | Тренер уверенности
Господа, где я могу прочитать про NFT от TON?
08:53
что-то всем выпускают нфт, а площадки нет, и платформы нет. Или я что-то упустил?
AT
08:56
Andrey Tvorozhkov
In reply to this message
Тут скорее технический чат. Вопросы про смарт контракты и все такое) Лучше с такими вопросами не сюда.
СВ
08:56
Сергей В
In reply to this message
Вроде готовится какой-то анонс, а пока все сами что-то свое выпускают, не понятно будет ли оно совместимо с каким-то общим API ;)
A|
09:00
Alexandr "Willforge" | Тренер уверенности
Благодарю
СВ
09:01
Сергей В
А можно как-то получить все активные адреса контрактов через tonlib_json? они же на фулноде все должны быть?
09:02
Или только по блокам бежать и адреса из транзакций узнавать?
A
14:25
Andrei
In reply to this message
И за ячейки, и за биты. Два слагаемых (если речь про storage fee)
AP
14:29
Andrey Pfau
In reply to this message
Если мне кто нибудь задонатит - сделаю)
Я просто щас занят интерпретатором фифта, но если людям нужнее интеграция с джетбреиновскими IDE с удовольствием реализую)
AC
14:42
Alexander Che
@f_closer а ты админ?
CP
14:43
Catchain Protocol
In reply to this message
о, спасибо!
SG
14:45
Sergey Gustun
Гайз, а можно где-то посмотреть примеры смарт контрактов для ТОН ? Я так понял что там есть несколько языков ещё для написания?
CP
14:45
Catchain Protocol
In reply to this message
тех. чат, как сказали выше
нфт общего стандарта как в эфире ещё не существует, в этом месяце (феврале) уже должен какой-никакой общий единый стандарт появиться, а пока все нфт-проекты - либо с пресейлами простых жпегов, либо скам
SG
14:46
Sergey Gustun
In reply to this message
Спасибо
CP
14:47
Catchain Protocol
In reply to this message
https://ton.org/docs/#/
Тут ищи fift & func
второй язык компилится в фифт-асм, но тебе нужно знать оба для написания контрактов
SK
14:48
Steve Korshakov
не нужен фифт
AT
14:49
Andrey Tvorozhkov
In reply to this message
нужен 👀
P
14:51
Purple
In reply to this message
а как к смарту обращаться?)
14:51
как минимум
AT
14:51
Andrey Tvorozhkov
In reply to this message
Я бы спросил как func работает и зачем там asm если фифт не нужен)))