Open
Description
Current Status
As part of developing business logic in fabric smart contracts, if we need information
outside of blockchain, request for seamless integration of Oracle service with chaincode
to process blockchain transactions. Protocol should be able to support pausing transaction
endorsement, fetch information from Oracle service (if not already available) and resume endorsement
and commit of transactions.
This feature would be handy for fabric smart contract developers to dynamically fetch
information outside of blockchain and integrate with smart contract.
Expected
Required methods in supported languages (Go, java, javascript/typescript) to integrate Oracle with chaincode.
Fetch information from external service and resume transaction processing.
Solution
- One possible approach to register data points along with details of external REST API endpoint details, input payload, expected data type of response.
Once registered, fabric protocol can fetch information from external API service periodically with frequency mentioned
by developer / organization admins. Chaincode can simply invoke get APIs to read information within fabric ledger.
(or) - Otherway is to on-demand fetch information from external service when processing transactions in chaincode using regular transaction flow of endorsement and commit.
Please let us know if you plan to work on this.
No.