Skip to content

Simple expample of upgradable contracts in Ethereum network

License

Notifications You must be signed in to change notification settings

alerdenisov/upgradable-contracts

Repository files navigation

Solidity Upgradable Contracts

Общее описание

Данный репозиторий демонстрирует подход к реализации контрактов с возможностью их обновления.

Мотивация

Контракты сети Ethereum иммутабельны – единожды загруженные в сети (блокчейн), они не могут быть изменены. Специфика бизнеса или разработки могут потребовать обновить код, но при традиционном подходе это становится проблемой.

Популярные причины необходимости обновления

  • Ошибки в коде
  • Изменение бизнес требований
  • Принятие предложений сообщества по изменению работы кода

Описание технического решения

Реализация требуемого функционала — обновление кода, планируется через разделение кода на составляющие:

  • Данные — смарт-контракты без логики и предоставляющие исключительно пространство для хранения данных;
  • Бизнес-логика — смарт-контракты описывающие логику извлечения данных из хранилища и их изменения;
  • Входные точки — иммутабельные контракты ведут учет обновления бизнес-логики и предоставляют конечному пользователю ссылку на актуальный контракт бизнес-логики

Примеры реализации с статьи на тему:

About

Simple expample of upgradable contracts in Ethereum network

Resources

License

Stars

Watchers

Forks

Packages

No packages published