diff --git a/lib/bcoin/peer.js b/lib/bcoin/peer.js index e6770e75..7e032792 100644 --- a/lib/bcoin/peer.js +++ b/lib/bcoin/peer.js @@ -97,7 +97,14 @@ Peer.prototype._init = function init() { }, this._ping.interval); // Send hello - this._write(this.framer.version()); + this._write(this.framer.version({ + height: this.options.startHeight != null + ? this.options.startHeight + : 0, + //: this.pool.chain.index.heights[this.pool.chain.index.heights.length-1], + relay: this.options.relay + })); + this._req('verack', function(err, payload) { if (err) return self._error(err); diff --git a/lib/bcoin/pool.js b/lib/bcoin/pool.js index 471eafe0..56bafde3 100644 --- a/lib/bcoin/pool.js +++ b/lib/bcoin/pool.js @@ -105,7 +105,9 @@ Pool.prototype._addLoader = function _addLoader() { return; var peer = new bcoin.peer(this, this.createConnection, { - backoff: 750 * Math.random() + backoff: 750 * Math.random(), + startHeight: this.options.startHeight, + relay: this.options.relay }); this.peers.load = peer; @@ -242,7 +244,9 @@ Pool.prototype._addPeer = function _addPeer(backoff) { return; var peer = new bcoin.peer(this, this.createConnection, { - backoff: backoff + backoff: backoff, + startHeight: this.options.startHeight, + relay: this.options.relay }); this.peers.pending.push(peer); diff --git a/lib/bcoin/protocol/framer.js b/lib/bcoin/protocol/framer.js index d75b80c0..10b8e3f5 100644 --- a/lib/bcoin/protocol/framer.js +++ b/lib/bcoin/protocol/framer.js @@ -97,7 +97,7 @@ Framer.prototype.version = function version(packet) { } // Start height - off += writeU32(p, packet.height, off); + off += writeU32(p, packet.height || 0, off); // Relay p[off++] = packet.relay ? 1 : 0;