expose message construtors by name

This commit is contained in:
Braydon Fuller 2015-03-13 10:15:41 -04:00
parent 6461748cd5
commit 641443f6dd
2 changed files with 32 additions and 8 deletions

View File

@ -34,15 +34,32 @@ function builder(options) {
commands: {}
};
var commandsArray = [
'version', 'verack', 'ping', 'pong', 'block', 'tx', 'getdata', 'headers', 'notfound',
'inv', 'addr', 'alert', 'reject', 'merkleblock', 'filterload', 'filteradd', 'filterclear',
'getblocks', 'getheaders', 'mempool', 'getaddr'
];
exported.commandsMap = {
version: 'Version',
verack: 'VerAck',
ping: 'Ping',
pong: 'Pong',
block: 'Block',
tx: 'Transaction',
getdata: 'GetData',
headers: 'Headers',
notfound: 'NotFound',
inv: 'Inventory',
addr: 'Address',
alert: 'Alert',
reject: 'Reject',
merkleblock: 'MerkleBlock',
filterload: 'FilterLoad',
filteradd: 'FilterAdd',
filterclear: 'FilterClear',
getblocks: 'GetBlocks',
getheaders: 'GetHeaders',
mempool: 'MemPool',
getaddr: 'GetAddr'
};
for (var i = 0; i < commandsArray.length; i++) {
var command = commandsArray[i];
exported.commands[command] = require('./commands/' + command)(options);
for (var key in exported.commandsMap) {
exported.commands[key] = require('./commands/' + key)(options);
}
return exported;

View File

@ -6,6 +6,13 @@ var Hash = bitcore.crypto.Hash;
function Messages(options) {
this.builder = Messages.builder(options);
// map message constructors by name
for(var key in this.builder.commandsMap) {
var name = this.builder.commandsMap[key];
this[name] = this.builder.commands[key];
}
if (!options) {
options = {};
}