19 January 2022
준김
13:01
준석 김
In reply to this message
Its % not visible?
F
13:19
F
In reply to this message
No. at the initial stage, you can look at the size of the database
준김
13:20
준석 김
In reply to this message
Oh my god my db size 0 and sync 160000000!
13:20
In reply to this message
It is something wrong is it?
F
13:40
F
In reply to this message
It all depends on when you started syncing
준김
14:05
준석 김
In reply to this message
I referenced ton.org > become validator. It is no auto start ? No start comment.
VD
14:16
Victor Dm.
Народ кто знает в чем проблема? Cоздал кошелек wallet.ton.org, взял от туда 24 слова, ввожу их мой код чтобы получить кошелек, далее беру publicKey и подключаю к кошелеку через tonweb, потом смотрю адрес и мой адрес не совпадает с адресом wallet.ton.org. Уточняю я проверил bounceable
A
14:29
Alex
In reply to this message
test-only?
14:31
У меня было схожее. В Tonkeeper'е был один адрес, а в wallet.ton.org - другой. Оказалось что-то где-то был test-only, а где-то нет. Сперва был в ступоре, т.к. проверил bounceable.
A
14:32
Andrei
Ну там если "середина" адресов совпадает, то разница во флагах
Если они совсем разные, то разница может быть в версии смартконтракта
14:33
Иными словами, при разных флагах raw адрес тот же самый
VD
14:57
Victor Dm.
In reply to this message
А где это флаги смотреть test-only?
Н
15:28
Назар Хомин (1ch1zoku)
Здравствуйте, можете скинуть ссылку на поддержку пользователей ton. Кудато затерялись монетки при переводе на биржу...
P
15:29
Purple
In reply to this message
скорее всего проблема на стороне биржи, возможно вы комментарий не указали. Проверьте свой кошелек на ton.sh на наличие транзакции. Напишите в ТП биржи
Н
15:34
Назар Хомин (1ch1zoku)
In reply to this message
На ton.sh транзакция есть ) коментарий указывал. Спасибо за ответ попробую связаться с поддержкой биржи
P
15:35
Purple
In reply to this message
если это окекс, то там сто лет транзакции с тонкоина летят
Н
15:36
Назар Хомин (1ch1zoku)
In reply to this message
Ftx, отправил 16 числа пока ничего (
P
15:36
Purple
In reply to this message
а, тогда пишите им
Н
15:51
Назар Хомин (1ch1zoku)
In reply to this message
А как найти TXID транзакции?
F
15:59
F
In reply to this message
transaction id is:
- address
- lt (logical time)
- hash

can be found on ton.cx
S
15:59
S
Ребята, привет.
Подскажите пожалуйста сайти в сети ton:// уже работают?

Если да, то как туда попасть, и как сделать там свой сайт?

заранее спасибо
M
16:03
Mark
Вроде бы нет ещё
A
16:03
Andrei
In reply to this message
why just hash is not enough?
16:04
In reply to this message
а, наверное из-за шардирования (чтобы понятно было, где искать)
Н
16:06
Назар Хомин (1ch1zoku)
In reply to this message
Спасибо
F
16:15
F
In reply to this message
+
S
16:17
S
In reply to this message
https://tginfo.me/ton-sites/
тут вроде есть инструкция
M
16:37
Mark
Это вроде бы про старую сеть. На данный момент прокси не работает https://ton.org на сайте есть все статусы
16:40
по крайней мере у меня не удалось подключиться)
c
16:44
cryshado
In reply to this message
работает все, просто не допилино
M
16:45
Mark
то есть можно до сайтов достучаться?
16:48
А, похоже я что-то не так делал))) и решил что не работает
c
16:54
cryshado
In reply to this message
+
VD
16:57
Victor Dm.
In reply to this message
что делать, если совсем разные адреса? можно как то настроить?
S
17:40
S
In reply to this message
я бы очень хотел потестить. но нигде нету инфы к сожелению
17:41
In reply to this message
а можно в ютуб видео запилить, как ето делать? или хотябы екскурс по сети? искал, вообще ничего нету. Я б за такое даже заплатил бы, как руководство, как подключится к сети
c
17:43
cryshado
In reply to this message
Будет время, постараюсь запилить статейку. Там не сложно, по факту надо собрать прокси и запустить с параметрами, как в доке тона. Но скорее всего прокси нужно будет собирать на сервере
17:43
Тут есть вся инфа https://ton.org/docs/#/howto/ton-sites
17:43
У нас уже давно сайт поднят, все работает
A
17:44
Andrei
In reply to this message
а к нему доступ только если прокси собирать самому?
S
17:44
S
а сайт локально на серверах у вас запущен?
c
17:44
cryshado
In reply to this message
Ну через прокси, да. А как еще
S
17:44
S
или где хранятся сами хтмл и так далее ?
A
17:44
Andrei
In reply to this message
Мне просто казалось есть плагин для браузера
17:44
Но видимо нет
c
17:45
cryshado
In reply to this message
Есть, но там только кнопка(кода на гите нет) и надпись, что скоро будет
17:45
Там надо весь этот аднл на жс переписать и т д
17:45
In reply to this message
На сервере у тебя, централизованно. Когда будет тон сторедж можно будет там
17:46
In reply to this message
Да
S
17:46
S
просто насколько я знаю есть Origin Protocol, он дает возможность создавать сайты, вернее интернет магазины, но там все очень каркасно, вообще нету гибкости и так далее.
17:46
соответственно вопрос, будут ли децентрализованные сайты, оракулы, доменные имена, и так далее
17:46
In reply to this message
ага, понял
17:46
спасибо
c
17:47
cryshado
In reply to this message
Все будет, точнее это возможно, просто это нужно делать и это в первую очередь задача сторонних свободных разработчиков
S
17:54
S
In reply to this message
Ну вообще задумка очень крутая. Меня смущает только тот факт что сильные мира сего, имеют задачу на прозрачность, открытость и так далее. Никакой анонимность, все всё видят. Соответственно не закроют ли они проект любыми способами?
M
18:08
Mark
In reply to this message
Я оказывается на старый адрес стучался
18:08
Все работает
A
18:30
Alex
Вопрос к знатокам.
Есть ли возможность из контракта вызвать get метод другого контракта или есть только событийно-ориентированный подход?
SS
18:31
Sergei Saranin
In reply to this message
Вроде только недавно обсуждали, попробуйте почитать сообщения, начиная отсюда https://t.me/tondev/47195
A
18:36
Alex
То есть get-метод вызвать нельзя и единственный способ - это делать RPC и слушать обратный вызов. Верно?
A
18:36
Andrei
Да
A
18:36
Alex
Понял. Спасибо.
AM
20:33
Alexander Mamaev
Такой вопрос, а Freeton (проект tonlabs) работает в той же сети, что и ton.org просто с другой имплементацией клиентов и нод или вообще не связанные сети?
SS
20:36
Sergei Saranin
In reply to this message
У сетей общий предок, но сейчас обе сети взаимно несовместимы.
A
20:39
Andrei
У них кстати DHT общий вроде как (что в общем-то не плохо)
20:40
Ну и вообще adnl-слой
AM
20:40
Alexander Mamaev
А это разве мешать не будет?
20:40
Dht
A
20:40
Andrei
Да нет, ну там же просто ключ-значение
20:40
Какая разница какая сеть
RD
20:41
Roman Deev
Ребят, какие бывают типы адресов? EQ; kQ ...?
c
20:42
cryshado
In reply to this message
EQ Kq это просто так совпало в формате b64, а вообще есть raw адрес, далее берут флаги тестнет/маиннет; bounce и из этого получают b64 адрес. По факту "тип адреса" один, типов нет
RD
20:44
Roman Deev
In reply to this message
Спасибо за ответ. Юзерские только с EQ начинаются?
c
20:57
cryshado
In reply to this message
неа, с EQ это маиннет, юзерские и в теснете могут быть. Но лучше не на это смотреть, а разбирать/собирать адрес
RD
21:02
Roman Deev
In reply to this message
Благодарю за ответ
АЛ
23:09
Александр Левицкий
Ребят, тут такой вопрос назрел, а есть ли техническая возможность поднять Smtp или imap на основе тон?
AT
23:10
Andrey Tvorozhkov
In reply to this message
Ничего не мешает, но попрограммировать придётся знатно
АЛ
23:10
Александр Левицкий
Хочется иметь почту, которую сам контполируешь, собственно, как и почтовый адрес
P
23:11
Priani4ek
технически скорее всего реализуемо, но нафига старый мессаджинг реализовывать в рамках сети, где есть свой свобственный мессаджинг?
АЛ
23:11
Александр Левицкий
In reply to this message
Я думаю игра стоит свеч
P
23:12
Priani4ek
то есть, протокольная обёртка в виде smtp здесь, имхо, лишняя.
АЛ
23:12
Александр Левицкий
In reply to this message
Для обратной совместимости с консеовативными людьми
P
23:13
Priani4ek
а так ради бога - пихай энвелоп в msg и смарт-контракт с функционалом почтового сервера.
Дорого, скорее всего, но работать будет
АЛ
23:14
Александр Левицкий
In reply to this message
Попробую поковырять на днях, если будут результаты, дам знать
AT
23:14
Andrey Tvorozhkov
In reply to this message
Мне кажется смарт контракты тут вообще не причем. Нужно просто написать обертку по типу rldp proxy над сетью тона
АЛ
23:15
Александр Левицкий
In reply to this message
В идеале нужен dns и storage
P
23:15
Priani4ek
всё это напоминает RFC 1149
23:16
In reply to this message
использовать чисто как транспорт? Можно и так.
Но зачем...
AT
23:18
Andrey Tvorozhkov
In reply to this message
Ровно для того, чтобы избавиться от текущих проблем в интернете)

Зачем есть почта с onion адресами)
23:20
In reply to this message
Почта это единственный протокол который используется всеми. Когда ты пишешь по важным делам, договариваешься о партнерстве с международными компаниями - ты всегда используешь почту.

Так что почта на тон не такая плохая идея, я согласен 👍
P
23:21
Priani4ek
но тогда лучше дождаться ton dns+proxy
АЛ
23:23
Александр Левицкий
In reply to this message
Значит, буду по тихоньку ковырять почту, может и выйдет, что-либо дельное
ИВ
23:33
Иван Вундермахер
In reply to this message
Полагаю все зависит от того, в какой позиции ваше предприятие работает) если вы на вершине цепочки, то можно диктовать и других подстраивать под вас

А у нас есть контрагенты которые исключительно по емейл до сих пор общаются
23:34
In reply to this message
Они даже уведомления о том что водитель в пути шлют на почту!!!! 🥲🥲🥲

Там где другие уже шлют пуши или смс хотя бы
АЛ
23:37
Александр Левицкий
Я вот тоже думаю, что каждый год появляется очередной убийца c++ типа rust,
Миллион протоколов обмена данными, тот же jabber.
А кресты как жили много лет, так и живут, с почтой то же самое.

Не претендую на истину, просто мнение
ИВ
23:39
Иван Вундермахер
In reply to this message
Я думаю через какое то время старое поколение уже на покой уйдёт и надо Смотреть в будущее уже все же, вероятно

ЭДО тот же уже даже мастадонты подключают, хотя год назад ещё нос воротили
DS
23:47
Denis Serg
Хорошо жить в выдуманном мире, где нужна только одна технология)
АЛ
23:48
Александр Левицкий
In reply to this message
Jabber я привёл в качестве примера а не основы.
Смысл был в том, что почтовый протокол и сейчас легко заменить.
Хоть пушами, хоть смс, хоть тем же xmpp, в определенных кейсах.

Но почтой до сих пор многие пользуются.
Если ваш аргумент в том, что smtp и imap старые, то это не аргумент.

В любом случае, спасибо за ваше мнение
20 January 2022
A
00:46
Andrei
lite-client --cmd "sendfile query.boc"
00:47
c
01:52
cryshado
In reply to this message
да
01:53
In reply to this message
5к ton? 😅
AP
01:54
Andrew Python
In reply to this message
За 5к можно в чате консилиум собрать)
c
01:55
cryshado
In reply to this message
Я написал апи для хайлоад валета https://github.com/tonuniverse/highload-wallet-api

Можешь локально на сервере поднять и отправлять транзакции по апи. Все инструкции в ридми
01:56
Там просто запрос отправляешь кому и сколько тонов
01:58
In reply to this message
В ридми описано как создать кошелек, можешь его создать и туда закинуть тоны. Суть в том, что у тебя в кипере кошелек обычный на seqno, а там хайлоад валет. Твой кошелек из кипера не может много транзакций подряд отправлять
VD
09:27
Victor Dm.
Народ привет, у меня до сих мои адрес не совпадают
address EQAXBrX7Jc48VyZk3cV_j_GJbnmgI1ZzEtJXiHFzIBGMqqYI
address EQAl2EX0NhOOhJSk-RsRAVmTr4oi6spSU8jZ-JUixkkDTcfI
, проверил уже isTestOnly, все равно ошибка, думал ошибка фразе но нет
F
09:28
F
In reply to this message
Значит дело в коде смартконтракта, или в приватном ключе. Одно из двух
AS
09:28
Aleksandr Shepelev
In reply to this message
опиши по шагам, что ты там делаешь что у тебя всё в итоге не совпадает?)
ничерта непонятно, что у тебя не совпадает и откуда ты это берешь
VD
09:30
Victor Dm.
У меня не совпадает адреса, один мой адрес я взял из кошелька walleg.ton.org, другой адрес я взял получить из публичного ключа, а публичный клю получить из моей фразы которую получит walleg.ton.org
09:34
In reply to this message
Как решать такие проблемы, если в коде смарт контракт?
ВЛ
09:37
Виктор Лебедев
In reply to this message
Возможно вы получаете ключ v4, а на декстопной такой нет пока, поэтому когда вы заходите туда то у вас показывает старый кошелек на v3
F
10:04
Francois
Подскажите, как прочитать адрес кошелька из addr файла?
10:06
я создал кошелек, получил

...
new wallet address = -1:af17db43f40b6aa24e7203a9f8c8652310c88c125062d1129fe883eaa1bd6763
(Saving address to file my_wallet_id.addr)
...
10:07
вот теперь нужно вспомнить new wallet address
F
10:38
F
In reply to this message
fift -s show-addr.fif my_wallet_id.addr
준김
10:43
준석 김
Hi, I want to be a ton validator.
10:43
and i start mytonctrl
10:44
according to the guide, sync value between 10 to 20
10:44
my sync stranged
10:45
Do I have to steak the ton coin first?
10:45
according to the guide
10:48
10:49
it is first then coin deposit
10:49
but my sync strange and I don't know what's going on
10:49
I can't continue.
10:49
plz help me!
10:51
index also strange!
F
10:51
F
In reply to this message
1. Please write your messages together - in one message. There is no need to separate them by several words.
2. Coins are not needed for synchronization
3. Show the full status bar (you can hide the wallet address)
4. Show the output of the command:
4.1. cat /var/ton-work/db/config.json | grep port
4.2. netstat -ntlup
5. Check the availability of ports from the outside. Or write your ip-address, we will check it ourselves
6. See if there is bi-directional communication between your node and others:
tcpdump udp port ....
준김
10:53
준석 김
In reply to this message
thank you i try and follow your advice
F
10:54
Francois
In reply to this message
спасибо!
VD
11:11
Victor Dm.
Народ, я вот тут посмотрел https://toncenter.com/api/v2/, здесь описывается формат входных данных, а получаемых данных при успешном или нет, ничего. Я привык, что при отправке транзы в бск получаю данные, а тут я получаю такие данные
{ '@type': 'ok', '@extra': '1642661521.8569505:0.03076366709939482' }
. Может вообще кто описывать что это и можно из этого получить данные о транзакций, и если транзакций с ошибкой будет то как вообще понять?
11:43
Я правильно понял, что этот стандарт для токенов будет представлен и его уже можно тестировать?
SK
11:45
Steve Korshakov
нет нельзя
U
11:51
USDTON DAO
In reply to this message
Есть понимание когда и что можно?
P
13:11
Pilots
Ребят, а как с тоны с сети эфир на бск перевести?
P
14:42
Project Manager
А как recv_external (которая impure) можно просто завершить без throw через return (); ?
Почему-то не компилится с return ();
A
14:42
Andrei
In reply to this message
А что выдает?
P
14:48
Project Manager
In reply to this message
У меня if {} else {}
В if нет ретурна
В else есть ретурн

Он говорит что ретурн должен быть и в if тоже, если он есть в else (если я правильно понял)

'if' and 'else' branches should both return or both not return


Почему так..
A
14:50
Andrei
In reply to this message
Ну это во всех функциях так, не только в recv_external
14:51
Ограничение языка
P
14:51
Project Manager
Т.е. просто в if в конец добавить return (); и не заморачиваться?
A
14:51
Andrei
Ну если это логику не испортит
14:52
Можно throw(0) ещё
P
14:52
Project Manager
In reply to this message
Понял, спасибо 👍
VD
14:55
Victor Dm.
Alexander , как ты решил проблему с деплоем, когда является не активный?
AC
14:56
Alexander Che
In reply to this message
А я ее не решал. 😁
VD
15:10
Victor Dm.
In reply to this message
А как ты тогда исправил проблему или нашел другой путь?
AC
15:10
Alexander Che
In reply to this message
Я пока отложил все это. Планы поменялись.
c
15:10
cryshado
In reply to this message
что у вас за проблема то
VD
15:11
Victor Dm.
Народ у библиотеки TonWeb пытаюсь за деплоить мой кошелек с моим приватным ключом и не получается
c
15:11
cryshado
In reply to this message
скинь скрин как ты это делаешь
VD
15:12
Victor Dm.
15:12
Я сначало просто отправлял, но потом решил добавить метод получения fee
15:13
И он тогда уже говорил адрес не активный.
c
15:13
cryshado
In reply to this message
Адрес кошелька должен генерироваться на основе StateInit это первое, что я заметил
15:14
В StateInit должен быть сторедж контракта, а внём публичный ключ и другие данные
VD
15:14
Victor Dm.
За место адреса кошелька, было publicKey, я решил убрать его, достал из коносоли адрес и подставил
c
15:15
cryshado
ты понимаешь, что чтобы задеплоить кошелек на адресе должны быть тоны?
15:16
@victor0dmitrishen если баланс 0, закинь на адрес там 0.5 тона и попробуй
VD
15:17
Victor Dm.
А он не упадет в никуда, если адрес даже не задеплоин?
c
15:18
cryshado
In reply to this message
Это норма, ты можешь отправить TON на адрес у которого статус uninitialized
AS
15:20
Aleksandr Shepelev
In reply to this message
не упадет
VD
15:20
Victor Dm.
Щяс попробую
AS
15:21
Aleksandr Shepelev
только надо флаг bounce=0 поставить, а то отскочит
c
15:21
cryshado
In reply to this message
да не, кошельки мобильные форсят его
AS
15:21
Aleksandr Shepelev
In reply to this message
кого форсят?
c
15:21
cryshado
In reply to this message
флаг bounce вне зависимости от того какой в адресе
AS
15:21
Aleksandr Shepelev
ну я думал, он кодом отправляет
c
15:22
cryshado
ну если так то да
AS
15:22
Aleksandr Shepelev
я просто чертыхался первое время от этого)
15:22
кидаешь, тебе бабки обратно летят) потом только доку покурил уже
VD
15:23
Victor Dm.
In reply to this message
скинь доку пожалуйста
AS
15:23
Aleksandr Shepelev
In reply to this message
я вайт пейпер читал, там написано :)
VD
15:23
Victor Dm.
ок, спасибо
c
15:24
cryshado
In reply to this message
https://newton-blockchain.github.io/docs/tblkch.pdf

4.2.5. Phases of an ordinary transaction.
• Bounce phase —
D
15:47
DekabX
Для чего нужно создавать отдельные воркчейны для биткоина и эфира?
15:48
Не могу найти про это информацию, надеюсь тут подскажут)
T
15:50
Token TON NFT Coin
In reply to this message
Ещё долго ждать, очень
D
15:52
DekabX
In reply to this message
Понимаю, но всё-же интересно, что они задумали
U
17:19
USDTON DAO
In reply to this message
Потому что там большое комьюнити, ресурсы
17:20
Большая часть на солидити пишет
17:21
Мы вот DAO тоже сделали на xdai
17:21
TON Foundation надо сделать аудит независимый
17:22
Если они не начнут привлекать разработчиков в комьюнити, то все схлопнется очень быстро, на рынке много примеров
17:22
Нативному токену нужна ликвидность и дапки
A
17:26
Andrei
https://github.com/akifoq/TonToken

Сделал на досуге свою версию TRC, мне кажется, получилось довольно красиво, удобно и несложно.

Буду рад замечаниям и предложениям :)
17:28
Оно в принципе рабочее уже, проверил в тестнете (не особо тщательно правда)
17:29
Deleted Account
In reply to this message
Спасибо, Андрей)
AT
17:58
Andrey Tvorozhkov
In reply to this message
Вау. Круто!
AS
17:59
Aleksandr Shepelev
In reply to this message
👍
18:00
нужно наверное отказываться от термина TRC пока не поздно) занято уже все-таки)

TONRC-XX?
18:08
а сюда можно рекламы конкурсы да?)
c
18:08
cryshado
Общий вопрос, но все же. Читал https://ton.org/docs/#/howto/smart-contract-guidelines (Internal messages) и смотрел примеры контрактов.

Смысл делать ответ на Internal, если контракт, чтобы сообщить об ощибке выкидыват error TVM code, который записывается в блокчейн в рамках bounced транзакции?
T
18:09
Token TON NFT Coin
In reply to this message
Это технический чат, поискать технический ошибки за вознаграждение =)
A
18:10
Andrei
In reply to this message
TonToken)
18:10
Хотя да, это могут с TonCoin путать
18:11
In reply to this message
Чтобы отправитель мог понять, что произошла ошибка
18:12
А, типо почему нельзя просто bounced ловить?
c
18:12
cryshado
In reply to this message
+, почему?
18:13
Выкидывать коды ошибок удобнее, и это уже такой стандарт bounced сообщений. А в доке предлагают, что-то своё делать
A
18:15
Andrei
In reply to this message
Ну иногда лучше указывать в сообщении, какая именно ошибка произошла, как электор делает
bounced не несёт такой информации в себе
c
18:16
cryshado
In reply to this message
ну так код можно же разный на разные ошибки выкидывать
18:16
он будет в bounced
A
18:16
Andrei
In reply to this message
Прямо в ответном сообщении разве?
c
18:17
cryshado
In reply to this message
Ну да, я так смотрю в тестнете какая ошибка. У меня везде разные коды ошибок выкидываются, я смотрю в ответном bounced там есть error_code
A
18:17
Andrei
In reply to this message
По-моему error_code только в транзакции указывается 🤔
c
18:18
cryshado
может я что-то не понимаю просто, сейчас сгенерю такую ситуацию, скину сюда
A
18:30
Andrei
In reply to this message
Это из FunC не узнать
18:30
Только в эксплоере
c
18:31
cryshado
In reply to this message
Ааа, понял, но и не всем контрактам это нужно. Например юзеры когда с контракта кошелька работают с каким-то пользовательским контрактом, кошелек же игнорирует все равно
SK
18:32
Steve Korshakov
вообще не понятно зачем этот код иметь
18:32
ведь все равно придется оба варианта обрабатывать - когда bounced и когда вернулась вообщением ошибка
18:33
чисто со стороны (из стороннего контракта) наверное оч сложно понять как реагировать на ошибки вообще
18:33
кажется что резонно просто смотреть дошло/не дошло
18:33
зато в разы проще код
18:33
везде
A
18:34
Andrei
если ты знаешь, на какой контракт посылаешь сообщение, то ты можешь заранее быть уверен, что bounced не будет, например
18:34
и уже парсить чисто ошибки
SK
18:34
Steve Korshakov
пока он код не обновит
?H
18:34
💎Saito Hatsune
In reply to this message
Мне в глаза режет надпись Кошелек, а не Кошелёк, считаю ошибкой.
Ведь привычнее именно через ё всем.
SK
18:34
Steve Korshakov
или пока с газом что-то не так будет
A
18:35
Andrei
ну, в случае обновления кода ты вообще ничего не можешь гарантировать вообще говоря
18:35
с газом да, надо осторожным быть
s
18:47
sepezho
In reply to this message
нашел баг или фичу (фиг поймешь, но с точки зрения UI не оч)
18:47
дай лс
P
18:58
Project Manager
Чет туплю, а как в func объявить переменную и её тип без значения?
по типу:
int var_1
slice var_2

В доке не нашел, мб нельзя так делать..
D
19:03
DekabX
In reply to this message
Так инициализируй нулем или чем-то пустым)
P
19:04
Project Manager
In reply to this message
Ну я так и делаю пока-что) var empty_slice = begin_cell().end_cell().begin_parse();
Но это быдлокод какой-то -_-
A
19:04
Andrei
In reply to this message
можно null() записать
19:05
у него какой угодно тип
AP
19:05
Andrey Pfau
Так есть же функция которая делает пустой слайс разве нет?
A
19:05
Andrei
в stdlib нет, но можно объявить
slice empty_slice() asm
"<b b> <s PUSHSLICE";
P
19:06
Project Manager
In reply to this message
о шик, спасибо 👍
D
19:15
DekabX
Кто в курсе, на сколько этот компилятор рабочий и можно ли его результат скормить текущей версии блокчейна?
D
19:15
DekabX
E
Everscale Dev EN 22.10.2019 20:56:12
It’s Open Source time!

Already familiar to the community through a series of beta-releases, TON Labs LLVM compiler is now officially available in Open Source.
Today our senior compiler developers demonstrating the product and underlying technologies at the 2019 LLVM Developers Meeting.

Based on LLVM stack, the solution is designed to take source code in multiple general-purpose programming languages and to generate bytecode for TON Virtual Machine. Now the compiler supports C and some features of C++; Swift and Rust are to follow. The C implementation also has room for optimizations in order to reduce contract gas costs and to achieve better coding experience.

With the code in open source now, we highly welcome contributions from the community and want to thank all who already participate.

🗄
https://github.com/tonlabs/TON-Compiler

As always we will be glad to hear your opinions and feedback at @tondev_en (international) and @tondev_ru (russian) community chats!
c
19:18
cryshado
In reply to this message
можно, но не нужно
AP
19:19
Andrey Pfau
In reply to this message
Почему нет?
c
19:20
cryshado
In reply to this message
это эверы для себя придумали, там они солидити, С и т д - что только не компилят под TON, но все это генерит большой байт-код и не оптимизировано. Лучше использовать FunC
U
19:22
USDTON DAO
Может кто сказать планируют ли Foundation аудит делать?
19:22
У Root9b например
SK
19:23
Steve Korshakov
а можно в чате реакции включить?
c
19:23
cryshado
In reply to this message
плюсую
19:24
In reply to this message
аудит чего
19:25
Если ты про то, чтобы кто-то сделал аудит TON, то мне кажется ещё рано. Аудитор испугается и убежит 😃
19:26
In reply to this message
и запретить сообщения от имени каналов
T
19:28
Telegram S
In reply to this message
да
U
19:28
USDTON DAO
In reply to this message
Для начала протокола консенсуса и кода нод
19:29
In reply to this message
Ну можно хотя бы разбить на этапы, это хорошая практика проверять на безопасность, чтобы сюда пришли серьезные игроки
19:30
Deleted Account
In reply to this message
Ну я могу и со своего акка писать, а что не так)
c
19:30
cryshado
In reply to this message
большинство аудитов это показуха для инвесторов, а не реальные аудиты
19:30
Deleted Account
In reply to this message
Ты считаешь аудит не нужен или что?
c
19:32
cryshado
In reply to this message
аудит должен не по заказу делаться, а независимой некоммерческой организацией по собственному желанию и больше затрагивать технические моменты(но пока вряд ли какой либо аудитор сможет понять, как лучше работать TON, чем сам TON)
D
19:32
DekabX
Думаю, что это было бы неплохо. Не для показухи, конечно.
А еще это очень дорого.. Но надеюсь, с этим не должно возникнуть проблем
19:33
Deleted Account
In reply to this message
Серьезные аудиты без денег никто не делает, бизнес зарабатывает на этом и торгует своей репутацией по сути
19:35
Если будет серьезный взлом, то пострадает вся сеть, но скорее всего взломают какой-нибудь контракт, но риск на уровне протокола тоже наверное существует
c
19:36
cryshado
In reply to this message
понять уязвимости сети TON сможет случайно какой-то школьник, а не аудитор. Это называется уязвимость нулевого дня
19:37
In reply to this message
ну говорю показуха для инвесторов 🙂
19:37
стайл разработки TON кардинально отличается от всех других крипто-проектов, как я заметил, этим меня сюда и затенуло. Но это больше тема не для технического чата уже
19:38
Deleted Account
In reply to this message
Он отметил, что 20 аудиторов не указали на критическую уязвимость
c
19:38
cryshado
In reply to this message
это не гарантирует что в кардане нет дырок, вообще даже на 1% не гарантирует
19:39
Взломать можно все, вопрос сколько на это нужно ресурсов. Если ресурсов нужно больше, чем профит от взлома - этого делать никто не будет. НЕТ системы(прям вообще вообще нет), которую невозможно взломать. Запомните это уже.

Если аудитор говорит, что что-то "проаудировал" и всё безопасно - он скамер. Если например лид SOC вашей компании говорит, что они с командой все сделали, что вас не взломают - он тоже скамер
A
19:43
Andrei
В Cardano на самом деле относительно других проектов очень большой фокус на безопасность
Начиная от того, что они сначала на бумаге (в виде научных статей) доказывают корректность архитектуры и заканчивая тем, что специально пишут на Haskell ради типо-безопасности
Также вот аудируют и вроде бы используют какие-то методы формальной верификации
19:44
В принципе у тона тоже есть "бумажное" доказательство корректности catchain)
19:44
Deleted Account
In reply to this message
вам так и не ответили?
SK
19:44
Steve Korshakov
сорян но мы спрашивали у эфирщиков - они сказали что самая фишка эфира в безопасности
c
19:44
cryshado
In reply to this message
ну может кто-то из TF делает, есть сырой контракт пока только
19:45
Deleted Account
In reply to this message
понял, спасибо
A
19:46
Andrei
In reply to this message
Эфир старый, проверенный + PoW выглядит безопаснее PoS
Но проверенность скорее со временем приходит и как следствие консервативности изменений, а не из-за каких-то специальных действий
SK
19:48
Steve Korshakov
очень странные высказывания, учитывая что эфир на два года моложе телеграма

они постоянно совершенствовали язык и решали проблемы безопасности за эти годы
AM
19:50
Alex Molina
Всем привет! Можете отсыпать тестнетовых токенов сюда? kQBuJ4ehPgEC5wFbL4e8G8Ow3qOEYUJJf2Fl9-xqn9i_aevb Штук 5-10 надеюсь будет достаточно
AS
19:52
Aleksandr Shepelev
In reply to this message
AM
19:52
Alex Molina
Спасибо
c
19:52
cryshado
Кошельки в msg_body в сообщение с коментоv еще ставят что-то после op? Я просто пытаюсь заигнорить сообщения с коментом.

Но не выходит
19:52
19:52
A
19:53
Andrei
тебе надо slice_data_empty наверное
19:54
а, не
c
19:54
cryshado
ну типа заигнорить простые сообщения вышло так
19:55
In reply to this message
если сюда отправлю 0 32 u, comment $, <b b> ref, <b 3 32 u, b> ref, например, то оно зайдет в if и загрузит real body
19:55
Но оно заходит и просто при отправке с коментом с кошелька
A
19:56
Andrei
ну да, там же условие так и написано
A
19:56
Artе́m
In reply to this message
Зачем вы у криптанов почты спрашиваете?
A
19:56
Andrei
In reply to this message
да, после op сразу коммент идёт
19:56
и если не влезает, идёт в первый реф
c
19:56
cryshado
аааа
A
19:57
Artе́m
In reply to this message
Ну там адрес почты, когда оплата Toncoin идёт, зачем?
c
20:07
cryshado
In reply to this message
прекол, а если я не могу делать else с ретурном, потому что это сломает логику?
20:07
и throw(0) тоже
A
20:07
Andrei
Надо переделать структуру кода
20:07
В какую-нибудь булеву переменную записать флаг, например
c
20:08
cryshado
понял, а в этом ограничении есть смысл или это просто потому что потому?
A
20:08
Andrei
Николай не допилил FunC
20:09
В принципе это можно делать в TVM, просто хитро
AD
20:09
A D
Приветствую, а есть roadmap по пониманию ton ?
A
20:09
Andrei
И break в циклах можно делать, но его в FunC нет
c
20:09
cryshado
In reply to this message
Понял. Просто некрасивые костыли сейчас придется делать, обидно
20:09
In reply to this message
а лол
20:10
ну я вот костыли с bool переменной делал, чтобы сделать break
A
20:10
Andrei
Ага, так обычно и делают
SK
20:42
Steve Korshakov
надо написать контракт
20:42
куда шлешь один тон а получаешь два
20:42
Sticker
Not included, change data exporting settings to download.
🌚, 21.1 KB
c
20:42
cryshado
In reply to this message
ахахха
s
20:42
sepezho
In reply to this message
во во
c
20:43
cryshado
я делал такой, только там на рандом, и можно было получить не 2, а ноль )0
M
20:43
Max
In reply to this message
и назвать стейкингом
AP
20:43
Andrey Pfau
In reply to this message
поздравляю, вы изобрели пирамиду
s
20:43
sepezho
In reply to this message
там 50 / 50 шанс или чаще 0 выпадает?)))
20:44
тип 51% на 0, а камсу себе
c
20:44
cryshado
In reply to this message
шанс проиграть больше 🌚
s
20:44
sepezho
In reply to this message
идеально
A
20:44
Andrei
In reply to this message
ага, надо 2 тона через месяц возвращать
20:45
пока число мамонтов растет экспоненциально, всё работает
c
20:45
cryshado
In reply to this message
этот человек оживет и аху***, если кто-то сделает пирамиду на контрактах
s
20:46
sepezho
а еще нету такой?
20:46
на других блокчейнах хз
M
20:46
Max
делали конечно
AP
20:46
Andrey Pfau
на крутящем моменте трупа мавроди можно будет построить электростанцию для майнинга - профит
c
20:46
cryshado
In reply to this message
да у всех фейк, пирамиды делали на других блокчейнах централизованно

ну типа если пирамида, то она для 🦣, а они что такое смарт-контракт даже близко не понимают - смысл что-то думать
s
20:48
sepezho
тоже вариант, в целом можно просто в брашурке слова умные накидать и все
AP
20:50
Andrey Pfau
In reply to this message
прочитай сообщение еще раз
P
20:57
Project Manager
Есть ли какое-то ограничение на вложенность функций в смарт контракте?
Вызываю функцию 3, которая вызывает функцию 2, которая вызывает функцию 1
SK
20:57
Steve Korshakov
газ твое ограничение
AP
20:59
Andrey Pfau
In reply to this message
рекурсию что ли делаешь?
P
21:00
Project Manager
In reply to this message
Не, просто вызов 3х функций последовательно
Рекурсию смарт контракт не дает делать
EK
21:00
E K
In reply to this message
Дивиденды распределяет между рефералами))
A
21:01
Andrei
In reply to this message
Почему не дает? Если убрать все inline и inline_ref, будет норм
21:01
Ограничения на глубину тоже нет
P
22:56
Project Manager
Вопрос про транзакционность:
Отправляю внешнее сообщение при деплое смарт контракта.
Выполняется recv_external, если seqno не совпадает (изначально он 0) - throw.
Далее идет accept_message();
Далее стоит жирный while на многотыщ итераций с получением рандома (для теста).
И потом seqno +1, и записываем новый сторадж, с новым seqno.

Если в TON сохраняется транзакционность сообщений - то почему тогда 100500 external сообщений принято в истории транзакций?

p.s. меня не удивляет что 100500 запросов приходит в recv_external, не понятно почему все они доходят до accept_message, если они должны по очереди выполняться. Или нужно уложиться в какое-то время при внешнем сообщении?

p.s.s. а если я переношу while выше accept_message, то до accept_message вообще не доходит. Why?
SK
23:06
Steve Korshakov
потому что газа не хватило?
23:06
тогда в стор не запишет
A
23:07
Andrei
In reply to this message
Транзакционность не относится к gas fees, они всегда снимаются, даже если изменение storage откатывается
23:08
Но без accept_message в экстернале в принципе транзакция не создается, так как контракт не согласился заплатить за газ, а у самого сообщения value нулевое
P
23:12
Project Manager
In reply to this message
Хватило
23:14
In reply to this message
Т.е. 100500 эктерналов уходят в accept_message и каждый начинает while считать? Т.к. первый external ещё не изменил секно на 1.
SK
23:14
Steve Korshakov
оно тратит газ но не сохраняет
A
23:15
Andrei
In reply to this message
+
P
23:15
Project Manager
Да, именно так и происходит
SK
23:15
Steve Korshakov
посмотри на китах результат транзакции там туча инфы
A
23:15
Andrei
In reply to this message
Нет, они все последовательно обрабатываются
Просто транзакция в блокчейне состоит из нескольких фаз. Одна из них — фаза вычислений. Если эта фаза фейлится, то storage не обновляется. Но плата за газ всё равно снимается
23:16
Ну в каком-то смысле тут транзакция внутри транзакции, если такую терминологию использовать
P
23:16
Project Manager
In reply to this message
Т.е. 2 while одновременно не выполняются, или выполняются?
A
23:17
Andrei
In reply to this message
Одновременно нет
P
23:18
Project Manager
In reply to this message
Т.е. первый while фейлится, начинает выполняться второй..
А как обычный while фейлится? Если я делаю меньше итераций всё ок. Есть какой-то таймаут?
SK
23:18
Steve Korshakov
газ
A
23:18
Andrei
In reply to this message
Есть лимит газа
23:19
Который можно потратить за раз
P
23:19
Project Manager
In reply to this message
Даже если монет хватает?
A
23:19
Andrei
Ага
P
23:19
Project Manager
оу
A
23:19
Andrei
Больше миллиона нельзя
P
23:19
Project Manager
In reply to this message
Больше миллиона нанокойнов или коинов?
A
23:19
Andrei
In reply to this message
Единиц газа
Это 1 тон в бейсчейне по нынешней цене
P
23:21
Project Manager
In reply to this message
А в тестнете? В воркчейне
Могу глянуть сам, только скажи где
A
23:22
Andrei
In reply to this message
Там так же
Это надо в config param 20 и 21 смотреть
P
23:24
Project Manager
In reply to this message
Ну тогда while не мог отвалиться по газу..
Пойду смотреть код..
P
23:39
Project Manager
In reply to this message
А, погоди

Если газа требуется больше чем 1 тон = ошибка?
A
23:40
Andrei
In reply to this message
ну да
P
23:40
Project Manager
In reply to this message
Ну тогда всё сходится, спасибо
23:41
In reply to this message
А это только для external сообщений ограничение в 1 тон, или вообще для всех?
A
23:42
Andrei
In reply to this message
для всех
A
23:53
Anime AI
Всем привет, есть ли тут материалы с чего начать чтобы разрабатывать в ton
AT
23:55
Andrey Tvorozhkov
In reply to this message
Наверное можно по приколу использовать несколько контрактов для сложных функций. Один контракт отрабатывает кусок и промежуточный результат отправляется следующему кконтракту :)
23:56
Вообще смешная идея масштабных цепочек смарт контрактов) Например, написать игру "жизнь" :)
21 January 2022
c
00:57
cryshado
тернарный оператор есть в func? или его придумать надо?
A
00:57
Andrei
In reply to this message
Есть
00:58
In reply to this message
Забавная идея, да)
P
00:58
Purple
In reply to this message
а в игре жизнь написать еще одну игру жизнь
c
00:59
cryshado
In reply to this message
я слепой может, не вижу в доке, или его там и нет?
c
00:59
cryshado
In reply to this message
а, спасибо
A
01:00
Andrei
In reply to this message
Можно ещё самому себе отправлять
01:07
In reply to this message
Надо в Solana какой-нибудь ещё дум запустить
01:08
Она, кажется, лучше всего подходит для этого
P
01:08
Purple
In reply to this message
в тюринг полной TVM, тюринг полную игру жизнь, а в ней еще тюринг полную игру жизнь😮‍💨
A
01:10
Andrei
Ну TVM из-за лимита газа формально говоря не полная по Тьюрингу (для неё тривиально решается halting problem)
Но если разрешить несколько запусков (что, в общем-то, мы и обсуждали), то да
08:23
Deleted Account
Greetings
Е
08:54
Евгений
Приветствую.
Можете подсказать простой способ узнать номер последнего блока?
Здесь https://ton.sh/api есть только метод getBlockInformation, который дает информацию по конкретному блоку.
P
А
11:40
Андрей
In reply to this message
+
Е
11:52
Евгений
Подскажите, почему разные сервисы выдают разную информацию (там хэши разные) по одному и тому же блоку:
https://explorer.toncoin.org/search?workchain=-1&shard=8000000000000000&seqno=17730148&lt=&utime=&roothash=&filehash=

https://api.ton.sh/getBlockInformation?seqno=17730148&workchain_id=-1
где правда?
A
11:54
Andrei
In reply to this message
Кодировка разная, а хеш тот же самый
11:55
В первом hex, во втором base64
Е
12:05
Евгений
In reply to this message
Спасибо. Подскажи, что означает roothash и filehash? Это хэши чего?
SK
12:06
Steve Korshakov
одно из них это хеш Cell
12:06
filehash это хеш файла (?) в сторейдже
12:06
возможно что-то вроде sha256 от BoC
VD
13:15
Victor Dm.
Народ тут такое дела, я не могу отправить тоны на адреса этого сайта wallet.ton.org, но если брать у другого кошелька то могу. Вообще версии контракта кошелька потом объеденят или будет решения или уже есть?
A
13:33
Artе́m
In reply to this message
Они типа делают для простых людей с хорошим юзабилити
VB
13:33
Vasilii Burykin
In reply to this message
разная визуализация просто, на самом деле баланс один и тот же
P
13:35
Priani4ek
так. а объясните мне кто-нибудь, почему в 10-й винде при запущенном ton wallet перестаёт работать в телеге в реплаях на каналы отправка сообщений по CTRL+ENTER?
13:35
что за чудомагия, этогонеможетбыть же
Е
13:42
Евгений
In reply to this message
roothash - это наверное хэш блока? что такое cell?
A
13:44
Andrei
In reply to this message
блок это дерево ячеек
https://github.com/newton-blockchain/ton/blob/master/crypto/block/block.tlb#L445
у него есть representation hash, он же root hash
Е
13:46
Евгений
In reply to this message
правильно ли я понимаю, что roothash является достаточно случайной величиной? я его хочу брать в качестве случайной величины
A
13:47
Andrei
In reply to this message
в блоке есть rand_seed, лучше его брать
13:48
валидатор может влиять на хеш блока
A
13:49
Anime AI
In reply to this message
Спасибо!
Е
13:51
Евгений
In reply to this message
спасибо
P
13:54
Priani4ek
@steve_kite канал нарочно прикрыл, чтобы разгрести очередь на понцевском смарт-контракте, или всё-таки взлом?
VD
14:23
Victor Dm.
Народ hash транзакций и lt можно достать из cell?
P
14:38
Priani4ek
не тот чат, но думаю что это обычная пирамидка
VD
14:44
Victor Dm.
In reply to this message
Народ кто знает есть описаний cell?
c
15:24
cryshado
In reply to this message
https://newton-blockchain.github.io/docs/tblkch.pdf

1.1.3. The layout of a single cell.
V
15:26
Vłâdïż
In reply to this message
переиграл
T
15:27
TON Checks
In reply to this message
Animation
Not included, change data exporting settings to download.
27.6 KB
OP
15:29
Oleg Payze
Ребята привет, напишите плз мне кто в теме по валидаторам
DS
15:30
Denis Serg
In reply to this message
бабок не хватит
AS
15:31
Alexey Samosadov
In reply to this message
Есть более подробная инфа о конкурсе и что нужно сделать?
A
15:33
Andrei
In reply to this message
IG
15:34
Ilia Gaevskii
In reply to this message
а на чем ребята пишут? какие знания нужны?
A
15:35
Andrei
In reply to this message
Там в основном конкурсы по фронтенду
AS
15:35
Aleksandr Shepelev
In reply to this message
там ж написано, вплоть до стека
F
15:41
F
In reply to this message
В этом чате лучше не орать (1 сутки)
A
17:00
Artе́m
К
Код Дурова 21.01.2022 14:38:11
⚡️ Toncoin может получить тесную интеграцию с Telegram //

Экс-глава «ВКонтакте» Андрей Рогозов, присоединившийся сегодня к команде TON Foundation, заявил, что блокчейн-проект Toncoin находится на пути к полной интеграции с мессенджером.

«Сейчас мы ведем переговоры с командой Telegram, а также с командами разработчиков, работающих над различными проектами на основе блокчейна Toncoin», — отметил Рогозов.

@d_code
A
17:00
Artе́m
А что за Команды сторонних разработчиков?
SS
17:02
Sergei Saranin
In reply to this message
Почти все, кто не пишет напрямую блокчейн. Тут и тонкипер, и валлет, и криптобот, и даймондсы, и майнинг пулы, и т.д.
P
17:49
Project Manager
Я правильно понял что в FunC: tail у tuple это tuple без head, а head у tuple это первый элемент tuple (например int/slice)?
A
18:07
Andrei
tail это второй элемент тупл
18:07
Предполагается, что списки можно хранить в виде вложенных туплов
18:10
В доке об этом есть
SK
19:54
Steve Korshakov
Вряд ли
A
20:17
Andrei
Надо сравнить публичники у кошельков
20:18
И в зависимости от ответа думать
20:19
In reply to this message
Адрес и публичник это не одно и то же
20:20
In reply to this message
Кошелек это смарт-контракт, но у него в сторадже сохранен публичник
20:21
можно узнать с помощью метода get_public_key
P
20:36
Project Manager
А в чем разница preload_bits(512) от first_bits(512) ?
A
20:37
Andrei
нету разницы
P
20:37
Project Manager
У первого в конце добавлено "into a separate slice s''"
Не доходит..
A
20:38
Andrei
однако preload_bits сейчас built-in, что дает какой-то простор для оптимизации
20:38
а first_bits нет
20:38
так что лучше первое использовать
P
20:38
Project Manager
In reply to this message
Понял, спасибо!
P
21:44
Project Manager
In reply to this message
Какая?
21:49
In reply to this message
А поинформативнее?)
А
21:49
Андрей
> с доступом
Исчерпывающий ответ
A
21:57
Andrei
а 12 остались?
c
21:57
cryshado
In reply to this message
*в тоне кошельки 24 слова генерят
A
21:58
Alexey
ну почему же. в два раза проще угадать хоть одно слово
c
21:58
cryshado
In reply to this message
ну все, помянем
VB
22:02
Vasilii Burykin
In reply to this message
1 или 2 слова можно подобрать, найди 10 остальных) иначе никак не получишь доступ к своему кошельку
A
22:09
Andrei
Ну если есть доступ к боту и вывод ещё не сделан, то теоретически владельцы пула могут привязать баланс к другому кошельку, но они вряд ли это сделают
VB
22:10
Vasilii Burykin
In reply to this message
А как он подтвердит что он владелец кошелька
A
22:11
Alexey
по хэшрейту) включить/выключить майнер в определенное время)
c
22:13
cryshado
In reply to this message
Ну это смотря в каком пуле. Во многих можно менять адрес. Скорее всего человек уже вывел, поэтому и пишет про слова
22 January 2022
AF
00:26
Anton F
Вечер добрый, разбираюсь с адресами в TON - конкретно мне не очень понятно где там фигурирует приватный ключ (тот который прямо из 24-словной фразы вычисляется). Правильно ли я понял что публичный ключ становится частью данных которые хранятся вместе с Cell контракта что создаёт новые кошельки?
00:27
В блокчейны всякие уже давно заглядываю но ничего настолько странного (но очень интересного) я ещё не видел.
c
00:29
cryshado
In reply to this message
Каждый кошелек это смарт контракт, то есть понятие кошелек вообще не верное и используется только для общего понимания. Любой смарт контракт может выполнять функции кошелька. Обычно смарт контракт хранит публичный ключ, а клиент(юзер) приватный(обычно созданный на основе 24 слов).

Адрес смарт контракта генерируется на основе State Init смарт контракта, который включает в себя init storage в котором записан публичный ключ.
00:30
In reply to this message
Понять примерно как это работает можно по fift коду, который создает init msg для wallet v3.

https://github.com/newton-blockchain/ton/blob/master/crypto/smartcont/new-wallet-v3.fif

Но для этого надо понять fift https://newton-blockchain.github.io/docs/fiftbase.pdf
00:32
In reply to this message
Пользователь использует приватный ключ, чтобы подписать сообщение, а смарт контракт кошелька проверяет подпись по публичному https://github.com/newton-blockchain/ton/blob/ae5c0720143e231c32c3d2034cfe4e533a16d969/crypto/smartcont/wallet3-code.fc#L17
00:32
In reply to this message
И да можешь привыкать, дальше страннее и интереснее только будет 🙂
AF
00:36
Anton F
In reply to this message
Спасибо большое, теперь все понятно 👍 От скуки решил написать кошелёк и каково же было мое удивление когда после генерации пары ключей нить оборвалась и начались контракты
c
00:38
cryshado
In reply to this message
Ну ты должен научить свой кошелек деплоить контракты, если кошелк на JS можно юзать https://github.com/toncenter/tonweb
00:41
In reply to this message
Да либа немного сырая и доки особо нет, но её делали люди из самого TON и она выполняет свои задачи хорошо. Пока так
AF
00:42
Anton F
In reply to this message
Как раз его я и изучаю, а пишу нативное - JS не сильно люблю но для изучения вполне подходит.
c
00:44
cryshado
In reply to this message
вот нативные кошельки, можешь посмотреть как примеры
https://github.com/trm-dev/wallet-ios
https://github.com/trm-dev/wallet-android
KS
00:47
Konstantin Sazhenov
In reply to this message
c
00:50
cryshado
In reply to this message
Это тоже оффтоп(про топ кошельков и все теории заговора). Адреса собираются немного сложнее, выше рассказывал об этом t.me/tondev/48118
P
00:59
Project Manager
Можно как-то получить кол-во элементов в tuple?
A
01:00
Andrei
TLEN
P
01:01
Project Manager
символично
A
01:02
Andrei
В stdlib похоже забыли добавить, но примитив есть
01:02
Пора уже собирать stdlib-v2
01:02
С забытым всем
D
01:03
Denis
In reply to this message
можно же и в старый насыпать
P
01:03
Project Manager
In reply to this message
Т.е. только самому добавлять?
c
01:03
cryshado
In reply to this message
надо какие-то неймспейсы завести, инклюды в func и т д, чтобы поживее как-то было
01:03
In reply to this message
ну да
A
01:04
Andrei
In reply to this message
У меня вот в TonToken stdlib+.fc прост, куда я добавил несколько новых
01:04
Ну да, самому
c
01:04
cryshado
In reply to this message
TonToken это кстати название китайского скам токена на cmc который
A
01:05
Andrei
In reply to this message
:)
Это по аналогии с TON storage и т.д.
01:07
In reply to this message
Неймспейсы изи делаются, можно в названии :: использовать
P
01:07
Project Manager
Есть у кого ссылочка под рукой чтоб примитив TLEN глянуть ?
c
01:07
cryshado
In reply to this message
ну да, но эт костыль какой то)
A
01:07
Andrei
In reply to this message
В tvm.pdf все примитивы есть
P
01:07
Project Manager
In reply to this message
спасибо, гляну
c
01:08
cryshado
а можно сделать какую-то функцию с методами?
A
01:08
Andrei
int length(tuple t) asm "TLEN";

t.length() или length(t)
c
01:08
cryshado
In reply to this message
типа недо class
A
01:10
Andrei
In reply to this message
Не
P
01:10
Project Manager
int length(tuple t) asm "TLEN";
Это прям в fc код писать?
A
01:10
Andrei
In reply to this message
Ага, где-нибудь в начале
P
01:10
Project Manager
In reply to this message
оу, не сталкивался, благодарю, удобно
A
01:10
Andrei
In reply to this message
Первый делом надо алгебраические типы добавить
01:11
А нулевым newtype как в хаскеле
c
01:11
cryshado
In reply to this message
много что короче нужно добавить 👍
A
01:11
Andrei
In reply to this message
Ну да, вообще интересно бы было заняться
AM
01:21
Alexander Mamaev
а где можно найти сорцы бриджа? контракт + веб часть
AM
01:25
Alexander Mamaev
newton-blockchain и ton-blockchain репо ведут разные люди?
c
01:26
cryshado
In reply to this message
просто ton-blockchain был у дуровых, а был newton-blockchain, потом дуровы передали ton-blockchain этому тону
01:27
теперь две орги на гитхабе, просто не все перенесли
AM
01:27
Alexander Mamaev
понял
P
01:28
Project Manager
В tvm.pdf оказывается много интересного, чего не добавили в func
Собери свой func сам..
c
01:28
cryshado
In reply to this message
свобода 🙂
P
01:33
Project Manager
In reply to this message
+
01:34
А tpush в конец тюпла добавляет данные?
c
01:34
cryshado
In reply to this message
да
01:44
Почему так нельзя error: cannot implicitly assign an expression of type builder to a variable or pattern of type (builder, ??97) in modifying method store_slice : cannot unify type (builder, ??97) with builder
msg~store_slice(body);

но какой-то msg~store_uint(...) все ок?
P
01:45
Project Manager
store_slice не может через ~ работать
c
01:46
cryshado
In reply to this message
а можно заставить?
A
01:46
Andrei
In reply to this message
~store_uint тоже не должен
c
01:46
cryshado
In reply to this message
компилятору норм
A
01:46
Andrei
Ну я знаю, это лайфхак такой
P
01:46
Project Manager
In reply to this message
а поч через точку неок?
c
01:46
cryshado
In reply to this message
A
01:47
Andrei
In reply to this message
Ага
c
01:47
cryshado
In reply to this message
надо модифицировать, то что уже есть
01:47
A
01:47
Andrei
In reply to this message
msg = msg.store_slice
01:48
А зачем тебе этот иф?
c
01:48
cryshado
In reply to this message
а, а через . разве не перезаписывает, понял
P
01:48
Project Manager
In reply to this message
+, так же делаю
A
01:48
Andrei
Почему нельзя всегда записывать?
c
01:48
cryshado
In reply to this message
ну если пустое, не будет ошибки?
A
01:48
Andrei
In reply to this message
Нет конечно
c
01:48
cryshado
а ладно
P
01:48
Project Manager
In reply to this message
бегин целл и записывай где хочешь что хочешь (ниже)
01:50
Мб кто знает как сделать UNCONS с конца тюпла?
01:52
Либо реверс тюпла
Можно конечно новый создать и переложить но такое..
01:54
In reply to this message
а в чем вопрос? про 0хс4
c
01:55
cryshado
In reply to this message
короче это там человек, что писал код очень умный - хотел, чтобы все всё поняли

тут наверное флаги и старт MsgAddressInt а дальше воркчейн и адрес интом
01:55
вместо того чтобы записать слайсом MsgAddressInt
01:56
поэтому 9 бит, а не 6
P
01:59
Project Manager
In reply to this message
Это которые мы обычно как b{1000100} s, пишем?
Тогда видимо да
c
02:11
cryshado
что-то с тестнетом? у меня контракт перестал обновлять сторедж, новые контракты. Час назад все работало
02:12
In reply to this message
он просто принимает сообщение и на чилле
P
02:12
Project Manager
У меня вроде всё ок
c
02:14
cryshado
хммм
P
02:16
Project Manager
Я прям секно не увеличивал пока что (ну в смысле сторадж не перезаписывал вторым экстерналом) но смарты разворачиваются норм
02:17
In reply to this message
У тебя случаем 100500 recv_external не принимаются смартом?
c
02:18
cryshado
In reply to this message
impure вызывающий другой impure все сломал короче, сделал одну inline_ref(первую) все норм стало. Причём контракт деплоился, сообщения на баунсил и все смотрелось норм, а эта функция даже не вызывалась - просто в коде была
02:18
😃
02:20
In reply to this message
неа
P
02:21
Project Manager
In reply to this message
В каких случаях ты делаешь inline_ref вместо обычной функции?
c
02:29
cryshado
In reply to this message
вроде всегда
02:30
In reply to this message
inline_ref когда вызывает impure ничего не работает 🙁
02:30
оно не меняет что либо в блокчейне
02:30
а когда impure вызывает impure контракт куку
02:33
accept_buy случаем не примитив func? я так функцию назвал
P
02:33
Project Manager
In reply to this message
=)

impure юзаю если нужно сторадж изменить внутри функции
method_id для get методов

inline, inline_ref - так и не понял для чего их лучше использовать, даже из документации..вместо них обычные функции без всего создаю и норм
02:33
In reply to this message
не
c
02:34
cryshado
если обычная функция вызывает impure, то вторая сможет сторедж поменять или отправить тоны?
P
02:35
Project Manager
у меня impure вызывает impure для отправки тонов (т.к. impure для рав месаджа нужна, а отправка тонов в отдельной функции)
c
02:36
cryshado
стоит мне в коде объявить accept_buy типа impure который вызывает другую impure функцию, даже если accept_buy не ввызываю весь код едет кукухой куда подальше
P
02:37
Project Manager
а, ну 3 импьюра я не пробовал
02:38
у тебя же интернал (impure) -> accept_buy (impure) -> след функция (impure)
c
02:38
cryshado
In reply to this message
+ так и есть
P
02:38
Project Manager
но по идее должно работать
02:38
если всё ок в коде
c
02:38
cryshado
сейчас попробую через 2 функции, вплю 3ю во вторую
02:38
In reply to this message
да они даже не вызываются
02:38
даже если вызов закоментирую
P
02:39
Project Manager
ты вызываешь из импьюр функции?
02:39
т.е. там нет больше никаких доп. типов у функции?
c
02:39
cryshado
In reply to this message
да, но не вызываю(там условие на op), просто наличие ломает код
P
02:40
Project Manager
In reply to this message
Попробуй упростить максимально, должно работать (по крайней мере импьюр из импьюра точно работает)
c
02:41
cryshado
In reply to this message
попробую сейчас
02:43
In reply to this message
лол работает
02:43
In reply to this message
реально нельзя так делать
P
02:45
Project Manager
Мб можно, надо уточнить
Но импьюр -> импьюр точно воркает
Попробуй теперь оставить как есть, но между этими двумя импьюрами сделать третий, чисто как прокси

Тогда точно узнаешь)
c
02:45
cryshado
In reply to this message
сейчас попробую
02:50
@ProjectManageRR все сломалось
02:50
итог: нельзя юзать impure -> impure -> impure
02:51
In reply to this message
причём это неявно ломает код
P
02:54
Project Manager
In reply to this message
Это второй импьюр?
c
02:55
cryshado
In reply to this message
recv_internal() impure
-> accept_buy() impure
-> accept_token_buy() impure
P
02:55
Project Manager
Есть одна идея:
Сделай в каждой impure функции var a = random();

И попробуй. Если прокатит - скажу в чем суть, если нет - тогда 3 импьюра реально нельзя
c
02:56
cryshado
In reply to this message
да я пробовал даже пустые функции сделать, там с var asdf = 123;
P
02:56
Project Manager
а суть именно в рандоме
c
02:57
cryshado
In reply to this message
весь контракт ломается не явно, он принимает сообщения, не баунсит их и не работает вообще все
02:57
In reply to this message
мне a куда-то вернуть или что?
P
02:57
Project Manager
просто объявить
02:58
этож рандом, он меняет внутренний стейт смарта
если прокатит - значит ему не понравилось что второй импьюр ничего импьюрного не сделал)
c
03:01
cryshado
так же ведет себя
P
03:11
Project Manager
In reply to this message
Тогда видимо реально 2 раза максимум..
H
09:37
Hartmann D.
In reply to this message
Вам ответили в ру-чате. Это чат для программистов. Не стоит тут писать. Спасибо за понимание.
R
10:59
Ruslan
In reply to this message
Тон в nft почти добавили
Скоро будем поддерживать ваш блокчейн
VD
11:17
Victor Dm.
Народ, извиняюсь что не в тему но может кто работал с бск, кто знает где можно найти описаний транзы в бск, не могу найти доку
B
11:27
Boss
Более 15 часов не синхронизируется лайт сервер, в чем может быть проблема?

На данный момент:
Local validator database size: 0.04 Gb

Система:
Ubuntu 20.04
порты открыты: sudo ss -ulp|grep validator
сервер у hetzner

Устанавливал отсюда:
https://raw.githubusercontent.com/igroman787/mytonctrl/master/scripts/install.sh

Есть свой другой рабочий лайт сервер может их как-то можно подружить?
11:27
AP
11:58
Andrey Pfau
Добрый день смотрю реализацию в fift базовых слов и не очевиден для меня вот такой момент:
```
{ bl word 1 2 ' (create) } "::" 1 (create)
```
для чего цифра 1 после word? 2 - это понятно режим для (create), который означает активное слово, но 1 это что? по спецификации должна быть строка - название слова
12:48
Deleted Account
Есть уже интеграция с нфт?
?
12:53
🅂🄴🅁🄴🄶🄰
In reply to this message
В разработке
12:53
Deleted Account
In reply to this message
Есть уже какие-то наработки чтобы подготовиться к старту?
12:54
In reply to this message
Благодарю.
VB
13:05
Vasilii Burykin
In reply to this message
Этот чат не для этого
В
13:09
Владимир Ульянóвский
In reply to this message
В общем чате комьюнити инструкцию раз в неделю повторяют...
Ищите ответ там.
13:12
А здесь есть те кто близко к той команде что будет сайтами заниматься?

Ищу контакты для понимания технологии и работы с сайтами в экосистеме ton
A
13:27
Andrei
In reply to this message
Наоборот, тут 1 — это режим для (create).
:: активное слово, поэтому оно должно положить на стек аргументы, их число и затем execution token. Последнее это ' (create). Число аргументов это 2. Аргументы это название и 1 (режим для (create))
AP
13:27
Andrey Pfau
уже разобрался, спасибо)
13:27
пишу интерпретатор fift на джаве)
F
15:14
F
In reply to this message
Все норм, нужно ждать, минимум сутки
B
15:22
Boss
In reply to this message
Спасибо а нельзя подружить со своей рабочей нодой?
Для ускорения синхронизации
A
15:23
Andrei
In reply to this message
Надо её в конфиге прописать наверное, но не пробовал
15:42
Deleted Account
Hiiii
D
16:42
DORIAN GRAY
Скиньте не тех чат русский
16:44
Neocrypto нормальная ?
16:44
Deleted Account
In reply to this message
AM
17:12
Alex Molina
Добрый день всем. У меня есть sc.pk файл. Хочу его импортировать в tonmyctrl, но после команды
iw
ловлю ошибку
Error: 'NoneType' object has no attribute 'GetValidatorStatus'
17:13
Ключ с тестнета. Подскажете как фиксить? Или подскажете другой способ перевести средства с того адреса?
AP
18:40
Andrew Python
Есть аналог tonweb для питона?
KS
18:42
Konstantin Sazhenov
In reply to this message
нет
AP
18:44
Andrew Python
In reply to this message
а реально ли сделать?
KS
18:44
Konstantin Sazhenov
In reply to this message
да
AP
18:44
Andrew Python
значит надо собрать денег и устроить конкурс :D
c
18:45
cryshado
In reply to this message
Ну ты можешь кидать из питона запросы к json rpc, а создавать запросы(boc) и парсить ответы через fift
AF
18:48
Anton F
Или самому писать - там не сильно сложно на самом деле 🤷
A
19:18
Andrei
In reply to this message
Или к лайт-клиенту
AM
19:55
Alexander Mamaev
К лайтклиенту вообще проще всего
c
21:24
cryshado
impure не может вызвать impure, который вызывет impure, но также impure не может вызвать inline_ref, который вызывает impure, потому что impure, который вызвали из inline_ref не сможет ничего изменить в блокчейне. Вопрос, как писать код в итоге? Я уже все комбинации функций перепробовал
21:25
Не хочется в recv_internal всю логику держать, код очень плотный выходит
SK
21:26
Steve Korshakov
У меня вроде нормально impure вызывает impure
c
21:28
cryshado
In reply to this message
хм, а там в func ничего не фиксили в последний месяц?
21:28
может у меня компилятор старый
21:28
я просто вижу у вас в нфт коде impure - impure - impure
21:29
а я если так делаю у меня контракт в кирпич превращается, просто от наличия такой связки
A
21:34
Andrei
Всё должно работать, скорее всего ошибка в другом чем-то
21:34
FunC не фиксили, не
21:34
Можешь в лс скинуть код, гляну потом
c
21:36
cryshado
In reply to this message
ok
AP
21:41
Andrew Python
реально ли написать контракт на tonweb или это извращение и лучше юзать func?
c
21:43
cryshado
In reply to this message
на tonweb можно только запросы к контрактам писать, а для самих контратков func
AP
21:45
Andrew Python
In reply to this message
"можно только запросы" == "нельзя написать целый контракт"? 😅
c
21:46
cryshado
In reply to this message
ну можно написать запросы к контрактам, а сам контракт нельзя
AP
21:47
Andrew Python
Ок) буду копать в сторону func тогда
AS
23:16
Aleksandr Shepelev
а я могу валлету в3 сказать что-то типа вот 0.1 тон, пошли их туда-то, всю комиссию бери из этих самых 0.1? юзаю сендмод 64, в итоге списывается 0.11 вместо 0.1
A
23:18
Andrei
In reply to this message
Нет, за газ комиссия отдельно будет
AS
23:18
Aleksandr Shepelev
In reply to this message
отстой
A
23:18
Andrei
Можно свой валлет написать, чтобы такая логика была
23:18
Совместимый с в3
AS
23:19
Aleksandr Shepelev
т.е. технически это можно сделать, прост валлет такой?
A
23:19
Andrei
Ну да
AS
23:19
Aleksandr Shepelev
гуд, спасибо

тогда задачку в бэклог и поехали дальше 😆
T
23:38
TON технический обзор
In reply to this message
Можете, собственно это определяется sendmod'ом, флаг +1 говорит брать ли комсу из суммы(+0) или платить отдельно (+1).
23:39
In reply to this message
https://ton.org/tvm.pdf
SENDRAWMSG (c x – ), sends a raw message contained in Cell c, which should contain a correctly serialized object Message X, with the only exception that the source address is allowed to have dummy value addr_none (to be automatically replaced with the current smartcontract address), and ihr_fee, fwd_fee, created_lt and created_at fields can have arbitrary values (to be rewritten with correct values during the action phase of the current transaction). Integer parameter x contains the flags. Currently x = 0 is used for ordinary messages; x = 128 is used for messages that are to carry all the remaining balance of the current smart contract (instead of the value originally indicated in the message); x = 64 is used for messages that carry all the remaining value of the inbound message in addition to the value initially indicated in the new message (if bit 0 is not set, the gas fees are deducted from this amount); x′ = x + 1 means that the sender wants to pay transfer fees separately; x′ = x + 2 means that any errors arising while processing this message during the action phase should be ignored. Finally, x′ = x + 32 means that the current account must be destroyed if its resulting balance is zero. This flag is usually employed together with +128.
c
23:39
cryshado
@ProjectManageRR новости по проблеме, impure - impure - impure можно юзать, проблема была в elseif (он криво работает). Возможно ему плохо, когда больше одного elseif блока
AS
23:39
Aleksandr Shepelev
In reply to this message
а почему оно не работает хоть убей?)
A
23:39
Andrei
In reply to this message
За газ все равно отдельно будет
AS
23:40
Aleksandr Shepelev
флагу 1 вообще пофигу что я там ему указываю
флаг 64 работает почти как надо, но чутка лишку списывает
T
23:41
TON технический обзор
In reply to this message
флаг 64 - не тот флаг. Он говорит о том, что когда транзакция вызвана внутренним сообщением, то по выходу из транзакции послать остатки от этого внутреннего сообщения (обратно или куда-то еще). Кошельку приходят внешние сообщения (они денег вообще не несут, поэтому и остатка у них нет и флаг 64 ничего не делает)
P
23:42
Purple
подскажите, где можно посмотреть все флаги
T
23:42
TON технический обзор
In reply to this message
5тью сообщениями выше
c
23:53
cryshado
по идеи же может быть два одинаковых адреса(контракта) полностью в разных воркчейнах? Воркчейн не идет в stateinit

хочу понять, нужно ли мне воркчейн сравнивать в контракте, или на уровне сети сделано так, что не может быть два одинаковых контракта(адреса) даже в разных воркчейнах
AP
23:54
Andrew Python
In reply to this message
Есть этот документ на русском для слоупоков?
c
23:54
cryshado
In reply to this message
нет
23 January 2022
A
00:02
Andrei
In reply to this message
Может, уже сейчас даже
c
00:02
cryshado
In reply to this message
понял, спасибо, значит и то и то нужно проверять
A
00:03
Andrei
In reply to this message
Я slice_data_equal? пишу
00:03
Для двух адресов
00:03
Но да
c
00:07
cryshado
In reply to this message
а, а я делаю parse_std_addr и сравниваю, но slice_data_equal? короче 🙂
A
00:07
Andrei
In reply to this message
Его только нету в stdlib
c
00:07
cryshado
In reply to this message
в stdlib+ есть?
A
00:08
Andrei
Ага)
c
00:09
cryshado
In reply to this message
не думал кстати сделать пул реквест в основную репу или не примут?
A
00:09
Andrei
In reply to this message
Ну надо побольше тогда добавить
c
00:09
cryshado
удобнее просто, когда все в одном месте, чем копировать в проект каждый
A
00:10
Andrei
Хотя да, не уверен, что пр принимают вообще)
D
00:13
Daniil
Всем доброй ночи, господа с работающими нодами, подскажите где вы арендовали сервер или может у вас дома стоит? Или свой в датасервере?
c
00:15
cryshado
In reply to this message
D
00:15
Daniil
In reply to this message
Какие комплектующие выбирать, может там готовые комплектации сервера есть которые посоветуете?
c
00:16
cryshado
In reply to this message
тебе для валика или для лайт сервера просто?
AT
00:16
Andrey Tvorozhkov
In reply to this message
Мы хетзнер юзаем для всех своих задач. Можете смотреть на аукционе, там хорошее железо за хорошую стоимость.

Уже года 3-4 ими пользуемся
c
00:16
cryshado
In reply to this message
для лайтсервера норм вариант
00:17
для валика получше надо, раза в два например
00:17
In reply to this message
я там так вереф и не прошел, там доки просят
00:17
никакой свободы!
D
00:18
Daniil
In reply to this message
Уточню, насколько я понимаю для валидатора нужно много тона, а лайт сервер это то же самое что фулл-нода? Мне бы хотелось иметь возможность стать частью блокчейна.
c
00:18
cryshado
In reply to this message
фулл нода == лайтсервер == валик, просто для валика нужно кучу(300к и больше) монет
00:18
это все одна нода по факту
D
00:19
Daniil
Понял, спасибо!
00:19
In reply to this message
Тогда учту это
00:20
In reply to this message
А можешь примерную цену в месяц уточнить для такого?
00:25
Deleted Account
In reply to this message
там вроде 160 баксов написано
D
00:27
Daniil
In reply to this message
Я просто не уверен, это в месяц?
c
00:28
cryshado
In reply to this message
да в месяц
D
00:28
Daniil
In reply to this message
Спасибо
P
00:28
PCStar
In reply to this message
Попытайся может пойдёт движение)
@test_ton_bot
c
00:48
cryshado
Как думаете best practices будет делать условно один get метод "get_data()" и в нём возвращать cell с данными, или делать кучку методов, по типу "get_owner()", "get_init_ts()" и т д? Как будет удобнее всем?
Anonymous poll
- Один метод return some_cell;
- Много методов с разной инфой
27 votes
00:51
In reply to this message
Если не трудно, напишите, почему то или то выбрали
T
00:52
Tolya
In reply to this message
предложил бы один метод, но возвращать в нем распарсенные данные, а не cell (т.к контракт лучше знает как их парсить)

если у кого то есть аргументы за разные гет-методы - рад был бы услышать
A
00:53
Andrei
In reply to this message
А вызов гет-метода, который возвращает cell, подтягивает рефы?
D
00:53
Daniil
In reply to this message
Мне кажется более читаемо когда много разных методов которые отвечают каждый за своё (я не изучал ещё тон глубоко, это только по общему опыту в программировании)
A
00:53
Andrei
В лайт-клиенте её вообще не посмотреть особо
c
00:54
cryshado
In reply to this message
ну можно сделать return get_data();, если контракт простой или собрать cell в контракте(как надо) и вернуть. А юзеру контракте предоставить схему
A
00:54
Andrei
Ну конечно лучше распаршенные данные
VS
01:14
Vladislav Skvortsov
Всем привет, подскажите, если ли возможность связаться с отделом маркетинга TON.

Организовываем масштабное мероприятие по тик току ( суммарный охват свыше 500.000.000 пользователей )

Буду безумно признателен за помощь !

Очень хочется привнести в данный проект что-то по мимо силы developers 🙌🙏🏻
RG
01:21
Roman Geints
In reply to this message
> GameFi | P2E | CBDC
> CBDC
01:21
Sticker
Not included, change data exporting settings to download.
🤡, 45.2 KB
A
01:21
Andrei
Не зря у электора ticktock транзакции
VS
01:23
Vladislav Skvortsov
In reply to this message
Благодарю, что вносите конструктив и помогаете сообществу TON и не засоряете чат.

Надеюсь, у вас есть выход на отдел маркетинга и вы поможете увеличить охваты и узнаваемость нашего любимого блокчейна.
P
01:24
Purple
In reply to this message
+
01:24
Deleted Account
In reply to this message
+
KS
01:39
Konstantin Sazhenov
а как считается комса за вывод средств с кошелька?
какая формула storage fee и gas fee для кошелька 2/3 версии?
c
01:43
cryshado
In reply to this message
Это не от версии кошелька зависит, в целом это для контрактов. storage fee за каждый бит и cell за N секунд, просто для оптимизации списывается при любом msg
KS
01:44
Konstantin Sazhenov
In reply to this message
ну я скорее к тому, что там в этих кошельках известно какой код
c
01:44
cryshado
In reply to this message
ну код контрактов есть на гитхабе в репе ton
KS
01:45
Konstantin Sazhenov
In reply to this message
ну я к тому, что мб кто-то посчитал формулу комсы для этих версий))0
чтобы не обращаться к блокчейну лишний раз
01:45
эмперически
c
01:45
cryshado
In reply to this message
storage fee есть в Config Params
01:46
там сколько тон и за сколько секунд
KS
01:46
Konstantin Sazhenov
аок
01:46
thx
c
01:46
cryshado
In reply to this message
в бейсчейне и в мастерчейне разное, если что
KS
01:46
Konstantin Sazhenov
In reply to this message
кк
01:47
In reply to this message
а есть линк на параметры?
KS
01:54
Konstantin Sazhenov
In reply to this message
thx
AT
10:31
Andrey Tvorozhkov
In reply to this message
Эта шутка в моей голове после того, как я увидел tik и tok в tl-b.

Как я долот ждал, что она прозвучит в этом чате 😈
ИТ
10:33
Илгиз Тимруков
Подскажите, где можно найти white paper к Ton Sites?
MH
11:19
Mohammad Hasani
Hello
is there any websocket available for transactions?

I want to check if a specific transaction done between two wallet. what is the propper solution?
JG
15:29
John Galt
In reply to this message
На русском напиши в личку, на анг. есть на сайте ton.org
P
16:42
Project Manager
In reply to this message
Понял принял 👍
c
17:04
cryshado
In reply to this message
там бы еще до этого перебрать всю доку и перевести на какой нибудь гитбук или типа того
17:48
Deleted Account
Всем привет! Есть тут те, кто смог собрать на своей машине (мак, м1) https://github.com/ton-blockchain/wallet-ios?
RG
18:24
Roman Geints
я так понял, адрес контракта это хеш его кода и данных и чего-то ещё, верно? тогда я не понимаю, почему адрес контракта не меняется когда он меняет своё состояние (или код). для этого валидаторы как-то специально запоминают историю состояний всех контрактов (чтобы по хешу первого сотоянию найти актуальное и в него направить сообщение)? у одного контракта много адресов (по одному на каждое прошлое состояние)?
18:24
Sticker
Not included, change data exporting settings to download.
🥴, 10.8 KB
A
18:25
Andrei
In reply to this message
У контракта один адрес, хеш проверяется только при инициализации
18:25
Дальше состояние может меняться, но привязано к тому же адресу
18:25
Валидаторы просто помнят хешмапу адрес -> последнее состояние
RG
18:25
Roman Geints
In reply to this message
Понял, спасибо
c
18:44
cryshado
In reply to this message
Sticker
Not included, change data exporting settings to download.
😳, 17.8 KB
18:56
Есть какие-то рекомендации, по тому в каком формате определять op для запросов к контракту?

Я просто в примерах смотрю, кто-то делает 1,2,4,5.. а у кого-то hex(int) который заполняет все 32 бита, не совсем понятно по какой логике.

Просто может есть какая-то рекомендация, о которой я не знаю
19:08
если в send_raw_message с mode 3 отправить 0 gram, то оно не уйдет просто? Нужно ли проверять перед отправкой, что amount != 0?
RG
19:12
Roman Geints
In reply to this message
я чисто фантазёр, но я бы взял ту же схему которая производит id для методов контракта из названий (crc16 с приколом)
AP
19:15
Andrey Pfau
In reply to this message
Разницы нет, оно же все равно к одному виду все компилируется. Как вам удобнее и читабельнее - так и делаете
c
19:16
cryshado
In reply to this message
это где такое ты видел?
RG
19:22
Roman Geints
In reply to this message
в func
19:23
func <(echo '_ seqno() method_id { return 1; } _ main() { return 1; }')


85143 DECLMETHOD seqno


вот тут число 85143 получено из строки "seqno"
19:23
можно так же фантазировать человеко-читаемые опкоды а потом их мапить в числа-опкоды
19:24
node -e 'console.log((require("crc").crc16xmodem("seqno") & 0xffff) | 0x10000)'

85143
c
19:25
cryshado
хммм, интересно
A
19:27
Andrei
In reply to this message
я беру crc32 названия операции
единственное, что там по гайдлайнам у реквестов старший бит должен быть 0, а у ответов 1
19:28
In reply to this message
если есть флаг +1 (платить fwd_fee отдельно), то уйдет
19:28
проверять не нужно
19:29
отправить нулевое число грам, как и записать пустой слайс — норм операции, чего их так бояться)
c
19:31
cryshado
In reply to this message
ну непривычно, такое не проверять просто 🙂
19:31
а хотя стоп, 0 грам отправить и заплатить комиссию за отправку 0 нужно же будет
A
19:31
Andrei
ну да, это флаг +1
c
19:31
cryshado
понял, но сообщение дойдет, просто нести в себе будет 0 тонов
A
19:32
Andrei
да, и соответственно процеснуться не сможет
19:32
но можно коммент послать, например
c
19:33
cryshado
In reply to this message
процеснуться не сможет, в том смысле, что получатель его не получит или что?
19:33
оно отбаунсится или как
A
19:33
Andrei
просто придет и всё
19:33
TVM не запустится
19:33
но и не забаунсится
c
19:34
cryshado
а понял
A
19:34
Andrei
storage fee спишется)
c
19:34
cryshado
In reply to this message
Sticker
Not included, change data exporting settings to download.
🙃, 23.9 KB
c
20:18
cryshado
In reply to this message
поставь tonweb либу
20:18
npm i tonweb
A
22:11
Anton
Здравствуйте , проводил транзакции через

Эфирный мост:

Ef_dJMSh8riPi3BTUTtcxsWjG8RLKnLctNjAM4rw8NN-xWdr

Мой адрес отправки:

EQBMkmYr22lOitgVQvBYRrw8b2DP202wOVGq92b8-tEB4HMI

На адрес:

0xEcf54f0bC294cdC484300361066cCac438bdEbef



Не дошли две транзакции
2000 TON
1600 TON

т.к

Эти 2 транзакции я не подтвердил , потому что мне не хватило ETH -GAZ
, пока я пополнял eth для комиссии , ссылка исчезла подтверждение перевода , в итоге не подтвердил , и не выскакивает это подтверждение , в итоге монеты не вернулись обратно на кошелёк , и получатель не получил , зависли у вас . Как мне подтвердить подтверждение перевода?
22:13
может кто поможет с данной ситуацией
AM
22:17
Alexander Mamaev
In reply to this message
Это все таки чат про разработку, лучше постучаться в соседний чат
A
22:17
Anton
а именно ?
AM
22:18
Alexander Mamaev
Например https://t.me/TONBaseChatEn
22:19
Deleted Account
In reply to this message
Опа, собралось. Если кому-то понадобиться - велкам
24 January 2022
SK
00:01
Steve Korshakov
слушайте а кто-нибудь знает какой язык для препроцессинга файлов? оч хочется #define на примитивном уровне добавить в фанк
AP
00:03
Andrey Pfau
In reply to this message
Сишный?)
SK
00:04
Steve Korshakov
например да
00:04
ton.sh он для хоамяков же
00:04
In reply to this message
например да
D
00:09
Denis
In reply to this message
кодген можно ж на любом писать, на чем удобнее.
есть, кстати, для func пример кодгена на питоне (не мое, если что) https://github.com/starlightduck/funcpp
00:09
там как раз #define есть )
SK
00:10
Steve Korshakov
збс, а почему ток оно вот с нуля - нет ли готового?
AF
00:20
Anton F
Вполне можно код через препроцессор GCC прогонять перед тем как func его скармливать
00:24
Естественно использовать осторожно, с некоторыми языковыми конструкциями оно может сыграть злую шутку. Кто бы мог подумать что писать новые языки программирования - совсем не лучшая идея
D
01:12
Denis
In reply to this message
кстати, да. Можно так сделать:

a.cpp:
#include "my_func_file.fc"


my_func_file.fc:
… .store(MY_VAR) … 


clang -E -DMY_VAR=666 ./a.cpp
01:13
In reply to this message
04:59
Deleted Account
всем привет, уже можно пощупать смартконтракт для нфт?
FW
09:54
Ferdinand Waldo Demara
Простите, далёк от глубокого понимания.
Реально ли технически в TON создать благотворительный фонд?
09:55
И ещё. Будет ли какая-нибудь песочница идей 💡 в коммьюнити?
Куда каждый участник TON сможет написать техническую или рационализаторскую идею для улучшения качества и популярности продукта.
А разработчики в свою очередь (при желании) реализуют что-то на основании идей участника.
VB
09:59
Vasilii Burykin
In reply to this message
Можешь создать такую песочницу
AT
10:00
Andrey Tvorozhkov
In reply to this message
Да, хорошая идея) Можно сделать канал + бот. В бот поступают идеи, волонтеры их валидируют, хорошо описанные и неповторяющиеся идеи попадают в канал)
m
10:01
maxp.dev
In reply to this message
обычно от такой "песочницы идей" мало толку, так как разработчики, как правило, генерируют сами себе идей по развитию больше, чем все остальные пользователи вместе взятые :)

особенно если считать нормальные, реализуемые идеи.
AS
11:02
Aleksandr Shepelev
In reply to this message
коинмаркеткап какой-то или апи бирж

график уж сами осильте)
y
11:07
yoshi
In reply to this message
Coinmarketcap или CoinGecko
ПП
11:09
Просто Паша
In reply to this message
можно получить данные например с OKX, ну а визуализировать самостоятельно

GET /api/v5/market/candles

https://www.okx.com/docs-v5/en/#rest-api-market-data-get-candlesticks
11:18
In reply to this message
причем, что лично меня порадовало на okx, гет-запросы делаются без громоздкой аутентификации
SK
11:29
Steve Korshakov
In reply to this message
Людей с идеями полно, это абсолютно бесполезно. Кто вот может сделать - это вопрос.
VB
11:30
Vasilii Burykin
In reply to this message
D
11:32
Daniil
In reply to this message
Если у тебя есть цена 1 тона к доллару?
11:32
In reply to this message
1/{price}
VB
11:32
Vasilii Burykin
Sticker
Not included, change data exporting settings to download.
😝, 28.3 KB
D
11:33
Daniil
In reply to this message
Почему)
11:33
Ну если у тебя тон стоит 3 доллара, то доллар стоит 1/3 тона
IR
11:48
Igor Razin
Товарищи! Какой будет правильный вариант автоматизированно отслеживать входящие платежи? Типа если люди услуги какие оплачивают. Если возможно, без установки нод и всякого такого. То есть надо постоянно вытягивать транзакции с кошельком отправителя и комментарием.
AS
11:51
Aleksandr Shepelev
In reply to this message
по разным адресам?
IR
11:51
Igor Razin
In reply to this message
Ну как, на один кошелёк конечно
AS
11:52
Aleksandr Shepelev
In reply to this message
ну хз, кейсы разные.

ну тупо опрашивать getAddressTransactions в апи тонцентра.
T
11:52
TON Notify Pool
каждые несколько минут проверять транзакции
IR
11:54
Igor Razin
In reply to this message
не забанят? там ещё только 10 возвращает, и похоже надо читать previous_transaction и подставлять lt в запрос. но не понимаю как это работает.
AS
11:54
Aleksandr Shepelev
In reply to this message
запоминать последнюю транзакцию и всё. потом спрашивать с неё.
T
11:55
TON Notify Pool
In reply to this message
не забанят) у меня бот тычячи запросов шлет)
IR
11:56
Igor Razin
In reply to this message
хеш который? ну буду пробовать, спасибо
11:56
In reply to this message
Понял, спасибо :)
А
11:58
Андрей
Туториалы по смартконтратам появились ?) пример реализации нфт контракта или подобного
IR
12:00
Igor Razin
То есть этому не верить? :)
TON.sh Public API will not allow more than 30 requests per minute. Should you go over that limit, your IP will be blocked for 1 minute, you'll begin receiving 429 errors.

Ещё, там нет возможности вывести отдельную транзакцию? В АПИ что-то не вижу.
AS
12:00
Aleksandr Shepelev
ton.sh !== toncenter
12:00
А
12:01
Андрей
In reply to this message
+
T
12:01
TON Notify Pool
In reply to this message
кстате, можно чтоб постоянно не опрашивать, добавить пользователю кнопку "проверить оплату" и отправлять запрос только после этого
IR
12:01
Igor Razin
In reply to this message
Ага, понял
12:01
In reply to this message
Ну тоже вариант, да
JG
12:52
John Galt
In reply to this message
так и есть. Идей по web 3.0 полно и они витают в воздухе. Но какой смысл сейчас их предлагать, когда концептуальная идея еще не реализована до конца со всеми системами TON. Лучше на этом концентрироваться разработчикам.
AP
13:08
Andrey Plotnikov
In reply to this message
Я могу!))) Вернее хочу. Если без подробностей С++ Джуниор. За подробностями в личку
AM
13:25
Alexander Mamaev
In reply to this message
Так это же open source, никто не запрещает сделать pr
AS
13:26
Aleksandr Shepelev
In reply to this message
> junior
значит надо задачу поставить какую-то )
AM
13:27
Alexander Mamaev
In reply to this message
Ну обычно через issue делают, условный тег good first. Но мб тут нет такого ещё
AP
13:40
Andrey Plotnikov
In reply to this message
А по русски?
AM
14:08
Alexander Mamaev
In reply to this message
Обычно задачи которые можно взять в open source проекте расписываются в issue, где каждый желающий может найти себе задачу. У issue можно поставить label. Good first - обзепринятый лейбл для задач которые подходят новичкам. Но к сожалению в репо ton, issue это не набор тасок, а книга жалоб
T
14:10
TON Notify Pool
новички, перепишите tonweb под python)
D
14:11
Daniil
In reply to this message
Тебе с такими вопросами в другой чат, но кажется это владелец Дайте тон
AP
14:11
Andrey Plotnikov
In reply to this message
+
AM
14:12
Alexander Mamaev
In reply to this message
Там вроде лежит что-то на других гитхабах, правда не обновлялось года два.
Но задача хорошая - написать биндинги в питон
14:13
Ну или например починить сборку liteclient на ARM чипах
AF
14:23
Anton F
Нет ли планов на то что бы какую-нибудь bounty платформу к репозиториям тона прикрутить? Это бы повысило мотивацию людей, да и награду можно в тон выплачивать
14:25
Если что, я не о различных конкурсах разработчиков говорю, а о возможности кому угодно открыть bounty на новую фичу/исправление ошибок, и о возможности кому угодно добавить награду за её выполнение
A
14:29
Andrei
Было бы прикольно
AC
14:44
Aleksey Chelbukhov
День добрый. Подскажите по серверу валидации, сколько минимально токенов нужно иметь, чтобы его запустить сейчас? На сайте написано 10к, но функционал номинаторов ещё не готов. Проясните пожалуйста.
AS
14:45
Aleksandr Shepelev
In reply to this message
600к для валидатора, 10к для номинатора (но 590 должен дать кто-то другой). номинаторы не запущены еще. так что 600к
AC
14:45
Aleksey Chelbukhov
Понял, спасибо
14:47
Правильно я понимаю, что после запуска этого функционала я смогу поднять сервер имея на балансе 10к. Как будет работать этот процесс добавления 590 к?
AS
14:49
Aleksandr Shepelev
In reply to this message
через контракт

вам надо будет убедить людей что вы надежный валидатор и вашему номинаторскому пулу, и вы не получите network penalty и всё такое

поднять сервер можно уже сейчас :) валидировать прост нельзя
14:52
Deleted Account
In reply to this message
напишите /start еще раз, возможно когда вы регистрировались у вас не было юзернейма
A
14:52
Andrei
Надо ещё убедить, что контракт надежный :)
AS
14:52
Aleksandr Shepelev
In reply to this message
а это не копипаста одного будет?)
AC
14:53
Aleksey Chelbukhov
Т.е. пока сообщество так или иначе не найдёт 590к токенов, сервер даже будучи постоянно включённым все равно не будет работать валидатором, верно? И с балансом в 10к шансов стать валидатором не много... Так?
AS
14:53
Aleksandr Shepelev
In reply to this message
так, так
A
14:53
Andrei
590к это неправда, достаточно 290к
AS
14:54
Aleksandr Shepelev
In reply to this message
:) ну калибр все равно понятен. но 290к звучит лучше раза в 2)

на сайте номинаторов 590 цифра стоит прост
D
17:12
Daniil
In reply to this message
При условии, что ты знаешь, что 1ton = 3$?
17:12
Deleted Account via @pic
In reply to this message
D
17:12
Daniil
In reply to this message
17:13
In reply to this message
Просто умножай кол-во долларов на кол-во тона. В данном случае кол-во тона — 0.2, умножь 3$ на 0.2 и получишь баксы (0.6)
17:14
In reply to this message
опечатался, поправил
17:31
Deleted Account
Привет, а сейчас есть инструмент, который из мнемоники генерирует бесконечное количество пар приватник + публичный ключ, как в битке, например?
M
17:35
Mark
In reply to this message
Может быть поможет Crypto Pay? У нас есть Webhooks.
AF
17:49
Anton F
In reply to this message
Кошельки генерируют только одну пару ключей так как там используется один и тот же Сид и количество итераций PBKDF2. Как это делается можно, например, в исходниках tonweb глянуть
17:51
Смысла в генерации пар ключей все равно нет так как адрес в итоге ещё и от самого кода смарт-контракта завтсит
A
17:52
Andrei
да, можно subwallet_id менять просто
K
17:54
Konstantin.P
In reply to this message
Добрый вечер, если у вас появиться решение буду признателен.
17:54
Deleted Account
In reply to this message
а насколько легко будет понять, что это кошельки с одной мнемоники сгенерированы?

или также нереально, как и просто два рандомных кошелька на коде одного смартконтракта?
A
17:55
Andrei
In reply to this message
у них публичник будет тот же самый, легко понять
AS
17:55
Aleksandr Shepelev
In reply to this message
а где про subwallet_id посмотреть? это параметр чего?
17:56
Deleted Account
In reply to this message
это просто дата-переменная в кошельке в3
AS
17:56
Aleksandr Shepelev
In reply to this message
т.е. я могу из одного кошелька v3 сделать дофига из одного priv/pub ключа?
17:56
Deleted Account
In reply to this message
+
AS
17:57
Aleksandr Shepelev
In reply to this message
интересно, спасибо
17:57
Deleted Account
просто при инициализации кошелька в data передавайте уникальный айдишник
AP
18:03
Andrey Pfau
тон к рублю не торгуется на биржах, в оснвном в usd
18:03
Deleted Account
In reply to this message
а из мнемоники же можно генерировать уникальную пару приватник + паблик кей

и на основании этого паблик кея получать уникальный адрес + по идее не палиться 🤔
c
18:04
cryshado
In reply to this message
адрес не из публичника, а из стейт инита контракта
18:04
а там весь контракт(его начально состсостояние) по факту
18:06
Deleted Account
In reply to this message
адрес генерируется на основании кода и data cell

в data cell лежит паблик кей
18:35
Deleted Account
Доброго времени суток, друзья! У меня есть идея по созданию нового продукта на базе TON с использованием NFT. С кем можно обсудить?
AF
18:39
Anton F
In reply to this message
Можно, достаточно сид поменять. Но для этого нужно модифицировать кошелёк, чтобы он знал какой Сид использовать.
18:40
Опять же, это все не имеет смысла - если задача это создание нового кошелька который никак не отследить, можно просто новую мнемонику сгенерировать 🤷
18:41
Инфа сотка, ещё один в3 кошелёк это гораздо менее подозрительно чем пара кошельков с уникальным смарт контрактом
18:44
In reply to this message
Вот здесь https://github.com/toncenter/tonweb-mnemonic/blob/2459698f4bf639efffb05f3508bd29c6161946c6/src/functions/mnemonic-to-seed.ts#L13 меняете "TON default seed" на что угодно, и будет у вас новая пара ключей с новым адресом
18:45
Если я конечно ещё чего-то не знаю и Сид ещё где не фигурирует
18:48
Deleted Account
Сорян за оффтоп, но все же!
Моя идея заключается в использовании технологии NFT не для продажи "уникальных" цифровых финтифлюшек, а для подтверждения факта использования оригинальных сущностей (скажем так) в цифровом пространстве. Результатом могут стать новые сервисы для широких масс, как криэйторов так и потребителей контента.
OO
19:01
Oleg Oskolsky
In reply to this message
Пришлите ссылку на проект?
19:04
Deleted Account
In reply to this message
Идея в зачатке, но основные моменты уже продуманы. Сейчас делаю презентацию, как закончу, отправлю.
OO
19:05
Oleg Oskolsky
In reply to this message
Презентация не интересно, нужна ссылка на работающий проект.
19:08
Deleted Account
In reply to this message
Понял. Но, я к сожалению не разработчик. Да и тема достаточно обширная для реализации одним человеком.
c
19:10
cryshado
In reply to this message
идей всегда много, а тех, кто может сделать единицы
OO
19:10
Oleg Oskolsky
In reply to this message
Ничего не мешает собрать команду и попробовать что-то сделать.
V
19:14
Vladimir
In reply to this message
Олег, а ты в команде?
OO
19:15
Oleg Oskolsky
In reply to this message
В какой?
19:15
Deleted Account
In reply to this message
Я вот тут и планировал найти единомышленников. Речь кстати идёт о музыке, а в дальнейшем к чему можно будет применить технологию покажет время. Есть подозрения, что идея уникальна, но не буду излишне самоуверенным.
c
19:16
cryshado
In reply to this message
нфт это просто запись в блокчейне о владении чем либо, записать можно что душе угодно
19:20
Deleted Account
In reply to this message
Да, но все почему-то клепают бессмысленные картинки, нфтизируют твиты, смски, статьи и прочее. Музыканты выпускают не вышедшие треки и якобы передают их во владение особо щедрым лицам. А какая в этом польза? Я вот придумал, как эту запись в блокчейне сделать полезной и реальной ценной. Но ценность тут не в деньгах, хотя они все же будут результатом.
c
19:22
cryshado
In reply to this message
"клепают бессмысленные картинки", потому что их покупают, а обороты измеряются в миллионах долларов. Пробовали делать NFT платформы для музыкантов, но в этом нет смысла, потому что NFT само по себе не закрепляет за тобой авторское право на законодательном уровне, что важно для музыкантов
19:22
Deleted Account
In reply to this message
Покупают - потому что хайп.
c
19:23
cryshado
In reply to this message
Ценность всегда определяют покупатели. Если 10000 человек хотят купить картинку абобуса за 100$, значит она стоит 100$
19:24
In reply to this message
Покупают, потому что другие хотят купить, что порождает ценность
19:24
Deleted Account
Ценность должна быть не в деньгах.
c
19:25
cryshado
In reply to this message
на такое нфт всем будет пофиг, даже если это убдет гипер классной идеей какой то
19:26
Deleted Account
In reply to this message
А вот скажите пожалуйста, ценность Toncoin в его цене на бирже?
c
19:28
cryshado
In reply to this message
ценность определяют пользователи, своим желанием его приобрести, из-за каких либо причин(например технологичность проекта и т д), так формируется ценность на общем уровне, а прировнять ценность можно к чему угодно, удобнее всего к другой валюте, которая уже имеет ценность
F
19:29
F
Что то совсем не про разработку
c
19:29
cryshado
In reply to this message
согласен
19:30
In reply to this message
если хочешь обсудить дальше можем перейти в @toncoin_rus_chat или напиши в лс, чтобы тут не засорять чат
19:32
Deleted Account
In reply to this message
Спасибо, за развернутый ответ, Александр! Но есть мемасная крипта без какой-либо подоплёки, а есть Toncoin с экосистемой вокруг него. Что ценнее я думаю всем тут ясно)
19:32
In reply to this message
Ок.
19:32
In reply to this message
Я сразу извинился за оффтоп)
19:37
Ребята, если тут есть кто-нибудь, кто знаком с процессом создания музыки или просто хочет поучаствовать в обсуждении возможности создания нового проекта, милости прошу https://t.me/+wIhtV0YTs2thOTVi
AM
20:43
Alexander Mamaev
In reply to this message
Ты бы помимо математики ещё бы читать научился
20:43
Прямо по твоей же ссылке
AT
21:30
Akaki Tkemaladze
всем привет
c
23:24
cryshado
Если op 0 а дальше query_id, а дальше комент эксплореры смогут комент отобразить?
23:25
видимо нет
D
23:55
Denis
In reply to this message
ты точно вводишь адрес кошелька в тестнете?
23:56
попробуй здесь создать кошелек https://wallet.ton.org/?testnet=true
25 January 2022
?️
00:01
𝐴𝑅𝐸𝐹 𝑆𝑆 ️
just ru?
AM
00:03
Alexander Mamaev
In reply to this message
No, you may ask in English
?️
00:06
𝐴𝑅𝐸𝐹 𝑆𝑆 ️
In reply to this message
Can i be developed with solidity in Ton coin?
c
00:08
cryshado
In reply to this message
Yes(no), that is, you can use solidity - TVM compiler, but it is not necessary(and not recommended, because solidity generates a large byte code). TON has its own set of languages, such as fift (to develop contract queries and testing) and FunC (to develop smc)
AM
00:09
Alexander Mamaev
In reply to this message
Basically funC and FIFT used for development for the TON blockchain. Their compiled into fift assembly for the TON VM.
I know that guys from FreeTON (another TON based blockchain) created compiler from solidity to FIFT assembly via LLVM but I not Shure that that’s assembly compatible with this blockchain now
D
00:11
Denis
In reply to this message
Кидай кошелек, если для тестов нужно 10-20, то легко я или кто ещё из чата насыпет
?️
00:14
𝐴𝑅𝐸𝐹 𝑆𝑆 ️
In reply to this message
🙏
00:15
In reply to this message
fift base made by tonTeam itself?
AM
00:16
Alexander Mamaev
In reply to this message
Yeah, that’s was developed by Nikolai Durov and Telegram team, now that’s supports by OpenSource community
c
00:16
cryshado
In reply to this message
There is doc from dr Nikolai Durov for fift
AM
00:17
Alexander Mamaev
In reply to this message
But fift may looks weirdly, like forth or clojure a little bit.
A lot of peoples prefer FunC - that’s C-like language
AM
00:19
Alexander Mamaev
In reply to this message
I think that’s the better way is read original fift paper to understand basics and use FunC for development, because the used same Virtual Machine - that’s means same asm-instructions
О
00:19
Омм
In reply to this message
@Ox1DA9438 как увеличить репутацию?
?️
00:19
𝐴𝑅𝐸𝐹 𝑆𝑆 ️
In reply to this message
it's interesting
m
00:19
mystery influence
In reply to this message
спасибо
AM
00:19
Alexander Mamaev
Плюс жамкнуть
c
00:19
cryshado
In reply to this message
написать \"+\" или тип того
О
00:20
Омм
На чье-то сообщение?
00:20
In reply to this message
+
00:20
Понял
AM
00:20
Alexander Mamaev
Да, реплаем
О
00:20
Омм
In reply to this message
+
AM
00:22
Alexander Mamaev
Такой вопрос, мы когда в фифте инициализируем слова. Стейт словаря сохраняется в блокчейне? Или он сбрасывается каждый раз при исполнении
00:48
Deleted Account
Добрый вечер, подскажите пожалуйста самый простой способ отправки транзакций через Python?

Или api есть какое-то для накрытия смарт контракта и взаимодействия через веб ?
AM
01:22
Alexander Mamaev
In reply to this message
С браузера можно слать через js с помощью tonweb
01:34
Deleted Account
In reply to this message
Ещё есть какие-то варианты? Не люблю js.
AM
01:35
Alexander Mamaev
Ну ты можешь через cli взаимодействовать с toncli/lite-client
P
01:35
Purple
In reply to this message
написать свой вариант взаимодействия с лайтклиентом
AM
01:35
Alexander Mamaev
Вызывать как subprocess
01:37
вот пример
01:37
нашел
AM
01:38
Alexander Mamaev
ну по факту все что tonweb делает, это общается по jsonrpc с https://toncenter.com/api/v2/jsonRPC
ты можешь подглядеть логику и написать тоже самое на питоне, либо такое уже кто-то сделал
01:39
это конечно куда менее безопасно и устойчиво, достаточно веб сервису лечь и твое взаимодействие с сетью окончено
01:39
liteclient по стабильнее будет
AH
02:16
Andrey Heisenberg
Привет всем ребят, у меня есть хорошая nft идея для итальянской аудитории. Кто-то может подсказать какую документацию посмотреть и почитать для реализации фронт-Бэк энда на тон сети?
AP
02:20
Andrew Python
In reply to this message
Вроде пока либ для питона нету
AM
02:20
Alexander Mamaev
In reply to this message
Все что есть https://ton.org/docs/#/
02:20
In reply to this message
Ну логика на жс простая и можно без особых сложностей написать тоже самое
SK
02:22
Steve Korshakov
Лол, ты уверен что хочешь делать велосипед для финансового приложения?
02:22
Только недавно важную багу обе либы пофиксили
AM
02:24
Alexander Mamaev
In reply to this message
Ну конкретно я этого делать не собирался, просто описал решения возможные.
AP
03:04
Andrew Python
In reply to this message
Поэтому я начал юзать js (после питона легко пошло) 😅
О
03:05
Омм
In reply to this message
Тоже сначала не хотел, а через два месяца # с // начал путать))
AH
04:07
Andrey Heisenberg
In reply to this message
Благодарю 🙏
c
04:18
cryshado
In reply to this message
На бекенде надо fift юзать, а на фронте js
04:18
И все, проблем нет никаких
04:20
Конечно передавать данные в фифт и забирать обратно кодом не удобно
04:20
In reply to this message
Написать бы что-то для легкого исполнения фифта из любого яп
AF
04:22
Anton F
Финансовые приложения в любом случае нужно хорошо тестировать и возможно даже верифицировать. Лично я предпочту велосипед джаваскрипту, так как с ним у меня вообще никакого опыта 🤷
c
05:39
cryshado
In reply to this message
Ну на фронте все равно жс юзать придется
H
10:37
Head In IT
Всем привет! Сейчас бурно появляются NFT на TON, это вообще как? Уже есть смарт контракт такой?
OO
11:14
Oleg Oskolsky
In reply to this message
Смарт-контакт называется @CryptoBot.
11:19
Deleted Account
In reply to this message
😂👍
준김
12:26
준석 김
Я хочу быть валидатором. Это моя ситуация. Это происходит до 0,03 Гб в день. Это нормально?

I want to be a validator. This is my situation. It occurs as much as 0.03 gb a day. Is this normal?
12:26
F
13:15
F
In reply to this message
As I understand it, this is the same problem that you wrote about earlier.
You can try to look at the logs of the node.
To do this, we will increase the logging level:
validator-console
setverbosity 2


And then let's see the logs:
tail -f /var/ton-work/log.thread*
준김
14:33
준석 김
In reply to this message
Thank you for your kindness.I can't understand very well, but I'll keep trying.
F
15:00
F
In reply to this message
image_2022-01-25_15-00-29.png
Not included, change data exporting settings to download.
71.6 KB
15:02
Deleted Account
Всем привет. Приглашаю желающих принять участие в обсуждении по поводу разработки музыкальной системы не имеющей аналогов. Предполагается использование сети TON и NFT-токенов. Продукт будет интересен и востребован как продюсерами и исполнителями, так и слушателями и фанатами. Монетизация предусмотрена без рекламы и продажи "уникально-ограниченных тиражей". Спойлер: так NFT ещё не используют! Давайте будем первыми!!!!

https://t.me/+vEhNftpdt4s2YTBi
준김
15:03
준석 김
In reply to this message
I keep saying thank you. It's going to be annoying... It is evening in Korea, so I will try again tomorrow.
F
15:03
F
In reply to this message
👍😊
AM
17:41
Alexander Mamaev
такой вопрос, контракт по сути должен иметь два метода recive_internal и recive_external которые будут вызываться VM

в примерах fift тот же recive_internal задается как константа с значением 0, что по факту означает это? Это ведь не адрес куда-то и не слово содержащее исполняемый код функции
17:42
0 constant recv_internal // to run recv_internal()
-1 constant recv_external // to invoke recv_external()



из примера кода тестирования контракта
17:44
Deleted Account
In reply to this message
это стандартные "айди" для этих методов

Каждый метод в tvm - это хэш в crc16 от его названия, но эти два метода зарезервированы
17:45
то есть в твм у тебя вызываются методы не по названию, а по их айди
17:45
In reply to this message
RD
17:45
Ruslan Dorofeev
нужно смотреть код
AM
17:45
Alexander Mamaev
то есть fift компилятор сам определяет по названию метода, что это recive_internal?
17:46
типа как main определяется как точка входа
RD
17:46
Ruslan Dorofeev
In reply to this message
нет там же АБИ
17:48
В контрактах нету точек входа они отдельно написаны как ABI
AM
17:48
Alexander Mamaev
а вот кем и в какой момент они задаются
RD
17:49
Ruslan Dorofeev
In reply to this message
Ну как JSON файл когда компилируется там он должен сгенерироваться компилятором по идеи
AM
17:51
Alexander Mamaev
Видимо стоит перечитать спецификацию VM может понятнее станет
17:52
Просто не понятно кто должен в какой-то момент интерпретировать 0 как указатель на функцию, а не как данные
RD
17:52
Ruslan Dorofeev
Да они даже для яваскрипта не написали доку все самому))
17:52
In reply to this message
++
AM
17:53
Alexander Mamaev
А причем тут js?
17:53
tomweb ж уже не телеграмовская поделка
A
17:54
Andrei
In reply to this message
Функции из FunC программы пронумерованы айдишниками и при компиляции фифт-ассембера записываются в мапу. Также фифт-ассемблер вставляет в начало кода обращение к этой мапе по верхнему элементу стека. Сам элемент кладется блокчейном, это в его спецификации сказано.

При этом может быть код и без мапы — например в кошельках 1-3 версии это так. Там верхний элемент вручную обрабатывается
17:55
recv_external можно не писать, обязана быть функция с id 0 (ну точнее не обязана, но фифт-ассемблер будет ругаться)
17:56
crc16 берется только для гет-методов, а обычные функции нумеруются, начиная с 1
17:56
inline и inline_ref не имеют номера, поэтому они и inline)
RD
17:56
Ruslan Dorofeev
на жс кстати более понятно куда же без жс смарт контракты писать
А
17:56
Андрей
In reply to this message
Спасибо!
AM
17:58
Alexander Mamaev
In reply to this message
то есть по факту “вызова функции” как таковой не происходит, просто кладется число на стек, а дальше программа сама должна определить что ей делать