Объединить данные цепочки блоков

Итак, у меня есть контракт под названием Person. Скажем, каждый договор служит документом, удостоверяющим личность человека. Блокчейн развертывается с использованием этого смарт-контракта для организации А.

Теперь у организации B также развернута собственная цепочка блоков, и этот Personсмарт-контракт выполняется 1000 раз.

Теперь A и B решают создать консорциум и хотят поделиться этими экземплярами Personданных контракта. У них уже развернута собственная приватная цепочка блоков, но теперь они хотят работать в одной цепочке блоков, чтобы эти смарт-контракты и удостоверения можно было использовать совместно.

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

Создайте новый (третий) смарт-контракт, который определяет пути обновления для обеих Personсущностей из Aи B, и используйте его в качестве ссылки на будущее, а старые контракты — для подтверждения происхождения записей.
Пожалуйста, проверьте этот ответ, это может помочь в вашей проблеме. эфириум.stackexchange.com/a/10960/4575
@ 5chdn Контракт человека также имеет серьезные разрешения, например, только создатель контракта и его изменение, и только определенный адрес администратора имеет доступ к CRUD, кроме владельца.
heavy permissioningБоюсь, это противоречит конструктивному обоснованию смарт-контракта. Технически ничто не мешает вам это сделать. но посмотри это
@niksmac Цель смарт-контрактов — создать самоисполняемый код. Если этот код регулирует такие вещи, как передача активов или даже эфира, то вы хотите защитить смарт-контракт. В Solidity есть целая функция modifiers, которая была создана для разрешения и проверки предварительных условий.

Ответы (1)

Чтение данных из блокчейна бесплатно.

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

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

Если это частные сети, вы можете выбрать транзакции с нулевой комиссией, чтобы вы могли писать в новую сеть бесплатно.

Вы можете читать из первых двух цепочек и записывать в третью, например , с помощью web3 .

Может кто-нибудь объяснить, почему этот ответ имеет отрицательный голос? Это решение кажется мне вполне разумным.