Рабочий дневник: День 88
Сегодня я отвлекся от Fullstack-будней. Мы обсудили наши ошибки в работе на работе. Оказалось, что многие наши «инновации» уже были реализованы нашим начальником.
Он прошел через те же грабли и советовал использовать его кодовую базу или предложить обоснованную альтернативу.
Приведу пример. Мы решили внедрить систему ролей (владелец, редактор) в проекте…
Для этого выбрали стороннее решение – контракт OpenZeppelin Access Control. На первый взгляд он отлично подходил для задачи.
Но возникла проблема. Каждый вызов этого контракта запускал цепочку обращений к другим внутренним контрактам OpenZeppelin. Это привело к росту стоимости:
1️⃣Создание канала подорожало с 10 тысяч до 1 миллиона рублей
2️⃣Выросла цена деплоя за счет увеличения веса контрактов (?)
Решение этих проблема, как мы поняли, кроется в Proxy Pattern. Этот паттерн использует контейнер для хранения данных. Вызов его функций обходится дешевле при обновлении.
Cхожую проблему решает Virtual Table Ethereum (что на картинке) – схема работы с виртуальной таблицей для версионирования смарт-контрактов без полного переразвертывания.
Как говорится: "Один шаг назад, два шага вперед".
📊 #статистика День 1076 == 2130 час в IT
Post #1250
4.13K
Джун на фронте | IT Dev Log Рабочий дневник: День 84 На работе всё идёт своим чередом. Мы продолжаем разработку Web3-гомункула на базе Ethereum, что-то среднее между Twitter и Telegram. 🔧 Пока ждали дизайн, мы с Android-девом формировали задачи для нашего Solidity-дева. Работать с…

- 🔥 6
- 🤡 4