Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
- Telegram Web
Telegram Web
0xChillout
Статья с разбором кода не заставила себя долго ждать, расписал всё максимально подробно, за качество кода не отвечаю Вообще, работа программы простая: Есть задача, сверить два списка кошельков, наши, и те, которые попали в вайтлист (скажем, глим) Иногда эти…
Забыл упомянуть, что в коде используются не массивы, а сегменты. Хотя как по мне, вернее будет перевести слово slices как срезы, так вот, их главное отличие от массивов в том, что массив имеет фиксированный размер, в то же время срез представляет из себя расширенную реализацию массива, поскольку в срезе размер не фиксирован, а динамичен.

Хочешь добавить в контейнер определенное N количество элементов, ни элементом больше?
Массив — твой кандидат

А что, если в какой-то момент понадобится добавить N+1-ый элемент?
В таком случае, Нео, выбирай красную таблетку срез

more info:
https://habr.com/ru/company/otus/blog/465613/
https://www.digitalocean.com/community/tutorials/understanding-arrays-and-slices-in-go-ru
Занимаясь очередной, казалось бы, "прибыльной темкой", не забывай, что ты в том числе и флипаешь своё время.
Мой приятель, который не шарит за крипту, поступил в ШАД, а я получил дроп с тестнета юми на почти что 500 аккаунтов.
Только вот ценность знаний, как по мне, куда выше

Ну и кто здесь потратил это время не зря лузер?
А я в свою очередь продолжаю флипать своё время на какую-то херню.

После дропа токенов, появилась необходимость в ежедневной отправке токенов на продажу, поскольку восьмимесячный вестинг (то бишь, награда дробно приходит по 0.4% в день) и моя жадность не оставляют другого выбора, фантики я держать не хочу. Руками это делать разумеется не вариант, поэтому я быстро накидал скрипт на зенопостере, но спустя время понял что это всё же менее удобно, ежели отправлять одним нажатием клавиши с помощью кода. И что же вы думали?

Перво-наперво, я полез смотреть, на чём вообще можно написать подобное, целый день провозился с пониманием работы cosmpy, попутно нашёл прикольную тулзу со списком RPC нод под космос, и даже совершил свою первую транзакцию, но почему-то, с аккаунтов у которых есть вестинг, нельзя совершать транзакции, даже если доступных средств на аккаунте более чем достаточно. Прошерстил всё что только можно и нельзя, нигде не нашел ничего, что могло бы помочь, стал стучаться в дискорд, оставил заявку, и вот уже с неделю жду ответа. Пока глухо
С golang ситуация вышла ещё тупее, несмотря на то что cosmos-sdk первоначально написан на го, и у них даже есть своя платформа-академия, а также довольно подробная документация, активность коммьюнити оставляет желать лучшего. Проект с многомиллиардной капитализацией не может пофиксить баг с заменой библиотеки (protobuf/grpc) которая используется в любой транзакции (я даже кошелек не смог создать). Люди ждут ответов месяцами (и это только одна ветка), ну и я, спустя три дня и три ночи, тоже решил капитулировать.

Остался ещё cosmjs, по словам нескольких моих знакомых уж он-то точно должен работать исправно
Так ли оно? Узнаем в следующей серии
А вот и лето подошло к концу, надеюсь вы довольны своими результатами за прошедшие три месяца. Лично для меня это было первое лето, которое я могу с гордостью назвать не просранным зазря, хоть и продуктивность была далека от идеала

Но отойдём от лирики, ведь у нас на повестке дня третья часть моей борьбы с космосом, и, сразу вам заспойлерю, она заключительная.

CosmJS оказался для меня вызовом, поскольку я ни бум-бум в джаваскрипте, однако, спустя несколько дней, опираясь на шикарную документацию по cosmjs, я всё же что-то слепил. В самой доке всё предельно понятно, но небольшой перерыв дал о себе знать, войти в ритм оказалось непросто. Я слабо понимаю что происходит на уровне кода, поскольку я просто копипастил работающие куски, но всё же код работает, я доволен. (Асинхронность это конечно та ещё дичь, чёрт ногу сломит в коде)

Алгоритм скрипта достаточно тривиален:
1. Поочередно берём сид фразу из текстового файла
2. Преобразуем её в адрес кошелька посредством функции fromMnemonic()
3. Узнаём доступное нам количество монет без вестинга с помощью апи Umee explorers guru, вставив адрес кошелька в URL
4. Создаём сигнатуру с помощью приватного ключа, достанного из мнемоники
5. Указываем количество монет из пункта 3, и подтверждаем транзакцию с помощью сигнатуры
...И зацикливаем работу скрипта, пока он не отработает {количество кошельков} раз
Прилагаю скрин с результатом работы скрипта, сам код показывать полностью не буду (по-сути, всё что я добавил это цикл, считывание сид фраз из файла, и парсинг доступного баланса с сайта)

Хоть и скрипт предельно простой, его разработка затянулась на целых две недели, я попробовал три библиотеки на трёх разных языках, и js оказался тем самым языком, на котором всё наконец-то заработало. Это был интересный опыт. Есть ещё фича, которую я бы хотел внедрить в скрипт (стейкинг залоченных монет), но об этом как-нибудь потом

Пытался успеть написать статью до конца лета, и мне это удалось, ухожу на заслуженный отдых
Скоро увидимся в следующем отчётном посте, продолжаю изучать голанг
Глянул на досуге курс по питону, и чел действительно хорошо (порой даже слишком, можно и на 1.5х слушать) объясняет азы программирования на криптанский манер (рофлы про криптонарнию в практических занятиях прилагаются), при этом даёт много практики, ну а последний урок это вообще кладезь знаний для новичка, который в большинстве курсов утопает в теории, не зная что с ней делать, тут же даётся практическое применение знаниям (написание парсера сайта) и понимание куда двигаться дальше, что тоже немаловажно.

Может, кому будет полезно, если не знает с чего начать, вполне хороший вариант. И да, всё абсолютно бесплатно (за что ему отдельное спасибо)
Без лишних предисловий, чем я занимался на протяжении последней недели. Если кто не помнит, то в последнем вышедшем посте я упоминал курс по питону, и в конце этого курса было практическое задание: сделать простенький парсер.

Всем кому интересно разобраться в азах парсинга вместе со мной, прошу проследовать под кат!
Хотелось бы сказать, что я свалил "в отпуск" на Мальдивы, и сейчас сижу в жезлонге потягивая какой-нибудь охлаждающий напиток, но нет. Долго болел и ещё дольше оправлялся, затем рект на bXEN, тильт, работа над ошибками, разгребание универа, восстановление режима, и вот я вновь возвращаюсь в рабочий ритм. Не болейте чуваки, тепло одевайтесь шапку надел?

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

Интересно? Ну тогда погнали разбираться
0xChillout pinned «Ставь лайк если ничего не понял и просто ждёшь кнопки бабло, которой, к слову, не будет»
Сорян ребята, как оказалось, медийность это не моё. План жизни я выполнил, хочется как следует отдохнуть
Channel name was changed to «0xChillout»
2024/11/14 03:26:18
Back to Top
HTML Embed Code: