2016-11-07 2 views
4

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

, например:

A transfers 10 units to B 
A transfers 5 units to C 
D transfers 8 units to A 

Когда я прохожу ключом в то ткань должна предоставить мне все сделки А. Есть ли способ? Или какой из функций функции API API следует использовать?

ответ

3

Вы можете разработать правильную функцию индексирования и запроса в своем цепочном коде.

Для каждой транзакции вы храните ее данные во внутреннем хранилище ключей/значений (stub.PutState) с ключом пользователя и возвращаете все транзакции, связанные с пользователем в вашем запросе (stub.GetState).

+0

Я думаю, что должна быть функциональность, чтобы видеть, по крайней мере, все транзакции в одном вызове, но ткань предоставила REST API GET/transaction/{tx_UUID}, используя которую мы можем видеть только одну транзакцию за раз. Например, Bitcoin Blockchain предоставил это. –

4

/chain/blocks/{Block} конечная точка несет упорядоченный список транзакций в указанном блоке.

Используйте конечную точку /chain, чтобы получить высоту (количество блоков) вашей цепочки, а затем извлекайте транзакции из каждого блока с помощью /chain/blocks/{Block} конечной точки REST.

+0

Благодарим за поддержку. –

+0

Спасибо, но я решил эту проблему, поддерживая подход индексации, предложенный Марком Кампорой, таким образом я получаю всю информацию о транзакции по одному вызову. Это не значит, что ваш ответ неверен, но в вашем подходе я должны зацикливаться, чтобы получать данные по каждой транзакции. –

1

Самый лучший и простой способ заключается в использовании Shim ПАКЕТ функция

GetHistoryForKey (ключ строка)

В документации сказано:

функция GetHistoryForKey может быть вызываемый цепочным кодом для возврата истории ключевых значений во времени. GetHistoryForKey предназначен для использования только для чтения.

Смежные вопросы