Как сеть composer представлена в среде выполнения Fabric. Имеют ли экземпляры активов, созданные в сети композитора, отношение один к одному с активами, созданными в реальной среде выполнения фабрики?
Какова связь между активами, созданными в сети композитора, и активами в чейнкоде фабрики?
Ответы (2)
В Fabric нет концепции ресурсов — он использует хранилище ключей/значений (LevelDB) или может использовать CouchDB (хранилище JSON).
Когда транзакция Composer обрабатывается (что соответствует транзакции invokeChaincode для Fabric), любые созданные активы сохраняются как новые ключи в хранилище "ключ-значение" или документы в хранилище JSON.
Composer объединяет активы и участников в «реестры», которые используются для создания составных имен ключей, сохраняя связанные активы вместе и предотвращая конфликты имен.
Ключевой особенностью Fabric и других блокчейнов является Распределенный реестр. Из документации Fabric:
Реестр — это упорядоченная, защищенная от несанкционированного доступа запись всех переходов состояний в фабрике. Переходы состояний являются результатом вызовов чейнкода («транзакций»), отправленных участвующими сторонами. Каждая транзакция приводит к набору пар ключ-значение актива, которые фиксируются в реестре при создании, обновлении или удалении.
Реестр состоит из блокчейна («цепочки») для хранения неизменяемой, упорядоченной записи в блоках, а также базы данных состояний (или состояния мира) для поддержания текущего состояния структуры.
Когда актив создается из компоновщика через Hyperledger, структура этого объекта сериализуется и сохраняется, чтобы гарантировать, что реестр используется для отслеживания создания этого актива. Точно так же другие операции с активами Hyperledger Composer переводятся таким образом, что они отслеживаются реестром.
В дополнение к простому отслеживанию активов и их обновлений либо через API Composer, либо путем отправки транзакций Composer, Composer добавляет возможности для принудительного применения ACL. Это ACL в области ресурсов, определенных в Composer.
Таким образом, если вы рассматриваете структуру как предоставление распределенного реестра с концепциями окончательности, происхождения, неизменности и т. д., то Hyperledger Composer — это абстракция поверх реестра, которая отображает концепции активов, участников и т. д. в формат, который сохраняется в бухгалтерской книге.