sig
  type t
  type service = {
    expires : float option;
    endpoints : Tilde_endpoint.t list;
  }
  val create :
    keypair:string * string ->
    domain:string ->
    host:string -> port:int -> ZMQ.Context.t -> Tilde_node.t Lwt.t
  val listen : Tilde_node.t -> 'Lwt.t
  val services : Tilde_node.t -> (Tilde_uri.t, Tilde_node.service) Hashtbl.t
end