Есть ли способ читать из контекста только после того, как все записи выполняются в hyperledger fabri c? - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь реализовать структуру данных очереди на фабрике гиперссылки c. Для этого мне нужна какая-то семантика блокировки записи-чтения (после удаления элемента из очереди он должен быть недоступен из контекста ни одному узлу).

Я не нашел для этого никаких механизмов еще.

Вот что у меня:

item.IsRemoved = true
updatedItemAsBytes, _ := json.Marshal(item)
ctx.GetStub().PutState(queryResponse.Key, updatedItemAsBytes)
bytes, _ := ctx.GetStub().GetState(queryResponse.Key) 
element := new(QueueItem)
_ = json.Unmarshal(bytes, element)

А затем element.IsRemoved по-прежнему false (значение по умолчанию). Насколько я понимаю, это потому, что транзакции не блокируются, и новое значение будет доступно только после того, как узлы подтвердят его правильность.

Как справиться с этим случаем? Есть ли какие-нибудь методы API? Нужно ли менять правила подтверждения транзакции на одиночный (текущий) узел? Или как правильно сделать это в гиперссылке?

...