Получи случайную криптовалюту за регистрацию!

| Пост-arb-ктум, или как это было [Part 1] Ну что-ж, клейм ар | tern.crypto 🦫>🐹

| Пост-arb-ктум, или как это было [Part 1]

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

• Подготовка

* Изначально, увидев клейм, я начал ждать контракт/данные по клейма. Уже спустя день после анонса, арбитрум опубликовал у себя в доках все контракты и детали. Мне очень понравился их подход, намного приятнее когда проект показывает все заранее, а не дропает сайт клейма в последнюю секунду.

* Я пошел писать софт, который бы делал клейм. Заодно решил попробовать сделать все это на новом для себя языке — Go.
В целом должен был получится мелкий скрипт, который просто делает одну транзу, банальные 50 строчек.

* Но потом я понял, что в целом можно дропнуть софт и в паблик.
Встал вопрос — как брать свой %, так чтобы не делать все переводы на один адрес?
Пришлось сделать также и БД с сервером. Когда клиент запускал бота, слался запрос на получение кошельков для комиссии.

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

— В целом, под конец — было прикольно. Первый проект на новом языке, но уже задействовал бекенд/бд/web3.

* Также мы сразу же пошли поднимать свои ноды, т.к. понимали что скорее всего на старт клейма — все паблик ноды упадут от такой нагрузки.
У нас уже была одна нода для плюса, мы подняли еще 2. По моей логике такого количества должно было спокойно хватить, чтобы быстро обработать все аккаунты.

• Организация
После того как закончил с софтом и со всеми его тестами предстояло оформление материалов.

* Написание статьи в teletype и ее перевод на eng-аудиторию
(Да, мы работали также и с зарубежной аудиторией)

* Создание отдельного канала, чата, добавление туда операторов/помощников.

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

* Суммарно за ~3 дня перед клеймом мне отписало > 1,000 человек, с вопросами — что такое газ, как аккаунты оформить.
Мои операторы/помощники ох*ели всего за 1 день, я же терпел весь этот кринж на протяжении недели.
В общем, я в очередной раз вспомнил насколько люди неприятные существа и как им пох*й на тебя и твое время.
Причем это не зависит от человека и его достижений. Даже люди, с которыми мы работали уже много раз — ничего не читали и спрашивали все в лс.

• Старт клейма
Ладно, хватит нытья — давайте разберем то ради чего все это готовилось.

* Все начало лагать еще за 10 минут до старта — от сканера до паблик нод. В целом ожидаемая история, мне было без разницы, ведь я поднял свои ноды.

* Софт изначально был заточен только под многопоток, и отправлял сразу все аккаунты в одно время. Я проводил тесты в тестнете/мейннете — 400 аккаунтов отправлялось за считанные секунды. Все гуд!

* Но вот начался сам клейм. Мне сыпит одни ошибки, выдает рейтлимит на запросы и ошибки связанные с секвенсером.
В целом я решил не придавать этому значения сразу. Подумал что нагрузка реально слишком большая и аккаунты будут проходить понемногу.

* Но примерно через 10 минут, я понял что же на самом деле было не так.