Обновление умного контракта в ethereum - PullRequest
0 голосов
/ 19 мая 2018

Я пытаюсь написать обновляемый умный контракт в ethereum.Может кто-нибудь привести пример обновляемого умного контракта в ethereum и доступа к данным.

Ответы [ 2 ]

0 голосов
/ 07 июля 2019

Смарт-контракт не может быть заменен, но вы можете создать прокси-сервер смарт-контракта, чтобы иметь возможность заменить вызов всех новых функций смарт-контракта (предыдущие смарт-контракты не могут быть удалены в основной сети ethereum).

Полное объяснение и примеры можно увидеть Здесь

0 голосов
/ 05 июня 2018

Чтобы написать обновляемый интеллектуальный контракт, я предлагаю вам сделать следующее (работает для меня):

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

Тадаа, что у вас теперь естьобновляемый набор умных контрактов.

...