code: def nodes(self, type=None, failed=False, participant_id=None):
          
          if type is None:
              type = Node
  
          if not issubclass(type, Node):
              raise TypeError("{} is not a valid node type.".format(type))
  
          if failed not in ["all", False, True]:
              raise ValueError("{} is not a valid node failed".format(failed))
  
          if participant_id is not None:
              if failed == "all":
                  return type.query.filter_by(
                      network_id=self.id, participant_id=participant_id
                  ).all()
              else:
                  return type.query.filter_by(
                      network_id=self.id, participant_id=participant_id, failed=failed
                  ).all()
          else:
              if failed == "all":
                  return type.query.filter_by(network_id=self.id).all()
              else:
                  return type.query.filter_by(failed=failed, network_id=self.id).all()
docs: Get nodes in the network.
  
          type specifies the type of Node. Failed can be "all", False
          (default) or True. If a participant_id is passed only
          nodes with that participant_id will be returned.