Пост-контент
13 subscribers
10 photos
4 files
86 links
Про блокчейн с тз разработки. Больше всего про Substrate, Ethereum, Rust. Ссылки прилагаю.
Другие темы всплывают, но редко.

@mksem

Ава от @Spokoino
Download Telegram
Когда-то делал ораклы - нужна была возможность брать цены от разных источников и хранить медиану от них. Оракл по сути делал запросы, парсил ответы и записывал в чейн. Одна из бирж (возможно, кракен) отдавала символ битка как XBT, и я для них сделал просто отдельный if.
А оказывается, есть стандарт ISO-4217, и по нему токен не принадлежащий стране должен начинаться с X.
#stellar #soroban

Ох уж эти ваши no_std окружения и васмы. Ни тебе print, ни нормальных структур данных.
В соробане реализовали свой вектор - технологичный, классный, чтоб любая операция за logn. А для его конструирования нужно передавать env первым элементом, да. И вот в этом векторе есть встроенный binary_search, но нет сортировки🤷‍♂️
#stellar

Есть такой старый уже формат сериализации XDR, стеллар решила использовать его в качестве формата для своих данных. На случай, если кто-то говорит про перекладывание джсонов, можно аргументировать, что есть еще и другие форматы
Forwarded from Стой под стрелой (Nikita Prokopov)
Любой программист должен уметь менять обходить дерево, поднимать докер, мержить ветки, настраивать принтер, верстать с хуками, верстать без хуков, обучать модель, обновлять драйвера, дебажить сегфолт, линковать статически, линковать динамически, обновлять статус задач в джире, спрашивать почему, объяснять, почему за вчера ничего не сделал, настраивать CI, катить релизы, комментировать упавшие тесты, оценивать сложность задачи, открывать транзакцию, закрывать транзакцию, пинговать ya.ru, продлевать SSL-сертификат, включать VPN, искать лишнюю запятую в JSON-е, ждать компиляции, чинить звук в Линуксе, обновлять OAuth токены, удалять куки, проходить дизайн-интервью, иметь мягкие навыки, иметь жесткие навыки, дропать базу.

Специализация — удел насекомых.
#substrate

У нас было два чейна, десяток паллетов, 5 оффчейн воркеров, раст аналайзер, на 90% нагружающий процессор, и целое море обновлений от польки, а так же бухло в офисе, в баре, на ретро, пинта чистого Ethereum, и один ассет с нулевой ценой. Не то, чтобы всё это было категорически необходимо в разработке, но если уж начал собирать коллекцию, то к делу надо подходить серьёзно.
#stellar

Если bitcoin использует BASE58 для аккаунтов, ethereum берет хэш от публичного ключа и обрезает до последних 20 байт, то stellar иcпользует свою схему strkey, единую для публичного, приватного ключа, а также для всех подписанных данных, айди контрактов и прочих мультиплекс аккаунтов
https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0023.md

https://stellar.github.io/js-stellar-sdk/StrKey.html

https://github.com/stellar/rs-stellar-strkey
#stellar

Перед тем, как отправить транзакцию с вызовом метода в соробане, нужно получить footprint через механизм preflight. Footprint будет содержать все ключи стораджа, которые будут задействованы в этой транзакции. Preflight (в js sdk называется simulateTransaction) выполняет транзу, не записывая изменения в сторадж. Странное поведение, не так ли? А делается это для того, чтобы стелларовский/соробановский диспетчер транзакций мог понять, какие транзы можно исполнять параллельно, то бишь, не пересекаются по данным!
Сейчас во futurenet есть такая бага - preflight имеет ограничение в 40М инструкций, а непосредственно соробан 100М инструкций. Так что если твоя транза даже попадает под лимиты соробана - префлайт ее отсечет. А собирать руками префлайт дикий гемор. Обещают поправить в скором времени
#substrate

01.09.2023 все парачейны в Кусаме встали, из-за начавшегося диспута - это такой "протокол", с помощью которого валидаторы в польке решают, а че, нормальный ли был блок, который мы уже включили в цепочку. Так получилось, что включенный ненормальный блок был уже финализирован, поэтому, после того, как диспут решил его убрать из истории, включился такой типа шатдаун - все блоки во всех парачейнах остановились, выключить этот режим можно только через голосование, которое в тот же день и произошло, к концу дня блоки пошли.
А вот тут фикс баги, которая привела к диспуту
#stellar #soroban

Для ясности - стеллар это блокчейн, соробан - платформа, которая встраивается в чейн.

stellar-core - p2p нода, отвечающая за прием транзакций, формирование блоков и их отправку/прием (блоки у стеллара называются ledger), написана на cpp

rs-soroban-env - соробан-хост, встраиваемый в ноду, отвечает за исполнение контрактов и включение их в транзакции, написан на rust. Нода вызывает хост через FFI, хост создает васм инстанс и вызывает метод контракта

rs-soroban-sdk - для создания контрактов, rust билдится в wasm
#eth #defi
Среди репозиториев балансера есть один с оффчейн роутингом - "an off-chain linear optimization of routing orders across pools for best price execution".
А для решения задач линейного программирования оказывается есть целая утилита lp_solve, ей на вход даешь текстовый файлик с уравнениями, а она на выход решение, пример.
Давно ничего сюда не писал, не потому что нечего, а потому, что впадлу много всякого, не сразу понимаешь, что стоит поста, а что нет.

Напишу кратко, без ссылок, типа бриф:

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

Просматривая пропоузалы инча наткнулся на забавный пропоузал NFT маркета, коряво написанный и анонсирующий сотрудничество с инчом. В комментарии набежали держатели токенов и аж кофаундеры, указали на дублирование с другим, менее корявым пропоузалом, сказали, что никакого такого сотрудничества нет, и вообще текст нейронкой написан, айяйяй.

Юнисвап в4 теперь моноконтракт, все свапы считаются внутри, в конце надо дернуть ввод/вывод по результатам расчета. Если в конце транзакции дельта не нулевая, то все упадет. Планируется для дельты использовать как раз временный сторадж из первого абзаца.

Есть такой трейдер джо, первая версия это копия юнисвап в2, а версии 2 и 2.1 это тщательно переписанный юнисвап в3 с небольшими отклонениями, в частности, чуть по-другом считаются тики, у них они называются бинами (bin).

Арбитрум раздал ARB работающим проектам в арбитруме, чтобы те в свою очередь раздали их другим через всякие активности и интеграции, называется эта инициатива STIP. Прикольно, неуверен, есть ли примеры такого "фандинга" в других сетях.

В польке 24.10.2023 случится анлок дотов из первого краудлоана, а первые парачейны должны будут либо арендовать новый слот, либо уйти в небытие.
Также полька тестирует асинк бэкинг в рококо (так тестнет называется) скоро-скоро обещают кусаму, затем польку. Говорили, что парачейнам ничего отдельно делать не надо, но это ложь - как минимум, нужно обновится до актуальной версии, я уже это сделал в виде драфта - до состояния компиляции, и это боль. Впрочем, как всегда.
🔥1
Одна из фич юнисвап в4 - хуки на действия с пулом (свап, депозит, вывод). Забавно, что в балансере уже примерно как год есть хуки, да и токены они все тоже хранят в одном vault-контракте, как и новый юнисвап.
Да, Брайан, это то, чем мы все занимаемся, но тем не менее, спасибо тебе за chopstick, без него было бы хуже

https://twitter.com/XiliangChen/status/1722546359071609103
Долго ли, коротко ли - кажется весь дефай так или иначе напарывается на уязвимости, чем меньше проект, тем как будто выше вероятность напороться. Уже вроде и статьи есть с типикал уязвимостями, на что внимание обратить, и вроде насмотренность есть, и аудиты заказывают - и все равно напарываются.
Вот, например, еще одна - округление. Иногда, например если у вас лендинг протокол, правильно округлять не просто в меньшую сторону, а по-разному в разных местах - в меньшую при deposit и в большую при borrow (речь от минте LP токена). Казалось бы такая мелочь, да вот жеж нет. При стечении обстоятельств: стоимости актива и стоимости транзакции, атакующий будет в плюсе.

https://neodyme.io/blog/lending_disclosure/

А пост появился потому, что один из активных участников дискорда Стеллара указал мне нам команде Slender, на такую уязвимость и что бы вы думали - да, можно было брать в долг маленькими кусочками бесплатно! Уже пофиксил, скоро залью в девелоп.
Ситуация подтверждает - базовые уязвимости, связанные с математикой, надо проверять максимально тщательно.
Forwarded from Евгений
простите
Forwarded from Дневник
созвон с александром намом (сбер, блокчейн лаба)
https://www.youtube.com/watch?v=314WngbTcms
- лаба с 2018 года
- в лабе ~30 человек, половина тех разрабы
- изучение тех протоколов, рыночных и продуктовых трендов
- цель - быть лидерами в предоставлении продуктов и сервисов
- совет для попадания в лабу - нетворк, если есть вакансия, то с большей охотой берут из известных знакомых компаний
- на fabric - ЦФА, родом из лабы
- в роадмапе - Сбер дефай (когда сбер найдет в дефае себе место) 2024-2025-2026
- регуляторика роляет (не барьер, а челлендж)
- изучают, как совместить дефай с регулируемыми фин институтами
- идут от клиента (адопшн дефай)
- следующий этап в роадмапе - веб3
- итого, основные точки отработки: ЦФА, дефай адопшн, веб3
- выпуск крипты банками на новом уровне уже по сравнению с год назад (ЦФА, токенизированные депозиты, стейблы от банков)
- взаимодейтсвие с комунити сильно отличается от корпоративных финансов и это понимание есть у лабы
- в лабе есть человек, который отвечает за стартап
- у сбера есть возможности для стартапов - инкубатор, пилоты, сам сбер как заказчик,
- в лабе сейчас нужны криптографы (кек), традиционно разработчики (хм?), и люди, которые простым языком могут объяснить бизнесу про блокчейн и дефай протоколы - эксперт по технологиям и фин рынку
- аналог Dune Analitics под сибериум интересен (но зачем?)
- хакатон в 2024 году на этапе обсуждения
- в стеке java, evm, solidity
- чтобы была регуляторика, нужно, чтобы были иноваторы
- если кто-то сделает блокексплорер в рф, которым можно будет пользоваться дешевле, чем etherscan - им будут пользоваться
- в индустрии не хватает предпринимателей (готовые к легализации в блокчейне)
- если рынок будет расти - то будут набирать людей в разработку
❤1🔥1
В описании заявлено, что могут всплывать другие темы, вот они и всплывают
Если позориться, до конца

А че это, Open API у нас теперь отдельный язык, specification first? Вы с дуба рухнули?

Мне надо сделать просто красивую страничку для фронтов, желательно чтобы само все сгенерилось, и тут я читаю на SO толпу душнил, что так нельзя, я (ну не я, топикстартер с таким же вопросом) не прав, иди пиши ямлы и только потом, если ты хорошо продумал API можешь приступать к коду.

Ага, может мне еще разрешения спросить? Ой, а можно мне теперь написать код, чтобы было что показать заказчику?

Мне нужна дока, а не вот это вот все, у меня уже все работает.

Уууу, рычу и двигаю тазом бесит!

А вы что думаете о данном факте?
❤1🔥1
Ну что, почти два месяца, с околонулевым знанием cosmos-sdk и golang и таки evm в космос чейне с depinject заработал!

Крутость в том, что никто этого еще не делал, с чем я себя и поздравляю. Возможно мое решение даже сами evmOS и возьмут на вооружение.

Подменить типы не удалось, пришлось патчить в cosmos-sdk начальную инициализацию контейнера депинжекта, в которой типы для подписей прибиты гвоздями. Добавил всего-то два аргумента с кастомными регистрациями и все полетело.