code: func Participant(puller ChainPuller, analyzeLastConfBlock SelfMembershipPredicate) error {
  	lastConfigBlock, err := PullLastConfigBlock(puller)
  	if err != nil {
  		return err
  	}
  	return analyzeLastConfBlock(lastConfigBlock)
  }
docs: // Participant returns whether the caller participates in the chain.
  // It receives a ChainPuller that should already be calibrated for the chain,
  // and a SelfMembershipPredicate that is used to detect whether the caller should service the chain.
  // It returns nil if the caller participates in the chain.
  // It may return:
  // ErrNotInChannel in case the caller doesn't participate in the chain.
  // ErrForbidden in case the caller is forbidden from pulling the block.
  // ErrServiceUnavailable in case all orderers reachable cannot complete the request.
  // ErrRetryCountExhausted in case no orderer is reachable.