How npci/drunix works
Drunix is an enterprise blockchain platform forked from Hyperledger Fabric. Its principal workflow is a client transaction being endorsed, ordered, validated, and committed to a channel ledger. The graph also preserves the documented peer-role separation, SQL-backed on-chain storage, reduced-call private-data sharing, and stateless validation service. Paths identify supported source locations; several feature implementations are represented at their enclosing directories because their specific files were not sampled.
Main entry points: endorser.go Endorsement Peer · kv_ledger.go Channel Ledger · committer_impl.go Commit Peer · txvalidator Stateless Validation
Components 18
Transaction Processing
- Endorsement Peer
core/endorser/endorser.go - Commit Peer
core/committer/committer_impl.go - Stateless Validation
core/committer/txvalidator - Validation Plugins
core/handlers/validation
Chaincode Execution
- Chaincode Runtime
core/chaincode - Chaincode Lifecycle
core/chaincode/lifecycle
Ledger and State
- Channel Ledger
core/ledger/kvledger/kv_ledger.go - Block Storage
common/ledger/blkstorage/blockstore.go - SQL State Storage
core/ledger/kvledger/txmgmt/statedb - Private Data
core/common/privdata
Network Services
- Ordering Service
orderer/consensus/etcdraft/storage.go - Block Delivery
core/deliverservice/deliveryclient.go - Service Discovery
discovery
Identity and Policy
- Membership Identity
msp - Policy Evaluation
common/policies - Channel Configuration
common/channelconfig
Other components
- Client
- Peer Operator
Connections 17
- Client → Endorsement Peer: proposes transaction
- Endorsement Peer → Chaincode Runtime: invokes chaincode
- Chaincode Runtime → Chaincode Lifecycle: resolves deployment
- Endorsement Peer → Client: returns endorsement
- Client → Ordering Service: submits transaction
- Ordering Service → Commit Peer: delivers blocks
- Commit Peer → Stateless Validation: validates transactions
- Stateless Validation → Validation Plugins: dispatches validation
- Commit Peer → Channel Ledger: commits blocks
- Channel Ledger → Block Storage: stores blocks
- Channel Ledger → SQL State Storage: updates state
- Endorsement Peer → Private Data: handles private data
- Peer Operator → Service Discovery: queries network
- Channel Ledger → Block Delivery: serves ledger data
- Endorsement Peer → Membership Identity: checks identities
- Stateless Validation → Policy Evaluation: evaluates policies
- Peer Operator → Channel Configuration: configures channel