Blockchain Development
👁 480💬 11
Если вы меня спросите, что значит работать с блокчейном, я отвечу: “Тоже самое что копаться в дерьме”.
Самая частая задача на backend в блокчейн разработке это парсинг данных, парсинг транзакций и парсинг, парсинг, парсинг … тысячу раз парсинг.
Как можно представить блокчейн?
Более наглядная альтернатива это “децентрализованные логи.” Представьте, что все ваши действия записываются в хронологическом порядке и вся эта информация хранится у тысячи других участников сети. А вот боль заключается в том, что записывается это все не в каком-то красивом табличном виде как в базе данных, а просто текстом. Как логи NGINX. И чтобы выявить сколько сейчас на балансе моего кошелька, надо поднять всю историю транзакций и сложить “дебет с кредитом”. И вам повезет, если вашему кошельку всего пару лет, но если ему 5 или даже 10 лет, то время такого парсинга улетит в бесконечность, может через пару часов что-то получится получить.
Поэтому в блокчейне одним из самых ценных направлений является индексация данных. Это приведение текстового формата в удобный и проиндексированный табличный вид.
И именно поэтому такие конторы выставляют дикие ценники корпоративным клиентам для работы с этими данными. Вот например по прошлому подсчету на 10000 активных пользователей в месяц нам выставили счет в ~$5000/месяц. Это для работы с 6 сетями.
И если вдруг кому-то кажется что свои ноды поддерживать выгоднее, и да и нет, потому что это обойдется примерно по тому же ценнику на одного DevOps инженера (от $3000 - $6000).
Так вот про “копаться в дерьме”. Ведь просто спарсить транзакции недостаточно чтобы понять сколько же на балансе токенов, потому что в блокчейне очень много спама! На столько много, что даже DDOS аттака на NGINX сервер записывает меньше логов. “Шучу конечно”. Но тем не менее чтобы определить тип транзакции в вашем Метамаск кошельке потребовалось также определить какие-то признаки, что вы провели эту транзакцию либо через какой-то Dex либо какой-то bridge, а может просто выполнили функцию на своем смарт-контракте. Это все требует большой работы с данными.
Ну и опять же, вишенкой на торте является, то что надо как-то ваш портфель оценивать, а для этого нужно брать откуда-то цены, а это, своего рода, дополнительно требует данных о ценах из какого-то сервиса. Вот и получается, что элементарные удобства в криптовалютном кошельке, к которым мы уже так привыкли, под капотом имеют огромную логику по работе с данными.
Обсуждаем тут: @kyb_chat
Подписываемся тут: @knowyourbackend
1031
Кирилл Гаврилов
Подписаться