Определение бухгалтерской книги - PullRequest
0 голосов
/ 27 августа 2018

Я читал документацию фабрика гиперледжеров .На странице поток транзакций я нашел эту строку

The chaincode (containing a set of key value pairs representing 
the initial state of the radish market) is installed on the peers and
instantiated on the channel.

Эта строка смутила меня.Я думаю, что это определение Ledger . Но здесь это написано в виде цепочки кодов.

Правильно ли мое восприятие?

Может кто-нибудь объяснить мне?

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

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

How ledger and chaincode relate in Fabric?

Цепной код - это программа (умный контракт), которая написана для чтения и обновления состояния регистра.

0 голосов
/ 27 августа 2018

Цепной код (или более известный термин «умный контракт») определяет набор бизнес-моделей, определений транзакций и логики, которые приложение (SDK) может использовать для создания транзакций.Для предложения, которое вы показываете выше, это не относится к определению кода цепи.Я полагаю, что это просто передает идею, что список редисок (в паре ключ и значение) уже определен в коде цепочки, поэтому, как только он будет создан (или вызывается функция initRadish, если она существует в коде цепочки),Список редисок станет частью мирового состояния в Главной книге.

Как регистр и цепной код связаны в Fabric?

ГК состоит из двух компонентов, а именно, состояния мира и блокчейна.Состояние мира хранит последние значения ключа, тогда как блокчейн хранит весь журнал транзакций, который ведет к состоянию мира.

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

Например, у вас есть функция с именем buyRadish(radishID, newOwner), определенная в коде цепи.Предположим, есть редиска с ключом R1001 со значением {"owner": FarmerA, "status": OnSale}.Это пара ключ-значение перед любой транзакцией.Как только функция в коде цепи вызывается с аргументом radishID = R1001, newOwner = Ken, создается транзакция, и состояние редьки с ключом R1001 станет {"owner": Ken, "status": Sold}.Обратите внимание, что это последнее состояние редьки будет видно на мировом уровне.

В приведенном выше примере вы можете думать следующим образом: регистр хранит последние пары ключ-значение (или, если быть точным, последнее значение ключа).Цепной код может иметь несколько пар ключ-значение для целей инициализации;однако дело в том, что мы передаем новый набор пар ключ-значение (radishID = R1001, newOwner = Ken) в качестве аргумента функции в коде цепочки, чтобы обновить значения того же ключа (radishID = R1001) в состоянии мирабухгалтерская книга

Надеюсь, это поможет.

...