Я экспериментирую со смарт-контрактами на блок-цепочке Ethereum. Допустим, у меня есть контракт, что-то вроде SimpleStorage.sol найдено in the Solidity documentation, у которого есть состояние хранения, доступное любому. Как ссылка описывает,Как Smart Contracts обрабатывают несколько пользователей и разные хранилища?
любой мог просто позвонить установить снова с другим значением и переписывает номер
Это приведет к проблемам, а также решение об ограничении доступности этой функции для определенных учетных записей не подходит в моем случае использования. В моем контракте я хочу, чтобы данные, которые каждая из учетных записей устанавливает позже, могут быть доступны другой предопределенной учетной записью (подумайте о связи, когда человек A-> B, поэтому B использует данные исключительно из A и x-> y, где y использует данные исключительно от x. Никакое перекрытие не может существовать там, где y может использовать данные A). По моему мнению, есть 2 решения проблемы:
- Адрес карты друг другу и отслеживать все данные в рамках этого единственного смарт-контракта.
- Имейте разумный контракт «шаблон», к которому будет иметь доступ начальная учетная запись, и создайте отдельный смарт-контракт для каждой новой учетной записи, чтобы просто хранить данные, которые взаимодействуют с шаблоном.
Проблема с происходит, когда отношения между счетами становятся более сложными (карта отдельных структур?) Или большой объем людей пытается хранить свою информацию в договоре.
Проблема с является избыточным. Действительно ли мне нужно создать отдельный «контракт» для каждого человека, пытающегося получить доступ к основному шаблону?
Если мой вопрос неясен, я могу объяснить больше, но я в основном ищу концептуальный ответ. Большинство примеров смарт-контрактов, которые я нашел, либо чрезвычайно просты, либо излишне сложны и не обеспечивают конкретного использования.