bitcore/examples/PeerManager.js

49 lines
1.0 KiB
JavaScript
Raw Normal View History

2014-02-19 11:48:52 -08:00
'use strict';
2014-03-12 09:08:52 -07:00
var run = function() {
2014-03-12 10:21:23 -07:00
// Replace '../bitcore' with 'bitcore' if you use this code elsewhere.
var bitcore = require('../bitcore');
var networks = bitcore.networks;
var Peer = bitcore.Peer;
2014-03-12 09:08:52 -07:00
var PeerManager = require('soop').load('../PeerManager', {
network: networks.testnet
});
2014-02-24 04:06:54 -08:00
2014-03-12 09:08:52 -07:00
var handleBlock = function(info) {
console.log('** Block Received **');
console.log(info.message);
};
2014-03-12 09:08:52 -07:00
var handleTx = function(info) {
var tx = info.message.tx.getStandardizedObject();
2014-02-19 11:48:52 -08:00
2014-03-12 09:08:52 -07:00
console.log('** TX Received **');
console.log(tx);
};
2014-03-12 09:08:52 -07:00
var handleInv = function(info) {
console.log('** Inv **');
console.log(info.message);
2014-02-24 04:06:54 -08:00
2014-03-12 09:08:52 -07:00
var invs = info.message.invs;
info.conn.sendGetData(invs);
};
2014-02-24 04:06:54 -08:00
2014-03-12 09:08:52 -07:00
var peerman = new PeerManager();
2014-02-19 11:48:52 -08:00
2014-03-12 09:08:52 -07:00
peerman.addPeer(new Peer('127.0.0.1', 18333));
2014-02-24 04:06:54 -08:00
2014-03-12 09:08:52 -07:00
peerman.on('connection', function(conn) {
conn.on('inv', handleInv);
conn.on('block', handleBlock);
conn.on('tx', handleTx);
});
2014-03-12 09:08:52 -07:00
peerman.start();
2014-02-24 04:06:54 -08:00
};
2014-02-19 11:48:52 -08:00
2014-03-12 09:08:52 -07:00
module.exports.run = run;
if (require.main === module) {
run();
}