Композируемость в Web3: как контракты строятся друг на друге
Композабельность в Web3 означает, что смарт-контракты могут вызывать друг друга и объединяться, как кубики Lego, поэтому приложения переиспользуют код и ликвидность в одной цепочке.

На этой странице
- Вызываемая функция открыта для любого контракта, если автор не ограничил её.
- Композабельность связывает приложения в одной цепочке; интероперабельность связывает цепочки.
- Сломанный протокол может обрушить все приложения в одной транзакции.
Собственность принадлежит платформе, а не какому-либо отдельному приложению. Она определяет, что могут создавать разработчики и что пользователи могут сделать за один шаг.
Как работает композабельность?
Контракты в одной цепочке сочетаются, как кубики Lego. Новое приложение может переиспользовать код, ликвидность и балансы, которые уже там есть, вместо того чтобы создавать их самостоятельно.
Контракт может вызвать публичную функцию другого контракта в рамках одной транзакции. Если вызов завершается неудачей и не обработан, вся транзакция откатывается; некоторые сбои можно перехватить.
Где люди видят композабельность?
DeFi — это сфера, где композабельность проявляется чаще всего. Отдельные протоколы действуют как части одного потока.
- Своп обменивает один токен на другой.
- Лендинговое приложение принимает токен в качестве залога.
- Стратегия доходности заставляет заёмные токены работать.
- Кошелёк объединяет вызовы в одно подтверждение.
Каковы риски и ограничения композабельности?
Когда приложения зависят друг от друга, проблема в одном может затронуть остальные. Баг или опустошённый пул может вызвать сбои по всей транзакции. Ликвидность тоже может смещаться.
Чем это отличается от интероперабельности?
Композабельность работает в одной цепочке, где контракт может напрямую вызвать другой. Интероперабельность связывает отдельные блокчейны.
Часто задаваемые вопросы
Нет. Любая платформа смарт-контрактов может предоставлять вызываемые функции, поэтому игровые и художественные приложения тоже могут быть композабельными.
Обычно напрямую нет. Кроссчейн-композабельность ограничена и часто опирается на мосты, которые добавляют риск.
Может. Тогда безопасность вашего приложения зависит от кода, который написали не вы.
Разработчик решает, какие функции можно вызывать; публичная функция открыта для любого контракта, если нет контроля доступа.






