сохранение значения с несколькими ключами в структуре Hyperledger с использованием go chaincode

Я хочу сохранить значение с несколькими ключами в блокчейне Hyperledger Fabric, используя код цепочки go.

Например, у меня есть актив, который я хочу запросить, используя его id и name. Один из подходов заключается в том, что я могу сделать PutState(..) дважды, один раз с его id, а затем с name ключами.

err := stub.PutState('256', []byte("My Value"))
err = stub.PutState('nissan26',[]byte("My Value"))

Но проблема в том, что когда я вношу изменения с помощью одного ключа, это не отражается на другом.

Можно ли подойти к чему-то подобному в go chaincode?


person Asad Hayat    schedule 02.04.2018    source источник


Ответы (1)


Если я вас правильно понял, вы хотите иметь возможность запрашивать актив на основе id или name. Хотя можно придумать схему для этого, используя хранилище состояний по умолчанию (которое представляет собой просто встроенное хранилище ключей/значений), предпочтительным методом будет использование CouchDB в качестве хранилища состояний. При использовании CouchDB вы можете моделировать свои активы с помощью JSON, а затем использовать расширенные API-интерфейсы запросов в чейнкоде для запросов на основе любого из полей.

person Gari Singh    schedule 03.04.2018