hyperledger / hyperledger/fabric

Chaincode-to-Client error handling

Open
#3,154 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Go
Stars
16.7k
Forks
9.1k
Avg merge
5h 38m
Merged PRs (30d)
26

Description

Summary:

It is hard for client applications to distinguish between different classes of errors (communication, Fabric Peer/Orderer issues, Application Contract errors). String parsing is in part a solution today - this is not reliable enough. Similarly, it is not easy for contracts to issue application-level errors.

The problem is that error information beyond the string message doesn’t flow back properly. This is partly because nobody has ever decided on the right pattern to follow, partly because the different chaincode and client API language implementations tend to have subtle differences in behaviour, and partly because the Fabric internals inhibit the flow of good error information back to the client.

- [ ] Confirm what the flow back from the chaincode is to the peer.
- [ ] What is the route through the peer/orderer for this structure for both 'evaluate/submit' transactions
- [ ] How this application error is then surfaced back to client applications
- [ ] How is the application error 'injected' within the chaincode

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.