hyperledger/fabric · error
no peers available to evaluate chaincode %s in channel %s
Error message
no peers available to evaluate chaincode %s in channel %s
What it means
Gateway evaluator: after collecting endorsers across all orgs for the chaincode on the channel, the list is empty — no peers are known/discovered to evaluate the chaincode, so no endorsement plan can be created.
Source
Thrown at internal/pkg/gateway/registry.go:278
localOrgEndorsers = es
} else {
otherOrgEndorsers = append(otherOrgEndorsers, es...)
}
}
}
// sort all the 'other orgs' endorsers by decreasing block height
sort.Slice(otherOrgEndorsers, sorter(otherOrgEndorsers, ""))
var allEndorsers []*endorser
for _, e := range append(localOrgEndorsers, otherOrgEndorsers...) {
allEndorsers = append(allEndorsers, e.endorser)
}
if len(allEndorsers) > 0 {
layout := []*layout{{required: map[string]int{"g1": 1}}} // single layout, one group, one endorsement
groupEndorsers := map[string][]*endorser{"g1": allEndorsers}
return newPlan(layout, groupEndorsers), nil
}
return nil, fmt.Errorf("no peers available to evaluate chaincode %s in channel %s", chaincode, channel)
}
func sorter(e []*endorserState, host string) func(i, j int) bool {
return func(i, j int) bool {
if e[i].height == e[j].height {
// prefer host peer
return e[i].endorser.address == host
}
return e[i].height > e[j].height
}
}
// Returns a set of broadcastClients that can order a transaction for the given channel.
func (reg *registry) orderers(channel string) ([]*orderer, int, error) {
var orderers []*orderer
var ordererEndpoints []*endpointConfig
addr, exists := reg.channelOrderers.Load(channel)
// if it doesn't exist, get the orderers config for this channelView on GitHub (pinned to 2736b63f8f)
Solutions
- Confirm the chaincode is deployed on the channel
- Ensure the peer has joined the channel and discovery data is populated
- Retry after peers come online
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at internal/pkg/gateway/registry.go:278 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hyperledger/fabric@2736b63f8f (2026-09-04).
Data as JSON: /api/errors/69b96dd8d3cca737.
Report an issue: GitHub.