Чтобы написать обновляемый интеллектуальный контракт, я предлагаю вам сделать следующее (работает для меня):
- Создать контракт на хранение, в котором вы будете хранить всю свою карту и переменные.Добавить модификатор к функциям, меняющим состояние.Этот модификатор должен требовать, чтобы в конкретной карте был указан адрес (назовем его авторизованным), чтобы изменить состояние карты или переменной.Поместите адрес владельца в эту карту.
- Напишите функцию для авторизации внешнего адреса в договоре хранения
- Разверните другой контракт, содержащий логику вашего приложения.
- Выполните авторизацию логического контракта в договоре хранения.
- При обновлении логики, запретите доступ к договору хранения из договора логики, разверните обновленную логику и свяжите новый договор с хранилищем.
Тадаа, что у вас теперь естьобновляемый набор умных контрактов.