TGViewer
Из Solidity в AI и дальше Из Solidity в AI и дальше @solidityset · 2.49K subscribers
Post #1397 1.13K
Стандарт ERC-6909 Minimal Multi-Token Standard. Часть 4

В последнем посте про этот стандарт поговорим о способах его применения.

Как Uniswap v4 PoolManager реализует ERC-6909?

В Uniswap третьей версии для каждой новой торговой пары создавался отдельный смарт-контракт через фабрику UniswapV3Factory. Это приводило к высоким комиссиям, поскольку развертывание нового контракта для каждого пула требовало дополнительных затрат газа.

Четвертая версия Uniswap кардинально изменила подход, внедрив единый управляющий контракт PoolManager.sol. Вместо создания отдельных контрактов для каждого пула, все операции теперь выполняются в рамках одного главного контракта, что существенно уменьшает затраты на создание новых торговых пар.

В предыдущих версиях сложные операции с участием нескольких пулов сопровождались множественными переводами токенов и дублирующими обновлениями данных. В Uniswap v4 применяется принципиально новая схема - токены хранятся в виде внутренних записей стандарта ERC-6909, что исключает необходимость физических переводов.

Пользователи по-прежнему могут выводить свои средства в виде стандартных ERC-20 токенов. Однако если активы остаются в протоколе, система использует их виртуальное представление по стандарту ERC-6909, что ускоряет операции и снижает комиссии. Такой подход позволяет совершать сделки без постоянного перемещения токенов между кошельками и контрактами.

При торговле между токенами A и B система просто изменяет соответствующие записи в рамках внутреннего учета, а не выполняет фактические переводы. Стоит отметить, что в Uniswap v4 стандарт ERC-6909 не применяется для токенов, представляющих долю в пуле ликвидности (LP-токены).

Метаданные ERC-6909 для синглтон-архитектур DeFi и NFT-коллекций

Интерфейс IERC6909Metadata определяет, как стандарт ERC-6909 связывает метаданные (name, symbols, decimals) с отдельными токенами.

Функции name, symbol и decimals могут изменяться в зависимости от id токена, позволяя разным токенам в рамках одного ERC-6909 контракта иметь уникальные параметры.

/// @notice Contains metadata about individual tokens.
interface IERC6909Metadata is IERC6909 {
/// @notice Name of a given token.
/// @param id The id of the token.
/// @return name The name of the token.
function name(uint256 id) external view returns (string memory);

/// @notice Symbol of a given token.
/// @param id The id of the token.
/// @return symbol The symbol of the token.
function symbol(uint256 id) external view returns (string memory);

/// @notice Decimals of a given token.
/// @param id The id of the token.
/// @return decimals The decimals of the token.
function decimals(uint256 id) external view returns (uint8);
}


Для DeFi-протокола с несколькими LP-токенами может потребоваться стандартизация количества знаков после запятой (например, фиксированные 18 decimal), при этом названия и символы токенов должны отражать различные активы в пуле.

В случае с NFT (невзаимозаменяемыми токенами) значение decimals всегда должно быть равно 1, поскольку NFT неделимы.

В традиционных NFT-коллекциях (например, ERC-721) все токены используют одинаковые название и символ, представляющие коллекцию целиком (например, "CryptoPunks" с символом "PUNK"). Стандарт ERC-6909 позволяет сохранить подход ERC-721, где все NFT в коллекции разделяют общие метаданные.

Еще несколько интересных примеров с кодом вы можете посмотреть в оригинальной статье от RareSkills тут.

#eip6909
  • 👍 3
More from @solidityset
  1. Sep 22, 2026Какой язык программирования учить сейчас? На днях в Твиттере увидел небольшой пост о разви…
  2. Sep 18, 2026Интересная модель Jev Буквально пару дней назад в Твиттере многие начали обсуждение новой…
  3. Sep 14, 2026Графы повсюду Если вы также следите за новостями в мире ИИ, то наверняка уже все чаще встр…
  4. Sep 10, 2026GTA6, Cyberleek, блокчейн и безопасность Увидел несколько постов (тут и тут) про Cyberleek…
  5. Sep 9, 2026Работа с чистой энергией Дисклеймер Сегодня ава и название канала, наконец, поменялись. Я…
  6. Sep 9, 2026Channel name was changed to «Из Solidity в AI и дальше»
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →