Table of Contents |
---|
...
...
After transaction commit completion notification, validate block hashes the same on peers if desired
Each peer logs its block commit hash every block at INFO level. The block commit hash is a hash over all valid transactions that are written to state database. So you can compare block commit hashes across peers to ensure no fork. Look for a peer INFO message every block containing 'commitHash', e.g.:
commitHash=[0d01cbc2d186675855d5b52f2bda5050ff7238d2527062d0fd5c0a8220d817fa]
Some users do like to validate query results by querying a 2nd peer to ensure they get the same results, that certainly is a valid pattern for critical applications.
Related upcoming work:
https://jira.hyperledger.org/browse/FAB-106 - A 'checkpoint' feature will allow peers to bootstrap a channel from a known good state without having to process all prior blocks since genesis block. The feature can also be used to compare global state across peers.
https://jira.hyperledger.org/browse/FAB-33 - BFT for ordering service to ensure a sufficient number of ordering service nodes sign off on blocks.
We will socialize RFCs for these proposed work items once they become available.
Thanks,
Dave Enyeart
...
step 5 - any dependent actors are notified of the completion of the purchase which may trigger additional transactions ( eg start an automatic purchase warranty etc )
Fabric v3x Features
see HLF Contributor 2024 meeting notes
https://wiki.hyperledger.org/display/fabric/Contributor+Meetings+2024
Remaining items for production v3.0 release
- Previously deprecated features that have already been removed in v3 main branch
- system channel
- solo ordering (instead, utilize single node Raft)
- kafka ordering (instead, utilize Raft)
- configtxgen flag
--outputAnchorPeersUpdate
flag (instead, utilize channel config updates) - fabric-tools image (instead, utilize client connections into Fabric networks)
- Need to finish
- Finish SmartBFT
- Finish tests
- Fix frequent test failures in SmartBFT unit tests and integration test
- Allow the peer delivery client to select between Deliverer or BFTDeliverer - PR #4856
- Finish v1 chaincode lifecycle removal - keep external APIs but just return an error message - Tatsuya can help Artem
- Remove ability to specify orderer endpoints in channel configuration at global level 'Orderer.Addresses' as deprecated in v2 (instead, utilize v2 'OrdererEndpoints' in org config) - PR #4800
- Change peer property blockGossipEnabled default to false - Block dissemination via gossip already deprecated in v2 (recommendation is to configure all peers as org leaders to receive blocks from ordering service).
- Finish SmartBFT
- #3663 Fabric v3 epic misc items
- #3306 new channel config MaxWriteSize, prevents large writes that potentially exceeds CouchDB max_document_size
- #3343 ed25519 support
- #3650 fabric-protos Go bindings based on protocol buffer APIv2 (v1 protobuf is deprecated) - potential deferral
- #3704 older v3 ideas from Jira - e.g. Remove support for remaining Go plugins (endorsement and validation plugins) - potential deferral
Potential Value Opportunities
...