Есть ли способ отключить чтение из Hyperledger Fabric на какое-то время?
Мне нужно, чтобы в течение определенного периода времени разрешалась только запись в Hyperledger Fabric, после чего разрешалось только чтение из Hyperledger Fabric.
Есть ли способ отключить чтение из Hyperledger Fabric на какое-то время?
Мне нужно, чтобы в течение определенного периода времени разрешалась только запись в Hyperledger Fabric, после чего разрешалось только чтение из Hyperledger Fabric.
Вы можете добавить транзакцию в свой чейнкод, которая обновит значение состояния, которое могут проверить другие ваши функции чейнкода.
Например, транзакция disable_write может установить переменную состояния, которую может проверить другой код цепочки транзакций перед записью/изменением состояния мира. Если переменная установлена, не позволяйте транзакции «записи» выполняться.
Затем вы также можете добавить вторую транзакцию, чтобы разрешить запись.
Единственный способ заблокировать чтение любого клиента из блокчейна должен быть закодирован в развернутом смарт-контракте и с применением соответствующей логики в зависимости от ваших желаемых временных политик, вы вернете запрошенные данные или ошибку, указывающую, что чтение не разрешено.
Нашел это сегодня на https://chat.hyperledger.org/channels/fabric-questions:
Вопрос:
с оперативной точки зрения, можете ли вы «остановить» канал для транзакций прикладного типа? То есть «заморозить» канал (т. е. задан вопрос с точки зрения оперативного управления, основанный на временном событии).
Джеффгаррат ответил:
одна из возможностей — изменить политики, связанные с каналом, с помощью обновления конфигурации. Однако в целом изменения конфигурации требуют нескольких подписей от участников канала. но как только конфигурация изменена, вы можете эффективно «остановить» канал, то есть изменить возможность записи. это все равно разрешит чтение, но цепочка не будет продвигаться, так как запись не разрешена.