async init() {
    this.protoroot = await protobuf.load(`${__dirname}/protobuf/sync.proto`);
    this.socket = new Subscriber();
    this.socket.connect(this.remoteNodeAddress);
    this.socket.subscribe();
    this.heartbeatTimer = setInterval(
      () => this.checkHeartbeat(),
      this.heartbeatDelay,
    );

    this.listen();
  }
Initializes this class, establishes a connection to the remote node and
starts listening to it.