Forwarded from Стой под стрелой (Nikita Prokopov)
Любой программист должен уметь менять обходить дерево, поднимать докер, мержить ветки, настраивать принтер, верстать с хуками, верстать без хуков, обучать модель, обновлять драйвера, дебажить сегфолт, линковать статически, линковать динамически, обновлять статус задач в джире, спрашивать почему, объяснять, почему за вчера ничего не сделал, настраивать CI, катить релизы, комментировать упавшие тесты, оценивать сложность задачи, открывать транзакцию, закрывать транзакцию, пинговать ya.ru, продлевать SSL-сертификат, включать VPN, искать лишнюю запятую в JSON-е, ждать компиляции, чинить звук в Линуксе, обновлять OAuth токены, удалять куки, проходить дизайн-интервью, иметь мягкие навыки, иметь жесткие навыки, дропать базу.
Специализация — удел насекомых.
Специализация — удел насекомых.
#substrate
У нас было два чейна, десяток паллетов, 5 оффчейн воркеров, раст аналайзер, на 90% нагружающий процессор, и целое море обновлений от польки, а так же бухло в офисе, в баре, на ретро, пинта чистого Ethereum, и один ассет с нулевой ценой. Не то, чтобы всё это было категорически необходимо в разработке, но если уж начал собирать коллекцию, то к делу надо подходить серьёзно.
У нас было два чейна, десяток паллетов, 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
Если 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
GitHub
stellar-protocol/ecosystem/sep-0023.md at master · stellar/stellar-protocol
Developer discussion about possible changes to the protocol. - stellar/stellar-protocol
#stellar
Перед тем, как отправить транзакцию с вызовом метода в соробане, нужно получить footprint через механизм preflight. Footprint будет содержать все ключи стораджа, которые будут задействованы в этой транзакции. Preflight (в js sdk называется simulateTransaction) выполняет транзу, не записывая изменения в сторадж. Странное поведение, не так ли? А делается это для того, чтобы стелларовский/соробановский диспетчер транзакций мог понять, какие транзы можно исполнять параллельно, то бишь, не пересекаются по данным!
Сейчас во futurenet есть такая бага - preflight имеет ограничение в 40М инструкций, а непосредственно соробан 100М инструкций. Так что если твоя транза даже попадает под лимиты соробана - префлайт ее отсечет. А собирать руками префлайт дикий гемор. Обещают поправить в скором времени
Перед тем, как отправить транзакцию с вызовом метода в соробане, нужно получить footprint через механизм preflight. Footprint будет содержать все ключи стораджа, которые будут задействованы в этой транзакции. Preflight (в js sdk называется simulateTransaction) выполняет транзу, не записывая изменения в сторадж. Странное поведение, не так ли? А делается это для того, чтобы стелларовский/соробановский диспетчер транзакций мог понять, какие транзы можно исполнять параллельно, то бишь, не пересекаются по данным!
Сейчас во futurenet есть такая бага - preflight имеет ограничение в 40М инструкций, а непосредственно соробан 100М инструкций. Так что если твоя транза даже попадает под лимиты соробана - префлайт ее отсечет. А собирать руками префлайт дикий гемор. Обещают поправить в скором времени
#substrate
01.09.2023 все парачейны в Кусаме встали, из-за начавшегося диспута - это такой "протокол", с помощью которого валидаторы в польке решают, а че, нормальный ли был блок, который мы уже включили в цепочку. Так получилось, что включенный ненормальный блок был уже финализирован, поэтому, после того, как диспут решил его убрать из истории, включился такой типа шатдаун - все блоки во всех парачейнах остановились, выключить этот режим можно только через голосование, которое в тот же день и произошло, к концу дня блоки пошли.
А вот тут фикс баги, которая привела к диспуту
01.09.2023 все парачейны в Кусаме встали, из-за начавшегося диспута - это такой "протокол", с помощью которого валидаторы в польке решают, а че, нормальный ли был блок, который мы уже включили в цепочку. Так получилось, что включенный ненормальный блок был уже финализирован, поэтому, после того, как диспут решил его убрать из истории, включился такой типа шатдаун - все блоки во всех парачейнах остановились, выключить этот режим можно только через голосование, которое в тот же день и произошло, к концу дня блоки пошли.
А вот тут фикс баги, которая привела к диспуту
GitHub
Fix wrong ref counting by eskimor · Pull Request #1358 · paritytech/polkadot-sdk
in case of multiple inserts at same height.
More tests and sanity checking coming, but this is definitely wrong and also very likely the culprit we saw on Kusama.
More tests and sanity checking coming, but this is definitely wrong and also very likely the culprit we saw on Kusama.
#stellar #soroban
Для ясности - стеллар это блокчейн, соробан - платформа, которая встраивается в чейн.
stellar-core - p2p нода, отвечающая за прием транзакций, формирование блоков и их отправку/прием (блоки у стеллара называются ledger), написана на cpp
rs-soroban-env - соробан-хост, встраиваемый в ноду, отвечает за исполнение контрактов и включение их в транзакции, написан на rust. Нода вызывает хост через FFI, хост создает васм инстанс и вызывает метод контракта
rs-soroban-sdk - для создания контрактов, rust билдится в wasm
Для ясности - стеллар это блокчейн, соробан - платформа, которая встраивается в чейн.
stellar-core - p2p нода, отвечающая за прием транзакций, формирование блоков и их отправку/прием (блоки у стеллара называются ledger), написана на cpp
rs-soroban-env - соробан-хост, встраиваемый в ноду, отвечает за исполнение контрактов и включение их в транзакции, написан на rust. Нода вызывает хост через FFI, хост создает васм инстанс и вызывает метод контракта
rs-soroban-sdk - для создания контрактов, rust билдится в wasm
GitHub
GitHub - stellar/stellar-core: Reference implementation for the peer-to-peer agent that manages the Stellar network.
Reference implementation for the peer-to-peer agent that manages the Stellar network. - stellar/stellar-core
#eth #defi
Среди репозиториев балансера есть один с оффчейн роутингом - "an off-chain linear optimization of routing orders across pools for best price execution".
А для решения задач линейного программирования оказывается есть целая утилита lp_solve, ей на вход даешь текстовый файлик с уравнениями, а она на выход решение, пример.
Среди репозиториев балансера есть один с оффчейн роутингом - "an off-chain linear optimization of routing orders across pools for best price execution".
А для решения задач линейного программирования оказывается есть целая утилита lp_solve, ей на вход даешь текстовый файлик с уравнениями, а она на выход решение, пример.
GitHub
GitHub - balancer/balancer-v2-monorepo: Balancer V2 Monorepo
Balancer V2 Monorepo. Contribute to balancer/balancer-v2-monorepo development by creating an account on GitHub.
Давно ничего сюда не писал, не потому что нечего, а потому, что впадлу много всякого, не сразу понимаешь, что стоит поста, а что нет.
Напишу кратко, без ссылок, типа бриф:
Соробан ввел, а потом еще раз ввел время жизни стораджа, да причем еще и по типам - разные протухают по разному. Про это были обсуждения в эфире и вроде как в следующем обновлении добавят дешевый сторадж, который будет жить только во время транзакции.
Просматривая пропоузалы инча наткнулся на забавный пропоузал NFT маркета, коряво написанный и анонсирующий сотрудничество с инчом. В комментарии набежали держатели токенов и аж кофаундеры, указали на дублирование с другим, менее корявым пропоузалом, сказали, что никакого такого сотрудничества нет, и вообще текст нейронкой написан, айяйяй.
Юнисвап в4 теперь моноконтракт, все свапы считаются внутри, в конце надо дернуть ввод/вывод по результатам расчета. Если в конце транзакции дельта не нулевая, то все упадет. Планируется для дельты использовать как раз временный сторадж из первого абзаца.
Есть такой трейдер джо, первая версия это копия юнисвап в2, а версии 2 и 2.1 это тщательно переписанный юнисвап в3 с небольшими отклонениями, в частности, чуть по-другом считаются тики, у них они называются бинами (bin).
Арбитрум раздал ARB работающим проектам в арбитруме, чтобы те в свою очередь раздали их другим через всякие активности и интеграции, называется эта инициатива STIP. Прикольно, неуверен, есть ли примеры такого "фандинга" в других сетях.
В польке 24.10.2023 случится анлок дотов из первого краудлоана, а первые парачейны должны будут либо арендовать новый слот, либо уйти в небытие.
Также полька тестирует асинк бэкинг в рококо (так тестнет называется) скоро-скоро обещают кусаму, затем польку. Говорили, что парачейнам ничего отдельно делать не надо, но это ложь - как минимум, нужно обновится до актуальной версии, я уже это сделал в виде драфта - до состояния компиляции, и это боль. Впрочем, как всегда.
Напишу кратко, без ссылок, типа бриф:
Соробан ввел, а потом еще раз ввел время жизни стораджа, да причем еще и по типам - разные протухают по разному. Про это были обсуждения в эфире и вроде как в следующем обновлении добавят дешевый сторадж, который будет жить только во время транзакции.
Просматривая пропоузалы инча наткнулся на забавный пропоузал NFT маркета, коряво написанный и анонсирующий сотрудничество с инчом. В комментарии набежали держатели токенов и аж кофаундеры, указали на дублирование с другим, менее корявым пропоузалом, сказали, что никакого такого сотрудничества нет, и вообще текст нейронкой написан, айяйяй.
Юнисвап в4 теперь моноконтракт, все свапы считаются внутри, в конце надо дернуть ввод/вывод по результатам расчета. Если в конце транзакции дельта не нулевая, то все упадет. Планируется для дельты использовать как раз временный сторадж из первого абзаца.
Есть такой трейдер джо, первая версия это копия юнисвап в2, а версии 2 и 2.1 это тщательно переписанный юнисвап в3 с небольшими отклонениями, в частности, чуть по-другом считаются тики, у них они называются бинами (bin).
Арбитрум раздал ARB работающим проектам в арбитруме, чтобы те в свою очередь раздали их другим через всякие активности и интеграции, называется эта инициатива STIP. Прикольно, неуверен, есть ли примеры такого "фандинга" в других сетях.
В польке 24.10.2023 случится анлок дотов из первого краудлоана, а первые парачейны должны будут либо арендовать новый слот, либо уйти в небытие.
Также полька тестирует асинк бэкинг в рококо (так тестнет называется) скоро-скоро обещают кусаму, затем польку. Говорили, что парачейнам ничего отдельно делать не надо, но это ложь - как минимум, нужно обновится до актуальной версии, я уже это сделал в виде драфта - до состояния компиляции, и это боль. Впрочем, как всегда.
🔥1
Одна из фич юнисвап в4 - хуки на действия с пулом (свап, депозит, вывод). Забавно, что в балансере уже примерно как год есть хуки, да и токены они все тоже хранят в одном vault-контракте, как и новый юнисвап.
GitHub
balancer-v2-monorepo/pkg/pool-utils/contracts/NewBasePool.sol at feb7f599b27bdb4dcb4154bb828eb2886274ce8a · balancer/balancer-v2…
Balancer V2 Monorepo. Contribute to balancer/balancer-v2-monorepo development by creating an account on GitHub.
Да, Брайан, это то, чем мы все занимаемся, но тем не менее, спасибо тебе за chopstick, без него было бы хуже
https://twitter.com/XiliangChen/status/1722546359071609103
https://twitter.com/XiliangChen/status/1722546359071609103
GitHub
GitHub - AcalaNetwork/chopsticks: Create parallel reality of your Substrate network.
Create parallel reality of your Substrate network. - AcalaNetwork/chopsticks
Долго ли, коротко ли - кажется весь дефай так или иначе напарывается на уязвимости, чем меньше проект, тем как будто выше вероятность напороться. Уже вроде и статьи есть с типикал уязвимостями, на что внимание обратить, и вроде насмотренность есть, и аудиты заказывают - и все равно напарываются.
Вот, например, еще одна - округление. Иногда, например если у вас лендинг протокол, правильно округлять не просто в меньшую сторону, а по-разному в разных местах - в меньшую при deposit и в большую при borrow (речь от минте LP токена). Казалось бы такая мелочь, да вот жеж нет. При стечении обстоятельств: стоимости актива и стоимости транзакции, атакующий будет в плюсе.
https://neodyme.io/blog/lending_disclosure/
А пост появился потому, что один из активных участников дискорда Стеллара указалмне нам команде Slender, на такую уязвимость и что бы вы думали - да, можно было брать в долг маленькими кусочками бесплатно! Уже пофиксил, скоро залью в девелоп.
Ситуация подтверждает - базовые уязвимости, связанные с математикой, надо проверять максимально тщательно.
Вот, например, еще одна - округление. Иногда, например если у вас лендинг протокол, правильно округлять не просто в меньшую сторону, а по-разному в разных местах - в меньшую при deposit и в большую при borrow (речь от минте LP токена). Казалось бы такая мелочь, да вот жеж нет. При стечении обстоятельств: стоимости актива и стоимости транзакции, атакующий будет в плюсе.
https://neodyme.io/blog/lending_disclosure/
А пост появился потому, что один из активных участников дискорда Стеллара указал
Ситуация подтверждает - базовые уязвимости, связанные с математикой, надо проверять максимально тщательно.
neodyme.io
How to Become a Millionaire, 0.000001 BTC at a Time
We recently discovered a critical bug in the token-lending contract of the Solana Program Library (SPL). This blog post details our journey from discovery, through exploitation and coordinated disclosure, and finally the fix. The total TVL at risk was about…
Forwarded from Дневник
созвон с александром намом (сбер, блокчейн лаба)
https://www.youtube.com/watch?v=314WngbTcms
- лаба с 2018 года
- в лабе ~30 человек, половина тех разрабы
- изучение тех протоколов, рыночных и продуктовых трендов
- цель - быть лидерами в предоставлении продуктов и сервисов
- совет для попадания в лабу - нетворк, если есть вакансия, то с большей охотой берут из известных знакомых компаний
- на fabric - ЦФА, родом из лабы
- в роадмапе - Сбер дефай (когда сбер найдет в дефае себе место) 2024-2025-2026
- регуляторика роляет (не барьер, а челлендж)
- изучают, как совместить дефай с регулируемыми фин институтами
- идут от клиента (адопшн дефай)
- следующий этап в роадмапе - веб3
- итого, основные точки отработки: ЦФА, дефай адопшн, веб3
- выпуск крипты банками на новом уровне уже по сравнению с год назад (ЦФА, токенизированные депозиты, стейблы от банков)
- взаимодейтсвие с комунити сильно отличается от корпоративных финансов и это понимание есть у лабы
- в лабе есть человек, который отвечает за стартап
- у сбера есть возможности для стартапов - инкубатор, пилоты, сам сбер как заказчик,
- в лабе сейчас нужны криптографы (кек), традиционно разработчики (хм?), и люди, которые простым языком могут объяснить бизнесу про блокчейн и дефай протоколы - эксперт по технологиям и фин рынку
- аналог Dune Analitics под сибериум интересен (но зачем?)
- хакатон в 2024 году на этапе обсуждения
- в стеке java, evm, solidity
- чтобы была регуляторика, нужно, чтобы были иноваторы
- если кто-то сделает блокексплорер в рф, которым можно будет пользоваться дешевле, чем etherscan - им будут пользоваться
- в индустрии не хватает предпринимателей (готовые к легализации в блокчейне)
- если рынок будет расти - то будут набирать людей в разработку
https://www.youtube.com/watch?v=314WngbTcms
- лаба с 2018 года
- в лабе ~30 человек, половина тех разрабы
- изучение тех протоколов, рыночных и продуктовых трендов
- цель - быть лидерами в предоставлении продуктов и сервисов
- совет для попадания в лабу - нетворк, если есть вакансия, то с большей охотой берут из известных знакомых компаний
- на fabric - ЦФА, родом из лабы
- в роадмапе - Сбер дефай (когда сбер найдет в дефае себе место) 2024-2025-2026
- регуляторика роляет (не барьер, а челлендж)
- изучают, как совместить дефай с регулируемыми фин институтами
- идут от клиента (адопшн дефай)
- следующий этап в роадмапе - веб3
- итого, основные точки отработки: ЦФА, дефай адопшн, веб3
- выпуск крипты банками на новом уровне уже по сравнению с год назад (ЦФА, токенизированные депозиты, стейблы от банков)
- взаимодейтсвие с комунити сильно отличается от корпоративных финансов и это понимание есть у лабы
- в лабе есть человек, который отвечает за стартап
- у сбера есть возможности для стартапов - инкубатор, пилоты, сам сбер как заказчик,
- в лабе сейчас нужны криптографы (кек), традиционно разработчики (хм?), и люди, которые простым языком могут объяснить бизнесу про блокчейн и дефай протоколы - эксперт по технологиям и фин рынку
- аналог Dune Analitics под сибериум интересен (но зачем?)
- хакатон в 2024 году на этапе обсуждения
- в стеке java, evm, solidity
- чтобы была регуляторика, нужно, чтобы были иноваторы
- если кто-то сделает блокексплорер в рф, которым можно будет пользоваться дешевле, чем etherscan - им будут пользоваться
- в индустрии не хватает предпринимателей (готовые к легализации в блокчейне)
- если рынок будет расти - то будут набирать людей в разработку
YouTube
Александр Нам 20.12.2023 | "ПАО Сбербанк" | Crypto Emergency
Александр Нам 20.12.2023 | "ПАО Сбербанк" | Crypto Emergency
Приглашенный гость:
🟢Александр Нам, управляющий директор Лаборатории блокчейн, ПАО Сбербанк.
Темы эфира:
🟣 Какими разработками сейчас занимается Сбербанк в отрасли блокчейна и криптовалют?
🟣…
Приглашенный гость:
🟢Александр Нам, управляющий директор Лаборатории блокчейн, ПАО Сбербанк.
Темы эфира:
🟣 Какими разработками сейчас занимается Сбербанк в отрасли блокчейна и криптовалют?
🟣…
❤1🔥1
Forwarded from Постконтент | Набоков
Если позориться, до конца
А че это, Open API у нас теперь отдельный язык, specification first? Вы с дуба рухнули?
Мне надо сделать просто красивую страничку для фронтов, желательно чтобы само все сгенерилось, и тут я читаю на SO толпу душнил, что так нельзя, я (ну не я, топикстартер с таким же вопросом) не прав, иди пиши ямлы и только потом, если ты хорошо продумал API можешь приступать к коду.
Ага, может мне еще разрешения спросить? Ой, а можно мне теперь написать код, чтобы было что показать заказчику?
Мне нужна дока, а не вот это вот все, у меня уже все работает.
Уууу,рычу и двигаю тазом бесит!
А вы что думаете о данном факте?
А че это, Open API у нас теперь отдельный язык, specification first? Вы с дуба рухнули?
Мне надо сделать просто красивую страничку для фронтов, желательно чтобы само все сгенерилось, и тут я читаю на SO толпу душнил, что так нельзя, я (ну не я, топикстартер с таким же вопросом) не прав, иди пиши ямлы и только потом, если ты хорошо продумал API можешь приступать к коду.
Ага, может мне еще разрешения спросить? Ой, а можно мне теперь написать код, чтобы было что показать заказчику?
Мне нужна дока, а не вот это вот все, у меня уже все работает.
Уууу,
А вы что думаете о данном факте?
❤1🔥1
Forwarded from Постконтент | Набоков
Ну что, почти два месяца, с околонулевым знанием cosmos-sdk и golang и таки evm в космос чейне с depinject заработал!
Крутость в том, что никто этого еще не делал, с чем я себя и поздравляю. Возможно мое решение даже сами evmOS и возьмут на вооружение.
Подменить типы не удалось, пришлось патчить в cosmos-sdk начальную инициализацию контейнера депинжекта, в которой типы для подписей прибиты гвоздями. Добавил всего-то два аргумента с кастомными регистрациями и все полетело.
Крутость в том, что никто этого еще не делал, с чем я себя и поздравляю. Возможно мое решение даже сами evmOS и возьмут на вооружение.
Подменить типы не удалось, пришлось патчить в cosmos-sdk начальную инициализацию контейнера депинжекта, в которой типы для подписей прибиты гвоздями. Добавил всего-то два аргумента с кастомными регистрациями и все полетело.
Forwarded from Постконтент | Набоков
eip712 это такой эфировский стандарт подписи "любых данных", когда данные пихаются в схему в виде JSON, там прописываются поля с их типами и значениями, довольно обычная история, а потом этот json отдается на подпись.
Когда разбатывал авторизацию через кошельки (SIWE) прочитал, что из-за нагромождения информации и многословности json-схемы конкретно для авторизации придумали более простой формат. А eip712 ну чет где-то как-то живет, зачем-то существует.
Вчера узнал зачем (лучше бы его не было).
Короче, evmOS еще когда назывались ethermint (deprecated етить его в корень) брали космос-транзакцию, рассовывали ее в eip712 схему, подписывали эфировской подписью (ну точнее предлагали подписать юзеру) и на стороне чейна делали из eip712 космосовский message-объект.
Вчера внезапно оказалось, что нам тоже такое надо - чтобы обеспечить юзерам smooth ethereum-like flow.
Окей, осталось научится делать из протобаф схем eip712 схему или что-то еще придумать, и дело в шляпея без понятия как это делать
Все это нагромождение букв спонсор пропущенного поста вчера. Изменение требований на лету! Изменение требований на лету - однажды доберется и до тебя.
Когда разбатывал авторизацию через кошельки (SIWE) прочитал, что из-за нагромождения информации и многословности json-схемы конкретно для авторизации придумали более простой формат. А eip712 ну чет где-то как-то живет, зачем-то существует.
Вчера узнал зачем (лучше бы его не было).
Короче, evmOS еще когда назывались ethermint (deprecated етить его в корень) брали космос-транзакцию, рассовывали ее в eip712 схему, подписывали эфировской подписью (ну точнее предлагали подписать юзеру) и на стороне чейна делали из eip712 космосовский message-объект.
Вчера внезапно оказалось, что нам тоже такое надо - чтобы обеспечить юзерам smooth ethereum-like flow.
Окей, осталось научится делать из протобаф схем eip712 схему или что-то еще придумать, и дело в шляпе
Все это нагромождение букв спонсор пропущенного поста вчера. Изменение требований на лету! Изменение требований на лету - однажды доберется и до тебя.
Постконтент | Набоков
Ну что, почти два месяца, с околонулевым знанием cosmos-sdk и golang и таки evm в космос чейне с depinject заработал! Крутость в том, что никто этого еще не делал, с чем я себя и поздравляю. Возможно мое решение даже сами evmOS и возьмут на вооружение. Подменить…
GitHub
Feature/evm module by mn13 · Pull Request #447 · warden-protocol/wardenprotocol
Summary by CodeRabbit
New Features
Integration of Ethereum Virtual Machine (EVM) capabilities into the application.
Introduction of a new currency denomination, "award," replac...
New Features
Integration of Ethereum Virtual Machine (EVM) capabilities into the application.
Introduction of a new currency denomination, "award," replac...