Атака майнеров. Часть 4
Зависит ли логика контракта от порядка транзакций?
Описание: Майнеры контролируют порядок транзакций и могут использовать это для атак типа «фронт-раннинг», «бэк-раннинг» или «сэндвич».
Устранение: Реализуйте защиту, позволяя пользователям указывать приемлемые результаты, которые отменяют транзакции в случае нарушения.
Майнеры определяют порядок включения транзакций в блок. Хотя майнеры обычно отдают приоритет транзакциям с более высокими ценами на газ, они не обязаны этого делать. Это позволяет злонамеренным майнерам (или сложным ботам) стратегически упорядочивать транзакции в своих интересах. Такое использование может привести к фронтран, бекран или сэндвич атакам. Эти атаки используют манипуляции с порядком транзакций для извлечения выгоды.
Представьте себе децентрализованную биржу (DEX). Майнер видит в мемпуле крупный ордер на покупку определенного токена. Он может вставить свой собственный ордер на покупку перед крупным ордером (фронт-раннинг), что приведет к росту цены. Затем он может вставить свой ордер на продажу после крупного ордера (бэк-раннинг или сэндвич-атака), извлекая прибыль из роста цены, вызванного первоначальной сделкой.
Вот упрощенная уязвимая DEX:
📟 Прилетело из @solidityset
Зависит ли логика контракта от порядка транзакций?
Описание: Майнеры контролируют порядок транзакций и могут использовать это для атак типа «фронт-раннинг», «бэк-раннинг» или «сэндвич».
Устранение: Реализуйте защиту, позволяя пользователям указывать приемлемые результаты, которые отменяют транзакции в случае нарушения.
Майнеры определяют порядок включения транзакций в блок. Хотя майнеры обычно отдают приоритет транзакциям с более высокими ценами на газ, они не обязаны этого делать. Это позволяет злонамеренным майнерам (или сложным ботам) стратегически упорядочивать транзакции в своих интересах. Такое использование может привести к фронтран, бекран или сэндвич атакам. Эти атаки используют манипуляции с порядком транзакций для извлечения выгоды.
Представьте себе децентрализованную биржу (DEX). Майнер видит в мемпуле крупный ордер на покупку определенного токена. Он может вставить свой собственный ордер на покупку перед крупным ордером (фронт-раннинг), что приведет к росту цены. Затем он может вставить свой ордер на продажу после крупного ордера (бэк-раннинг или сэндвич-атака), извлекая прибыль из роста цены, вызванного первоначальной сделкой.
Вот упрощенная уязвимая DEX:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
// Simple ERC20 token for testing
contract TestToken is ERC20 {
constructor(string memory name, string memory symbol, uint256 initialSupply) ERC20(name, symbol) {
_mint(msg.sender, initialSupply);
}
}
// Simplified DEX that's vulnerable to front-running
contract VulnerableDEX {
TestToken public tokenA;
TestToken public tokenB;
uint public reserveA;
uint public reserveB;
constructor(address _tokenA, address _tokenB) {
tokenA = TestToken(_tokenA);
tokenB = TestToken(_tokenB);
}
// Initialize liquidity
function addLiquidity(uint amountA, uint amountB) external {
tokenA.transferFrom(msg.sender, address(this), amountA);
tokenB.transferFrom(msg.sender, address(this), amountB);
reserveA += amountA;
reserveB += amountB;
}
// Calculate output amount for a given input
function _calculateSwapOutput(address tokenIn, uint amountIn) internal view returns (uint amountOut) {
require(tokenIn == address(tokenA) || tokenIn == address(tokenB), "Invalid token");
bool isTokenA = tokenIn == address(tokenA);
if (isTokenA) {
amountOut = (reserveB * amountIn) / (reserveA + amountIn);
require(amountOut < reserveB, "Insufficient liquidity");
} else {
amountOut = (reserveA * amountIn) / (reserveB + amountIn);
require(amountOut < reserveA, "Insufficient liquidity");
}
return amountOut;
}
// Execute the swap with pre-calculated output
function _executeSwap(address tokenIn, uint amountIn, uint amountOut, address sender) internal {
bool isTokenA = tokenIn == address(tokenA);
if (isTokenA) {
tokenA.transferFrom(sender, address(this), amountIn);
// Update reserves
reserveA += amountIn;
reserveB -= amountOut;
// Transfer output tokens to the user
tokenB.transfer(sender, amountOut);
} else {
tokenB.transferFrom(sender, address(this), amountIn);
reserveB += amountIn;
reserveA -= amountOut;
tokenA.transfer(sender, amountOut);
}
}
// Vulnerable swap function (no minimum output)
function swap(address tokenIn, uint amountIn) external returns (uint amountOut) {
// Calculate the expected output
amountOut = _calculateSwapOutput(tokenIn, amountIn);
// Execute the swap
_executeSwap(tokenIn, amountIn, amountOut, msg.sender);
return amountOut;
}
}
📟 Прилетело из @solidityset
В этом контракте VulnerableDEX функция обмена не имеет защиты от проскальзывания, что делает ее уязвимой для атак типа «сэндвич». Эти атаки являются формой эксплуатации максимально извлекаемой стоимости (MEV), при которой прибыль извлекается путем манипулирования порядком транзакций.
Когда жертва отправляет транзакцию обмена в мемпул, опытные поисковики MEV выявляют возможность и выполняют трехэтапную атаку:
1. Фронтранинг: сначала злоумышленник размещает транзакцию на покупку целевого актива, намеренно завышая цену.
2. Транзакция жертвы: своп жертвы выполняется по этой искусственно завышенной цене, и она получает меньше токенов, чем ожидалось, из-за отсутствия гарантий минимального выхода.
3. Бэкранинг: злоумышленник продает ранее приобретенные токены по более высокой цене, созданной транзакцией жертвы, получая разницу в цене в качестве прибыли.
Хотя любой участник, отслеживающий mempool, может осуществлять атаки типа «сэндвич», производители блоков обладают привилегированными возможностями по упорядочиванию транзакций, что позволяет им осуществлять такие атаки с большей степенью уверенности.
Стратегии смягчения последствий зависят от конкретного контекста, но в целом защита от проскальзывания предотвращает атаки типа «сэндвич», гарантируя, что транзакция жертвы не будет выполнена по невыгодной цене. Позвольте пользователям указывать максимальное проскальзывание, которое они готовы допустить при совершении сделки. Если цена выходит за пределы этого порога, транзакция отменяется. Это защищает пользователей от атак типа «сэндвич».
Вот пример защиты от проскальзывания, которая смягчает последствия атаки типа «сэндвич», описанной в тесте выше.
#miner #mev
📟 Прилетело из @solidityset
Когда жертва отправляет транзакцию обмена в мемпул, опытные поисковики MEV выявляют возможность и выполняют трехэтапную атаку:
1. Фронтранинг: сначала злоумышленник размещает транзакцию на покупку целевого актива, намеренно завышая цену.
2. Транзакция жертвы: своп жертвы выполняется по этой искусственно завышенной цене, и она получает меньше токенов, чем ожидалось, из-за отсутствия гарантий минимального выхода.
3. Бэкранинг: злоумышленник продает ранее приобретенные токены по более высокой цене, созданной транзакцией жертвы, получая разницу в цене в качестве прибыли.
Хотя любой участник, отслеживающий mempool, может осуществлять атаки типа «сэндвич», производители блоков обладают привилегированными возможностями по упорядочиванию транзакций, что позволяет им осуществлять такие атаки с большей степенью уверенности.
Стратегии смягчения последствий зависят от конкретного контекста, но в целом защита от проскальзывания предотвращает атаки типа «сэндвич», гарантируя, что транзакция жертвы не будет выполнена по невыгодной цене. Позвольте пользователям указывать максимальное проскальзывание, которое они готовы допустить при совершении сделки. Если цена выходит за пределы этого порога, транзакция отменяется. Это защищает пользователей от атак типа «сэндвич».
Вот пример защиты от проскальзывания, которая смягчает последствия атаки типа «сэндвич», описанной в тесте выше.
// Secure swap function with minimum output requirement
function swapWithMinimumOutput(
address tokenIn,
uint amountIn,
uint minAmountOut
) external returns (uint amountOut) {
// Calculate the expected output
amountOut = _calculateSwapOutput(tokenIn, amountIn);
// Check slippage before executing the swap
require(amountOut >= minAmountOut, "Slippage too high");
// Execute the swap
_executeSwap(tokenIn, amountIn, amountOut, msg.sender);
return amountOut;
}
#miner #mev
📟 Прилетело из @solidityset
Перспективен ли Boundless $ZKC? Рассматриваем проект через его токеномику.
Что это?
Его сравнивают с Succinct, поэтому и решил изучить после предыдущего проекта, потому что тоже занимаются ZKP.
Подробнее - ниже.
RiscZero - фреймворк для выполнения программ с ZKP на базе архитектуры Risc-V.
Недавно запустили Boundless - универсальный ZK-протокол, обеспечивающий проверяемые вычисления с поддержкой кроссчейна через децентрализованный рынок доказательств.
Проще говоря - сеть, где разные блокчейны и другие проекты могут закупать услуги пруверов для ZK-доказательств.
Boundless интегрировали Wormhole, EigenLayer, Bob и Lido.
RiscZero интегрировали Eclipse и WorldChain.
Токеномика по Cryptorank, так как в tokenomist почему-то нет его.
Пишут, что заблокировано 93.1% - это очень много!
Соответственно разблокировано 5.4%.
Учитывая капитализацию в 80 МЛН $ - слабый проект.
Пишут также, что следующий разлок 1.5% - это больше нормы (для стабильности надо менее 1%).
Распределение:
1. Ecosystem Fund - 31%. Все в локе.
Как понимаю - это на развитие экосистемы. Куда будут распределяться и насколько эффективно, непонятно - это минус. Также минус, что не было часть на TGE, что сказалось возможно на перспективности (не смогли поддерживать экосистему сразу).
2. Core Team & Early Contributors - 23.5%. Это много, так как максимум 10% на команду.
Но тут помимо команды ещё и Первые участники. Сколько им распределяют - неизвестно, но если 13.5% - норм.
Вот только все токены заблокированы ещё.
3. Investors - 21.5%. Тоже много, так как им стоит выделять не более 10%.
Опять же, всё заблокировано.
4. Strategic Growth Fund - 18% (всё в локе). Опять же, средства команды. Да: они будут выделять на развитие, но кому и как непонятно.
Про ДАО не указано.
5. Community Sale & Aidrop - 6% (разблокировано 5.4%).
Распределили пользователям довольно мало. При этом, большая часть уже доступна, и лишь крохи в локе (на будущие награды, как понимаю) - это не красит проект.
Ближайший разлок 15 октября (через 14 дней) на 1.5% от общего количества и 7.46% от рыночной капитализации.
Вся сумма идёт в Strategic Growth Fund.
Это довольно много: может понизить курс от 10 до 50%.
Я не вижу по крайней мере предпосылок к тому, чтоб Boundless удержал курс.
В ноябре столько же. И далее каждый месяц.
А в сентябре 2026 будет разблокировано 25% от общего предложения (102% от маркеткапа) - очень большой выплеск. Выделяется Ecosystem Fund, Core Team & Early Contributors, Investors и Strategic Growth Fund.
Утилиты ZKC:
1. Провайдеры стейкают ≥10× комиссии запроса; при невыполнении работа наказывается сжиганием и баунти для других.
2. PoVW-майнинг — вознаграждение ZKC за генерацию доказательств при условии стейкинга.
3. Протокольный стейкинг — доступ к PoVW, участие в управлении и 25% базовых наград.
4. Награды провайдерам — 75% эмиссии распределяется за вычислительную работу.
5. Голосование — управление параметрами протокола и его развитием.
6. Снижение предложения — рост спроса блокирует больше ZKC в коллатерале, слешинг уменьшает циркуляцию.
Итог:
Утилиты интересные, но проект вряд ли перспективен будет и успешен с точки зрения токена:
Большие разлоки в будущем, малая капитализация сейчас и малое распределение сообществу (страдает децентрализация).
Интегрироваться с другими проектами Boundless может и дальше, но в этом плане более перспективным кажется Succinct $PROVE.
Это была рубрика #перспектива.
А что вы думаете по этому проекту и токену? Напишите своё мнение в комментариях.
😎 Незрячий web3 программист (подписаться)
Чат | бот
📟 Прилетело из @blind_dev
Что это?
Его сравнивают с Succinct, поэтому и решил изучить после предыдущего проекта, потому что тоже занимаются ZKP.
Подробнее - ниже.
RiscZero - фреймворк для выполнения программ с ZKP на базе архитектуры Risc-V.
Недавно запустили Boundless - универсальный ZK-протокол, обеспечивающий проверяемые вычисления с поддержкой кроссчейна через децентрализованный рынок доказательств.
Проще говоря - сеть, где разные блокчейны и другие проекты могут закупать услуги пруверов для ZK-доказательств.
Boundless интегрировали Wormhole, EigenLayer, Bob и Lido.
RiscZero интегрировали Eclipse и WorldChain.
Токеномика по Cryptorank, так как в tokenomist почему-то нет его.
Пишут, что заблокировано 93.1% - это очень много!
Соответственно разблокировано 5.4%.
Учитывая капитализацию в 80 МЛН $ - слабый проект.
Пишут также, что следующий разлок 1.5% - это больше нормы (для стабильности надо менее 1%).
Распределение:
1. Ecosystem Fund - 31%. Все в локе.
Как понимаю - это на развитие экосистемы. Куда будут распределяться и насколько эффективно, непонятно - это минус. Также минус, что не было часть на TGE, что сказалось возможно на перспективности (не смогли поддерживать экосистему сразу).
2. Core Team & Early Contributors - 23.5%. Это много, так как максимум 10% на команду.
Но тут помимо команды ещё и Первые участники. Сколько им распределяют - неизвестно, но если 13.5% - норм.
Вот только все токены заблокированы ещё.
3. Investors - 21.5%. Тоже много, так как им стоит выделять не более 10%.
Опять же, всё заблокировано.
4. Strategic Growth Fund - 18% (всё в локе). Опять же, средства команды. Да: они будут выделять на развитие, но кому и как непонятно.
Про ДАО не указано.
5. Community Sale & Aidrop - 6% (разблокировано 5.4%).
Распределили пользователям довольно мало. При этом, большая часть уже доступна, и лишь крохи в локе (на будущие награды, как понимаю) - это не красит проект.
Ближайший разлок 15 октября (через 14 дней) на 1.5% от общего количества и 7.46% от рыночной капитализации.
Вся сумма идёт в Strategic Growth Fund.
Это довольно много: может понизить курс от 10 до 50%.
Я не вижу по крайней мере предпосылок к тому, чтоб Boundless удержал курс.
В ноябре столько же. И далее каждый месяц.
А в сентябре 2026 будет разблокировано 25% от общего предложения (102% от маркеткапа) - очень большой выплеск. Выделяется Ecosystem Fund, Core Team & Early Contributors, Investors и Strategic Growth Fund.
Утилиты ZKC:
1. Провайдеры стейкают ≥10× комиссии запроса; при невыполнении работа наказывается сжиганием и баунти для других.
2. PoVW-майнинг — вознаграждение ZKC за генерацию доказательств при условии стейкинга.
3. Протокольный стейкинг — доступ к PoVW, участие в управлении и 25% базовых наград.
4. Награды провайдерам — 75% эмиссии распределяется за вычислительную работу.
5. Голосование — управление параметрами протокола и его развитием.
6. Снижение предложения — рост спроса блокирует больше ZKC в коллатерале, слешинг уменьшает циркуляцию.
Итог:
Утилиты интересные, но проект вряд ли перспективен будет и успешен с точки зрения токена:
Большие разлоки в будущем, малая капитализация сейчас и малое распределение сообществу (страдает децентрализация).
Интегрироваться с другими проектами Boundless может и дальше, но в этом плане более перспективным кажется Succinct $PROVE.
Это была рубрика #перспектива.
А что вы думаете по этому проекту и токену? Напишите своё мнение в комментариях.
😎 Незрячий web3 программист (подписаться)
Чат | бот
📟 Прилетело из @blind_dev
Крипто Devs | Gnezdo Hub
ШОБ ВЫ ПАНИМАЛИ Пол дня разбирался с сейлом YB на legion. Если честно, это один из самых странных и глупых сейлов, которые я видел. Контракт совершенно не приспособлен для фкфс: 1) Ончейн таймстемп старта не зашит. Когда бек разрешит, тогда и стартанет…
Вступайте в мой сквад legion!
- Объявляют 1кк на рейтинг, остальное на фкфс
- Через день меняют условия на 2кк по рейтингу, 3кк фкфс
- В день сейла(после моего поста) убирают фкфс вовсе, ведь у них продукт под это не заточен
Вы просто прикиньте, чуваки год над платформой трудятся. ГОД!! Ничего вообще не поменялось с момента релиза.
И при любом хоть немного интересном сейле:
- Не работает подсчет скора
- Не работают конекты социалок
- Сам сайт грузится как в 2007
- Ну и вишенка на торте — если логинится больше 100 человек одновременно, платформа просто падает
В общем, ничего нового. Демдальше
📟 Прилетело из @findmeonchain
- Объявляют 1кк на рейтинг, остальное на фкфс
- Через день меняют условия на 2кк по рейтингу, 3кк фкфс
- В день сейла
Вы просто прикиньте, чуваки год над платформой трудятся. ГОД!! Ничего вообще не поменялось с момента релиза.
И при любом хоть немного интересном сейле:
- Не работает подсчет скора
- Не работают конекты социалок
- Сам сайт грузится как в 2007
- Ну и вишенка на торте — если логинится больше 100 человек одновременно, платформа просто падает
В общем, ничего нового. Демдальше
📟 Прилетело из @findmeonchain
Discord WEB3
Так как посты в канале появляются не часто, общаюсь и публикую свои мысли в нашем Discord
discord.gg/adqeN22F
50 мест
📟 Прилетело из @code_vartcall
Так как посты в канале появляются не часто, общаюсь и публикую свои мысли в нашем Discord
discord.gg/adqeN22F
50 мест
📟 Прилетело из @code_vartcall
Смерть в нищите явно испугается, после прочтения этого поста
Наконец-то разберем самые важные инструменты для старта в web3-разработке
1. Подключаемся к блокчейну
Для этого нам необходим RPC ключ! Это будет наш мост между нашим кодом и блокчейном! Самым простым и популярным решением будет infura.io.
Регистрируемся на сайте и получаем свой ключ доступа
2. Библиотеки web3
это набор готовых инструментов и функций, которые позволяют тебе взаимодействовать с блокчейном через обычный код.
3. Практика написания проектов:
Для Ethereum:
ethereum.org/developers
speedrunethereum.com
ethereum.org/developers/tutorials
buidlguidl.com
Для Solana:
solana.com/developers/guides
курсы
Азбука - t.me/code_vartcall/933
Но не все же хотят писать свои проекты в web3, поэтому:
Как писать софт под существующие проеткты?
Тут картина похожа:
Получаем RPC, устанавливаем библиотеки выше и...
Начинаем разбираться со смарт-контрактами
Именно в них заложена основная логика всех действий на блокчейне
Каждый клик на любой из децентрализованных площадок - вызов функции смарт-контракта (отправка транзакции, минт nft, обмен токена и так далее)
Анализ смарт-контрактов:
Пост со всеми эксплорерами - t.me/code_vartcall/878
Используем, чтобы точно не получить такой звонок
📟 Прилетело из @code_vartcall
Наконец-то разберем самые важные инструменты для старта в web3-разработке
1. Подключаемся к блокчейну
Для этого нам необходим RPC ключ! Это будет наш мост между нашим кодом и блокчейном! Самым простым и популярным решением будет infura.io.
Регистрируемся на сайте и получаем свой ключ доступа
Подробнее про RPC - t.me/code_vartcall/754
Видео-Инструкция - youtu.be/g34Lk2SPIoc
2. Библиотеки web3
это набор готовых инструментов и функций, которые позволяют тебе взаимодействовать с блокчейном через обычный код.
Для Ethereum и EVM:
JavaScript - ethers.js & viem
Python - web3.py
Go - go-ethereum
Для Solana:
JavaScript - solana@web3.js
Python - solana.py & solders
3. Практика написания проектов:
Для Ethereum:
ethereum.org/developers
speedrunethereum.com
ethereum.org/developers/tutorials
buidlguidl.com
Для Solana:
solana.com/developers/guides
курсы
Азбука - t.me/code_vartcall/933
Но не все же хотят писать свои проекты в web3, поэтому:
Как писать софт под существующие проеткты?
Тут картина похожа:
Получаем RPC, устанавливаем библиотеки выше и...
Начинаем разбираться со смарт-контрактами
Именно в них заложена основная логика всех действий на блокчейне
Каждый клик на любой из децентрализованных площадок - вызов функции смарт-контракта (отправка транзакции, минт nft, обмен токена и так далее)
Поэтому...
1. Изучаем как работают смарт-контракты и ABI
2. Добавляем ABI контрактов в свои скрипты
3. Дёргаем функции смарт-контрактов
Анализ смарт-контрактов:
Пост со всеми эксплорерами - t.me/code_vartcall/878
Используем, чтобы точно не получить такой звонок
📟 Прилетело из @code_vartcall
This media is not supported in your browser
VIEW IN TELEGRAM
Поднимаем свой VPN без СМС и регистрации
Ничто не вечно, но криптаны использующие бесплатные, сомнительные VPN-расширения будут всегда. Настало время это исправить, сейчас ты САМ поднимешь свой VPN за 5$ в месяц, которым можно пользоваться, как на компе, так и на телефоне. Летс факин гоу!
Подготовка👨💻
🟢 Покупаем сервер с Ubuntu 24 либо новее, купить можно ТУТ, ТУТ или ТУТ.
🟢 Подключаемся к своему VPS с помощью команды
Установка📥
🟢 https://github.com/Aero25x/any-install/blob/main/wireguard-vpn.md
Мы сделали подробный гайд, где описали каждый шаг установки, следуя по которому вы самостоятельно развернете свой VPN. Если вдруг у вас что-то не получится - можете задавать вопросы под постом.
Чат | Support | Market
Pelican | HiddenCode [EN]
📟 Прилетело из @hidden_coding
Ничто не вечно, но криптаны использующие бесплатные, сомнительные VPN-расширения будут всегда. Настало время это исправить, сейчас ты САМ поднимешь свой VPN за 5$ в месяц, которым можно пользоваться, как на компе, так и на телефоне. Летс факин гоу!
Подготовка
ssh username@server_ip жмем Enter, вводим пароль и снова Enter. (username, server_ip и пароль будут выданы при покупке). Супер - вы на сервере!Установка
Мы сделали подробный гайд, где описали каждый шаг установки, следуя по которому вы самостоятельно развернете свой VPN. Если вдруг у вас что-то не получится - можете задавать вопросы под постом.
Чат | Support | Market
Pelican | HiddenCode [EN]
📟 Прилетело из @hidden_coding
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости моих разработок: вновь можно получать уведомления о комиссиях в Bitcoin, создал бота для сообщений из Discord и другое.
1. В @price_informerBot:
1.1. исправил ошибку, из-за которой не было уведомлений о комиссиях в Bitcoin сети. Оказалось, что случайно указал одну переменную для Ethereum Газа.
1.2. Также в боте теперь добавлен Rudex. Если кто не знает - это dex биржа в блокчейне Graphene (форк Bitshares). Правда не все активы с теми же тикерами, что и в url на сайте, поэтому некоторые рынки было не открыть.
Например, в API помечается GOLOS как GLS, а в url RUDEX.GOLOS. RUDEX.GLS же - рынок не существует.
Поэтому заменил вручную через условие.
2. Создал бота, который присылает уведомления из каналов Discord в Telegram.
Схема работы:
1) Подписался на каналы анонсов в своём сервере.
2) Добавил бота.
3) Скрипт получает сообщения с уведомлениями в Discord и отправляет их в Telegram.
Можете посмотреть канал: @projectsNewsDs.
Если заинтересует, могу выложить исходный код с инструкцией по установке и интеграции.
Но как разберусь, почему не присылает сами сообщения. Возможно, что не получится такое, если Discord.js не может ловить сообщения из других каналов.
3. Завершил опрос про переименование канала.
В итоге оставляю текущее.
На этом всё. Хороших выходных!
😎 Незрячий web3 программист (подписаться)
Чат | бот
📟 Прилетело из @blind_dev
1. В @price_informerBot:
1.1. исправил ошибку, из-за которой не было уведомлений о комиссиях в Bitcoin сети. Оказалось, что случайно указал одну переменную для Ethereum Газа.
1.2. Также в боте теперь добавлен Rudex. Если кто не знает - это dex биржа в блокчейне Graphene (форк Bitshares). Правда не все активы с теми же тикерами, что и в url на сайте, поэтому некоторые рынки было не открыть.
Например, в API помечается GOLOS как GLS, а в url RUDEX.GOLOS. RUDEX.GLS же - рынок не существует.
Поэтому заменил вручную через условие.
2. Создал бота, который присылает уведомления из каналов Discord в Telegram.
Схема работы:
1) Подписался на каналы анонсов в своём сервере.
2) Добавил бота.
3) Скрипт получает сообщения с уведомлениями в Discord и отправляет их в Telegram.
Можете посмотреть канал: @projectsNewsDs.
Если заинтересует, могу выложить исходный код с инструкцией по установке и интеграции.
Но как разберусь, почему не присылает сами сообщения. Возможно, что не получится такое, если Discord.js не может ловить сообщения из других каналов.
3. Завершил опрос про переименование канала.
В итоге оставляю текущее.
На этом всё. Хороших выходных!
😎 Незрячий web3 программист (подписаться)
Чат | бот
📟 Прилетело из @blind_dev
Школа заебала!
Душат уже с первых дней, поэтому я ничего не делал и забил хуй как на заработок денежных масс, так и на вас. Но совесть мучает, поэтому сейчас я применю знания, полученные на математике, и посчитаю цифры профита для OKX BOOST на Плазму
Кстати о сиськах, подпишитесь срочно на @by_asynco, так как ровно в 00:00 я скину туда кое-что 18+ (пингвина буду ебать )
Никогда не писал про такие активности, но программа с плазмой меня заинтересовала. До нее было 3 раздачи (LINEA, BARD, AVNT) и среди них только линейка дала хороший профит
Если уж сидеть считать, то если LINEA принесла ~ 60$ за очко, то next раздачи сильно стагнировали: BARD дал 21$, а AVNT вообще дерьмо ебаное с дай бог 5$ за очко
Причина простая — выделяют мало токенов, а количество участников растет. Аналогично растет необходимый объем, за который дают минимальную проходу
Есть два параметра из которых складывается минимальный порог для получения 1 очка
1) Boost Volume — весь торговый объем на DEX в период акции поделенный на 15, но умноженный на мультипликатор в зависимости от пары
ㅤ• 1x — пары стейблов к щиткам не из топ-100
ㅤ• 0.25× — пары стейблов к щиткам в топ-100
ㅤ• 0× — пары стейбл/стейбл и топ-100/топ-100
ㅤ• Сгруппированные токены найдете тут
Пример: объем за 15 дней 1500$, значит средний будет 100$
2) Boost Balance — средний баланс токенов групп 1 и 2 в период акции, короче нужно держать на OKX кошельке стейблы или соль/эфир/бнб и тп
Пример: держите 200$ первый день, на второй 150$ => средний будет $175
Главное держать баланс в наиболее популярных сетях, типа соли или эфира, ибо сети типа аптоса не учитываются
Постарался как можно понятней описать, если будут вопросы, то в комментариях на них отвечу
Если сравнивать с линейкой, то награды за 1 очко AVNT упали на 98%, но это логично, учитывая то что AVNT было выделено на 500к$, а не как в прошлые 4.4 ляма $ у LINEA или 2.5 ляма $ у BARD
LINEA
ㅤ• Пул на 4.4M$
ㅤ• Участников 23k
ㅤ• Очков: 76 359
ㅤ• 1 очко = 60$
ㅤ• Мин. баланс 10$
ㅤ• Мин. объем 32$
BARD
ㅤ• Пул: 2.5M$ (-37%)
ㅤ• Участников 44k (x2)
ㅤ• Очков: 118 938
ㅤ• 1 очко = 21$ (–60%)
ㅤ• Мин. баланс 200$
ㅤ• Мин. объем 128$
AVNT
ㅤ• Пул: 570k$ (-85%)
ㅤ• Участников 68k (x3)
ㅤ• Очков: 147 447
ㅤ• 1 очко = 4$ (–92%)
ㅤ• Мин. баланс 200$
ㅤ• Мин. объем 256$
Смотрим сколько выделено на плазму — 150M $XPL или 13.5M $. Это в 3 раза больше чем у LINEA и даже с учетом роста количества участников цена за одно очко будет 60-90$, ахуеть да
Однако важно учитывать следующее: с каждым дропом условия для минималки повышаются. Для ситуации с плазмой нужно будет иметь средний объем за 15 дней больше 512$, а также баланс больше 200$
Тут интересная ситуация, по расчетам фармить больше 5 очков смысла нет, так как затраты > профита. Следовательно стоит акцентировать внимание на 2-4 поинтах или мультиаккинге (сами думайте)
Также важный момент с балансом. На прошлых двух акциях минималка на баланс была 200$, надеюсь для $XPL будет аналогично. Остальные же деньги можете тратить на комиссии и объемы
Еще важный пункт это комиссии DEX — советую использовать мою рефку FEE CUT и сильно сэкономить на затратах
чьто делаю я:
1. Держу на балансе 350$
2. Делаю объем только на пару очков
3. Надеюсь что будет заебись
Считать я заебался, может ошибся где-то. Тем не менее если сравнивать предыдущие пулы с плазмой, то XPL хорошо выглядит. Да и в целом пост только чтобы вас порадовать своим присутствием!!
Спойлер для следующего поста — ахуеете, абалдеете, ашалеете. Подписывайтесь, ставьте лайки, пишите комментарии, связь 🤙🙂
📟 Прилетело из @in_crypto_info
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Про современный вайбкоддинг
Несколько месяцев назад, вроде как в начале лета, я писал пост про вайбкоддинг и то, что современные ИИ достаточно далеки от того, чтобы самостоятельно писать код, готовый для продакшена.
Ситуация начинает меняться очень и очень быстро.
Я много экспериментирую с различными нейронками и редакторами, шаг за шагом продвигаясь и в собственном обучении ml/dl и в разработке пары проектов. И могу с уверенностью сказать, что ИИ сделали просто невероятный шаг в разработке кода за последнее время. С небольшой поправкой: если вы понимаете, что делаете.
Сейчас я использую Cursor IDE в 90% своей работы с кодом, с использованием Claude 4 (4.1, 4.5). Также экспериментирую с Qwen-Coder, CLM-4.5 (4.6) и GPT5. Работу с CLI пока не довелось хорошенько погонять...
И знаете что? В рамках IDE они действительно могут понимать контекст задачи и писать хороший код. При этом вы сами должны понимать, что ИИ пытается реализовать и помещать его в определенные рамки, как например, не добавлять не нужную отладку, не создавать тестовые файлы и т.д. Другими словами, ИИ будет делать то, что вы ему говорить, а не что ожидаете от него в своих мыслях.
Все идет к тому, что скоро у разработчиков пойдет смещение со стороны написания кода, на его аудит и чтение. Зачем тратить время на написание функции, когда я могу дать четкие указания ИИ на написание функции с нужными параметрами и проверками, а затем проаудировать код?
На мой взгляд, скоро будет важнее иметь теоретические знания, чем практические (где-то в соотношении 80% - 20%). При этом ваша теория должна быть настолько хороша, чтобы вы могли объяснить ее малолетнему ребенку.
Складывается таке ощущение, что скоро будут появляться больше информации с примерами функций или программ, с детальными комментариями к промту и требованиям, чтобы этот код написать.
Например, вместо примера контракта обычного токена, будет идти небольшое описание этого контракта и промт для ИИ, в котором будет расписана структура этого контракта: какие функции должны быть включены, что они должны делать, какие проверки в этих функциях должны быть, как они должны взаимодействовать друг с другом и т.д. При этом важно учитывать то, что ИИ уже будут знать эталонные примеры контрактов из библиотек Open Zeppelin, Uniswap или Chainlink.
Если вы думаете, что станет больше работы для Интернов и Джунов, то спешу вас огорчить.
Хороший промт может написать только уверенный мидл, как и проверить его написание после ИИ.
Давно я писал, что с каждым годом требования к соискателям даже на начальные позиции будут все более широкие: там где сначала требовалось знать только Solidity, потом потребовались знания написания тестов, потом базовой безопасности смарт контрактов, а теперь еще и навыки работы с ИИ и промтинга.
ИИ облегчит разработку в рамках "времени", но не профессиональных знаний.
##ai #vibecoding #solidity
📟 Прилетело из @solidityset
Несколько месяцев назад, вроде как в начале лета, я писал пост про вайбкоддинг и то, что современные ИИ достаточно далеки от того, чтобы самостоятельно писать код, готовый для продакшена.
Ситуация начинает меняться очень и очень быстро.
Я много экспериментирую с различными нейронками и редакторами, шаг за шагом продвигаясь и в собственном обучении ml/dl и в разработке пары проектов. И могу с уверенностью сказать, что ИИ сделали просто невероятный шаг в разработке кода за последнее время. С небольшой поправкой: если вы понимаете, что делаете.
Сейчас я использую Cursor IDE в 90% своей работы с кодом, с использованием Claude 4 (4.1, 4.5). Также экспериментирую с Qwen-Coder, CLM-4.5 (4.6) и GPT5. Работу с CLI пока не довелось хорошенько погонять...
И знаете что? В рамках IDE они действительно могут понимать контекст задачи и писать хороший код. При этом вы сами должны понимать, что ИИ пытается реализовать и помещать его в определенные рамки, как например, не добавлять не нужную отладку, не создавать тестовые файлы и т.д. Другими словами, ИИ будет делать то, что вы ему говорить, а не что ожидаете от него в своих мыслях.
Все идет к тому, что скоро у разработчиков пойдет смещение со стороны написания кода, на его аудит и чтение. Зачем тратить время на написание функции, когда я могу дать четкие указания ИИ на написание функции с нужными параметрами и проверками, а затем проаудировать код?
На мой взгляд, скоро будет важнее иметь теоретические знания, чем практические (где-то в соотношении 80% - 20%). При этом ваша теория должна быть настолько хороша, чтобы вы могли объяснить ее малолетнему ребенку.
Складывается таке ощущение, что скоро будут появляться больше информации с примерами функций или программ, с детальными комментариями к промту и требованиям, чтобы этот код написать.
Например, вместо примера контракта обычного токена, будет идти небольшое описание этого контракта и промт для ИИ, в котором будет расписана структура этого контракта: какие функции должны быть включены, что они должны делать, какие проверки в этих функциях должны быть, как они должны взаимодействовать друг с другом и т.д. При этом важно учитывать то, что ИИ уже будут знать эталонные примеры контрактов из библиотек Open Zeppelin, Uniswap или Chainlink.
Если вы думаете, что станет больше работы для Интернов и Джунов, то спешу вас огорчить.
Хороший промт может написать только уверенный мидл, как и проверить его написание после ИИ.
Давно я писал, что с каждым годом требования к соискателям даже на начальные позиции будут все более широкие: там где сначала требовалось знать только Solidity, потом потребовались знания написания тестов, потом базовой безопасности смарт контрактов, а теперь еще и навыки работы с ИИ и промтинга.
ИИ облегчит разработку в рамках "времени", но не профессиональных знаний.
##ai #vibecoding #solidity
📟 Прилетело из @solidityset
Сегодня поговорим про ERC-3643 Permissioned tokens. Это токены с ограниченным доступом: купить или перевести их можно только после KYC и с нужными правами. Все проверки делаются через смарт-контракты идентичности (ONCHAINID) и комплаенса. Идея - совместить блокчейн с регуляторкой, чтобы токены работали как легальные ценные бумаги. https://youtube.com/live/wkNOk3Y1V9Y?feature=share
📟 Прилетело из @dev_in_ruby_colors
📟 Прилетело из @dev_in_ruby_colors
YouTube
Solidity и Ethereum #98 | ERC-3643 Permissioned tokens: Токены с правами доступа и KYC
ХОТИТЕ СТАТЬ РАЗРАБОТЧИКОМ TS и Solidity, узнать об Ethereum, блокчейне и многом другом ещё больше?!
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 15% на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 15% на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
Напулили на пенсию, релизнули токеномику метеоры. Судя по постам мнение у всех разное, многие конечно недовольны хули честным пуляльщикам не дали 50% токенов
С другой стороны выделено 48% с полным разлоком для всех, остальное для команды и последющих дропов с линейным разлоком на 6 мать его лет. Я думаю через 6 лет уже помрiм все
Вот сводочка по выделенным процентам:
Объективно, если так хуй к носу прикинуть, то метеора выходит на положительном рынке и имеет хороший продукт и очень большую базу юзеров, уже молчу про связку с юпитером и попыткой 3% залутать себе новых пользователей
С другой стороны у нас ебанутое количество токенов, которое вольется на рынок и будет ебануто давить цену вниз. Хотя можно это и плюсом считать, потому что токенов дадут дахуя и через условный квартал можно продать на пампе (а он будет ясенхуй)
Теперь про аллоку $MER, кто это нахуй такие? Mercurial Finance это генезис метеоры, сперматазоид в яйцеклетке короче, он был в 2021 году и специализировался на стейблсвапах в том виде как щас метеора
Почему так много дали? Потому что после краха FTX токен $MER полетел по пизде + хакер спиздил на лям токеноу. Проекту пришлось сделать полный ребрендинг, дабы очиститься. Отсюда и нейм "Phoenix Rising Plan"
В общем если быть на месте команды, то 20% для $MER оправданы по следующим причинам:
1. По сути $MER это $MET, после ребрендинга и перехода под крыло юпитера про старых юзеров не забыли, особенно про инвесторов
2. Это компенсация потерь на т
3. Восстановление доверия. Почувствуйте себя на месте холдеров $MER и вы все поймете. Плюс это олды DeFi и такие люди нужны метеоре
Метеора это самый уверенный продукт на солане, как некоторые любят писать "инструмент для зарабатывания денег". Даже не смотря на 100-летнее добавление темной темы не стоит упускать из виду реально инновационные способы фарма и их доступное оформление для всех желающих
Также учитываем сколько они лутают на комиссионных и насколько им захочется восстановить доверие, очевидно что будут откупы (pumpfun ойойой), но время покажет
Мои предкиты и стратегия простые — посмотрю на выход, на капу и потом отредактирую данный пост, подставлю сюда релизное число и напишу "каждый мог, прочитано" и поставлю смайлик
Всех с праздником, все будет ахуена
📟 Прилетело из @in_crypto_info
Please open Telegram to view this post
VIEW IN TELEGRAM
Перспективы сети второго уровня Linea с точки зрения токеномики.
Важно:
Этот пост не углубляется в преимущества самого блокчейна и его функционала. Возможно, что сам он окажется успешен, а токен - нет.
Это проект от Consensus - компании, создавшей Metamask. Поэтому перспективы возможны (они могут задействовать сеть в фоне внутри кошелька и своих продуктах).
Ниже же попробуем на основе начального распределения и утилит выяснить, насколько хорош проект для инвестирования.
P. S. Я получил аэрдроп, но сам ничего не покупал.
Источники:
Tokenomist и Cryptorank.
Всего токенов - 72.01 МЛРД.
Начальное распределение:
1. Early Users, Builders, and LPs.
Полный разлок на TGE. Выделено 14% от токенов, что нормально.
2. Future Airdrop - 5%.
2 месяца локап, затем равномерный разблок в течение 6 месяцев.
Как понимаю, это будущие аэрдропы. Процент небольшой, но здорово, что он есть.
3. Linea Consortium – Ignition - 12%.
Linea Consortium - это комитет / группа управляющих, состоящих из организаций, связанных с Ethereum. То есть это не команда, как я в начале думал.
Разлок 33.3% на TGE, оставшиеся разблокируются за 12 месяцев
Linea Ignition - программа вознаграждений за TVL.
Считаю, что процент нормальный.
4. Linea Consortium – Long Term Alignment - 50%.
Линейный разлок в течение 10 лет по убывающему графику (больше токенов в первые годы, меньше со временем).
Как понимаю - это на развитие. Многовато, так как непонятны направления, куда это всё будет идти.
Да и нет тут сообщества в участниках группы управления - это тоже минус.
5. Consensys Treasury - 15%.
Команда. Многовато, так как > 10%, но не критично.
Условия разблокировки: полный локап на 5 лет, токены нельзя передавать до окончания периода.
6. Linea Consortium – Ignition – Liquidity (CEX/MM) - 4%.
Разблокировано 100% на TGE.
На MM многовато выделили, но главное чтоб они не слили все токены. В ином же случае возможно нормально. Во всяком случае не такой большой процент.
Всего выпущено (разблокировано) 16.44 млрд LINEA (22.83%).
Ещё много в вестинге.
Следующий разлок будет 10 октября 2025 на сумму 1.02 млрд LINEA (1.42% от общего предложения).
В долларах ~$28.24 млн (≈ 6.6% от рыночной капитализации).
Это может понизить курс до -20-30%. Но если маркет-мейкеры не справятся и не будет спроса.
Здорово же, что разлоки идут всегда на 1.42% каждый месяц - нет всплесков.
Хотя и не столь мало разблокируется. Лучше бы выпускали максимум по 0.7% (крайняк), а лучше 0.3-0.5% в месяц.
В документации нашёл информацию об утилитах $LINEA:
1. Вознаграждение пользователей за использование приложений и протоколов в сети Linea.
2. Поддержка разработчиков и строителей через распределение токенов ранним и стратегическим участникам.
3. Финансирование экосистемы и общественных благ через Ecosystem Fund, управляемый Linea Consortium.
4. Финансирование исследований и разработок Ethereum, а также инфраструктуры - аудитов, инструментов для разработчиков и нод.
5. Дефляционный механизм: сжигание части прибыли в ETH и LINEA для поддержки их ценности.
6. Долгосрочная поддержка экосистемы через казначейство Consensys, хранящее 15% токенов.
Итог:
Ютилити слабые. Да: есть выкуп, но он в ETH и LINEA, а не только в токене. Да и хватит ли комиссий на то, чтоб сформировать спрос - непонятно.
Разлоки не малые, но и не большие. Всплесков нет.
Перспектива есть, но зыбкая.
А вы что думаете про Linea?
Я, если честно, разочарован в токенах L2: считаю, что они особо не нужны, так как в будущем они все будут работать в фоне. Разве что будут использоваться активы проектов, которые создают экосистемы L2 (например, Optimism Op Stack, Arbitrum Orbit, Zk Stack и так далее).
#токеномика #перспектива #Linea #L2.
😎 Незрячий web3 программист (подписаться)
Чат | бот
📟 Прилетело из @blind_dev
Важно:
Этот пост не углубляется в преимущества самого блокчейна и его функционала. Возможно, что сам он окажется успешен, а токен - нет.
Это проект от Consensus - компании, создавшей Metamask. Поэтому перспективы возможны (они могут задействовать сеть в фоне внутри кошелька и своих продуктах).
Ниже же попробуем на основе начального распределения и утилит выяснить, насколько хорош проект для инвестирования.
P. S. Я получил аэрдроп, но сам ничего не покупал.
Источники:
Tokenomist и Cryptorank.
Всего токенов - 72.01 МЛРД.
Начальное распределение:
1. Early Users, Builders, and LPs.
Полный разлок на TGE. Выделено 14% от токенов, что нормально.
2. Future Airdrop - 5%.
2 месяца локап, затем равномерный разблок в течение 6 месяцев.
Как понимаю, это будущие аэрдропы. Процент небольшой, но здорово, что он есть.
3. Linea Consortium – Ignition - 12%.
Linea Consortium - это комитет / группа управляющих, состоящих из организаций, связанных с Ethereum. То есть это не команда, как я в начале думал.
Разлок 33.3% на TGE, оставшиеся разблокируются за 12 месяцев
Linea Ignition - программа вознаграждений за TVL.
Считаю, что процент нормальный.
4. Linea Consortium – Long Term Alignment - 50%.
Линейный разлок в течение 10 лет по убывающему графику (больше токенов в первые годы, меньше со временем).
Как понимаю - это на развитие. Многовато, так как непонятны направления, куда это всё будет идти.
Да и нет тут сообщества в участниках группы управления - это тоже минус.
5. Consensys Treasury - 15%.
Команда. Многовато, так как > 10%, но не критично.
Условия разблокировки: полный локап на 5 лет, токены нельзя передавать до окончания периода.
6. Linea Consortium – Ignition – Liquidity (CEX/MM) - 4%.
Разблокировано 100% на TGE.
На MM многовато выделили, но главное чтоб они не слили все токены. В ином же случае возможно нормально. Во всяком случае не такой большой процент.
Всего выпущено (разблокировано) 16.44 млрд LINEA (22.83%).
Ещё много в вестинге.
Следующий разлок будет 10 октября 2025 на сумму 1.02 млрд LINEA (1.42% от общего предложения).
В долларах ~$28.24 млн (≈ 6.6% от рыночной капитализации).
Это может понизить курс до -20-30%. Но если маркет-мейкеры не справятся и не будет спроса.
Здорово же, что разлоки идут всегда на 1.42% каждый месяц - нет всплесков.
Хотя и не столь мало разблокируется. Лучше бы выпускали максимум по 0.7% (крайняк), а лучше 0.3-0.5% в месяц.
В документации нашёл информацию об утилитах $LINEA:
1. Вознаграждение пользователей за использование приложений и протоколов в сети Linea.
2. Поддержка разработчиков и строителей через распределение токенов ранним и стратегическим участникам.
3. Финансирование экосистемы и общественных благ через Ecosystem Fund, управляемый Linea Consortium.
4. Финансирование исследований и разработок Ethereum, а также инфраструктуры - аудитов, инструментов для разработчиков и нод.
5. Дефляционный механизм: сжигание части прибыли в ETH и LINEA для поддержки их ценности.
6. Долгосрочная поддержка экосистемы через казначейство Consensys, хранящее 15% токенов.
Итог:
Ютилити слабые. Да: есть выкуп, но он в ETH и LINEA, а не только в токене. Да и хватит ли комиссий на то, чтоб сформировать спрос - непонятно.
Разлоки не малые, но и не большие. Всплесков нет.
Перспектива есть, но зыбкая.
А вы что думаете про Linea?
Я, если честно, разочарован в токенах L2: считаю, что они особо не нужны, так как в будущем они все будут работать в фоне. Разве что будут использоваться активы проектов, которые создают экосистемы L2 (например, Optimism Op Stack, Arbitrum Orbit, Zk Stack и так далее).
#токеномика #перспектива #Linea #L2.
😎 Незрячий web3 программист (подписаться)
Чат | бот
📟 Прилетело из @blind_dev
С нуля до Solana Разработчика
В августе 2025 года, я запустил подобный марафон, создав отдельный канал. Условие было 1 - успеть зайти т.к места были ограничены
За два месяца накопилось много материалов и я хочу продолжать подобные "марафоны", поэтому:
форма:
forms.gle/14i7d4LmbJfkRubg8
Дедлайн: 10.10.2025 - 3 дня
📟 Прилетело из @code_vartcall
В августе 2025 года, я запустил подобный марафон, создав отдельный канал. Условие было 1 - успеть зайти т.к места были ограничены
За два месяца накопилось много материалов и я хочу продолжать подобные "марафоны", поэтому:
Я запускаю второй поток обучения Solana. Главное условие - заполнить Google Форму. Сделать это могут все, кто найдет эту форму! Если вы были на первом этапе нашего обучения - заполните форму, чтобы его продолжить!
форма:
forms.gle/14i7d4LmbJfkRubg8
Дедлайн: 10.10.2025 - 3 дня
📟 Прилетело из @code_vartcall
Контекст смарт контракта для AI
Сегодня просто решил поделиться с вами своими наблюдениями, которые я получил создавая небольшой проект на стыке AI/Web3.
В рамках задачи мне нужно было каким-то образом сжать смарт контракт для отправки его в модель LLM для анализа. Само сжатие потребовалось, чтобы уместить один или несколько смарт контрактов в рамки контекстного окна модели. Для тех, кто не в курсе, далее чуть поясню суть проблемы.
Несмотря на то, что современные модели могут иметь контекстные окна (тот объем информации, который они могут обработать за раз) от 200 000 до 1 000 000 токенов, активное внимание хорошо работает только примерено до 100 000 токенов. Другими словами, до этого объема они могут эффективно следовать инструкциям и "не забывать" условия и суть задачи.
Запросы пользователя в чатах не такие уж и большие, зачастую всего 50-250 токенов, поэтому общение в чате может быть достаточно долгим, если не просить модель отвечать развернуто.
Однако проблемы начинают возникать тогда, когда требуется в одном запросе отправить:
пользовательское сообщение + системный промт + контракт + документацию
Детально написанный системный промт может занимать 5к-15к токенов, длинный контракт около 8к-10к, документация и того больше. В итоге один запрос для хорошего анализа смарт контракта может занимать около 30к-40к токенов. И вроде бы ок, если не думать, что для более глубокого анализа связей между функциями нужно добавить еще 2-3 контракта, которые наследуются в первом. И тут уже контекст растет значительно!
Поэтому мне и нужно было как-то сжимать контракты и документацию, чтобы уменьшать количество используемых токенов, хотя бы на 30%-40%, а лучше и больше.
К сожалению, удаление комментариев из файла контракта, уменьшение пробелов и переносов строк, могут бать максимум 5%-8% сокращения. И этого мало.
Общение с ИИ также не сильно помогает: в большинстве своем они дают самые очевидные советы.
Однажды мне пришла мысль, что можно заменить самые часто повторяющиеся слова в контрактах (function, public, view, balanceOf) на какие-либо символы - типа тех же смайлов, так как по уверениям ChatGPT, смайлы занимают всего один токен.
P.S. Тут к слову сказать, что зачастую 1 токен равен около 3,5-4 символам текста, но для разных ИИ это могут быть разные значения.
И вроде как логично, 1 смайл - 1 токен. Но все оказалось сложнее.
Сначала нужно было узнать те самые популярные слова в контактах. Благо в сети можно найти отличные подборки контрактов, которые использовали в различных датасетах. Я получил около 130 000 реальных контрактов.
Затем с помощью простого скрипта на Python, я собрал самые повторяющиеся слова, которых вышло около 150 000 всего. Слов которые повторялись более 500 раз на эту подборку было около 10 000. Их я и решил использовать.
Далее я написал небольшой скрипт, который используя популярные библиотеки для подсчета токенов (antropic, openai, huggingface и базовый - 1 токен/4 символа), прогнал все 10 000 слов.
Далее, собрал все PUA / emoji / редкие символы (UU+E000–U+F8FF) и также прогнал их через скрипт подсчета токенов.
И тут было мое разочарование. Оказалось, что большинство популярных слов в смарт контрактах и так составляют всего 2-3 токена, как и смайлы!
OnlyOwner, balanceOf и другие популярные переменные занимают столько же места в контексте, что и :)!
В данном эксперименте я не учет способ обучения модели на данных! Когда, грубо говоря, GPT обучается на смарт контрактах и видит миллионы из них, то самые часто употребляющиеся слова "сливаются" в меньшее количество токенов, и не зависит от количества символов в слове! Другими словами, модель сама себя оптимизирует по контексту, и таким образом программный код занимает минимально возможное количество токенов. (На самом деле процесс немного сложнее, но суть примерно та же).
И от этой идеи пришлось отказаться...
Но есть пара других: кардинально другой подход, который на первых тестах показал сокращение количества токенов на 45%! Экспериментирую с ним дальше!
📟 Прилетело из @solidityset
Сегодня просто решил поделиться с вами своими наблюдениями, которые я получил создавая небольшой проект на стыке AI/Web3.
В рамках задачи мне нужно было каким-то образом сжать смарт контракт для отправки его в модель LLM для анализа. Само сжатие потребовалось, чтобы уместить один или несколько смарт контрактов в рамки контекстного окна модели. Для тех, кто не в курсе, далее чуть поясню суть проблемы.
Несмотря на то, что современные модели могут иметь контекстные окна (тот объем информации, который они могут обработать за раз) от 200 000 до 1 000 000 токенов, активное внимание хорошо работает только примерено до 100 000 токенов. Другими словами, до этого объема они могут эффективно следовать инструкциям и "не забывать" условия и суть задачи.
Запросы пользователя в чатах не такие уж и большие, зачастую всего 50-250 токенов, поэтому общение в чате может быть достаточно долгим, если не просить модель отвечать развернуто.
Однако проблемы начинают возникать тогда, когда требуется в одном запросе отправить:
пользовательское сообщение + системный промт + контракт + документацию
Детально написанный системный промт может занимать 5к-15к токенов, длинный контракт около 8к-10к, документация и того больше. В итоге один запрос для хорошего анализа смарт контракта может занимать около 30к-40к токенов. И вроде бы ок, если не думать, что для более глубокого анализа связей между функциями нужно добавить еще 2-3 контракта, которые наследуются в первом. И тут уже контекст растет значительно!
Поэтому мне и нужно было как-то сжимать контракты и документацию, чтобы уменьшать количество используемых токенов, хотя бы на 30%-40%, а лучше и больше.
К сожалению, удаление комментариев из файла контракта, уменьшение пробелов и переносов строк, могут бать максимум 5%-8% сокращения. И этого мало.
Общение с ИИ также не сильно помогает: в большинстве своем они дают самые очевидные советы.
Однажды мне пришла мысль, что можно заменить самые часто повторяющиеся слова в контрактах (function, public, view, balanceOf) на какие-либо символы - типа тех же смайлов, так как по уверениям ChatGPT, смайлы занимают всего один токен.
P.S. Тут к слову сказать, что зачастую 1 токен равен около 3,5-4 символам текста, но для разных ИИ это могут быть разные значения.
И вроде как логично, 1 смайл - 1 токен. Но все оказалось сложнее.
Сначала нужно было узнать те самые популярные слова в контактах. Благо в сети можно найти отличные подборки контрактов, которые использовали в различных датасетах. Я получил около 130 000 реальных контрактов.
Затем с помощью простого скрипта на Python, я собрал самые повторяющиеся слова, которых вышло около 150 000 всего. Слов которые повторялись более 500 раз на эту подборку было около 10 000. Их я и решил использовать.
Далее я написал небольшой скрипт, который используя популярные библиотеки для подсчета токенов (antropic, openai, huggingface и базовый - 1 токен/4 символа), прогнал все 10 000 слов.
Далее, собрал все PUA / emoji / редкие символы (UU+E000–U+F8FF) и также прогнал их через скрипт подсчета токенов.
И тут было мое разочарование. Оказалось, что большинство популярных слов в смарт контрактах и так составляют всего 2-3 токена, как и смайлы!
OnlyOwner, balanceOf и другие популярные переменные занимают столько же места в контексте, что и :)!
В данном эксперименте я не учет способ обучения модели на данных! Когда, грубо говоря, GPT обучается на смарт контрактах и видит миллионы из них, то самые часто употребляющиеся слова "сливаются" в меньшее количество токенов, и не зависит от количества символов в слове! Другими словами, модель сама себя оптимизирует по контексту, и таким образом программный код занимает минимально возможное количество токенов. (На самом деле процесс немного сложнее, но суть примерно та же).
И от этой идеи пришлось отказаться...
Но есть пара других: кардинально другой подход, который на первых тестах показал сокращение количества токенов на 45%! Экспериментирую с ним дальше!
📟 Прилетело из @solidityset
Вот такая короткая история! Если у вас были схожие задачи и вы смогли их решить, буду рад, если поделитесь в комментариях!
#ai #contracts
📟 Прилетело из @solidityset
#ai #contracts
📟 Прилетело из @solidityset