Merge pull request #223 from ob1100/master

Adding a few more coin configs
This commit is contained in:
Matthew Little 2014-05-29 12:20:55 -06:00
commit de9009fdbc
10 changed files with 160 additions and 0 deletions

5
coins/21coin.json Normal file
View File

@ -0,0 +1,5 @@
{
"name": "21coin",
"symbol": "21",
"algorithm": "sha256"
}

5
coins/arkenstone.json Normal file
View File

@ -0,0 +1,5 @@
{
"name": "Arkenstone",
"symbol": "ARS",
"algorithm": "sha256"
}

5
coins/arkhash.json Normal file
View File

@ -0,0 +1,5 @@
{
"name": "Arkhash",
"symbol": "ARK",
"algorithm": "sha256"
}

5
coins/bitraam.json Normal file
View File

@ -0,0 +1,5 @@
{
"name": "BitRaam",
"symbol": "BRM",
"algorithm": "sha256"
}

5
coins/continuumcoin.json Normal file
View File

@ -0,0 +1,5 @@
{
"name": "Continuumcoin",
"symbol": "CTM",
"algorithm": "sha256"
}

5
coins/fastcoinsha.json Normal file
View File

@ -0,0 +1,5 @@
{
"name": "Fastcoinsha",
"symbol": "FSS",
"algorithm": "sha256"
}

5
coins/stashcoin.json Normal file
View File

@ -0,0 +1,5 @@
{
"name": "Stashcoin",
"symbol": "STA",
"algorithm": "sha256"
}

5
coins/wearesatoshi.json Normal file
View File

@ -0,0 +1,5 @@
{
"name": "WeAreSatoshi",
"symbol": "WAS",
"algorithm": "sha256"
}

115
libs/apiCoinWarz.js Normal file
View File

@ -0,0 +1,115 @@
var request = require('request');
var nonce = require('nonce');
module.exports = function() {
'use strict';
// Module dependencies
// Constants
var version = '0.0.1',
PUBLIC_API_URL = 'http://www.coinwarz.com/v1/api/profitability/?apikey=YOUR_API_KEY&algo=all',
USER_AGENT = 'nomp/node-open-mining-portal'
// Constructor
function Cryptsy(key, secret){
// Generate headers signed by this user's key and secret.
// The secret is encapsulated and never exposed
this._getPrivateHeaders = function(parameters){
var paramString, signature;
if (!key || !secret){
throw 'CoinWarz: Error. API key and secret required';
}
// Sort parameters alphabetically and convert to `arg1=foo&arg2=bar`
paramString = Object.keys(parameters).sort().map(function(param){
return encodeURIComponent(param) + '=' + encodeURIComponent(parameters[param]);
}).join('&');
signature = crypto.createHmac('sha512', secret).update(paramString).digest('hex');
return {
Key: key,
Sign: signature
};
};
}
// If a site uses non-trusted SSL certificates, set this value to false
Cryptsy.STRICT_SSL = true;
// Helper methods
function joinCurrencies(currencyA, currencyB){
return currencyA + '_' + currencyB;
}
// Prototype
CoinWarz.prototype = {
constructor: CoinWarz,
// Make an API request
_request: function(options, callback){
if (!('headers' in options)){
options.headers = {};
}
options.headers['User-Agent'] = USER_AGENT;
options.json = true;
options.strictSSL = CoinWarz.STRICT_SSL;
request(options, function(err, response, body) {
callback(err, body);
});
return this;
},
// Make a public API request
_public: function(parameters, callback){
var options = {
method: 'GET',
url: PUBLIC_API_URL,
qs: parameters
};
return this._request(options, callback);
},
/////
// PUBLIC METHODS
getTicker: function(callback){
var parameters = {
method: 'marketdatav2'
};
return this._public(parameters, callback);
},
getOrderBook: function(currencyA, currencyB, callback){
var parameters = {
command: 'returnOrderBook',
currencyPair: joinCurrencies(currencyA, currencyB)
};
return this._public(parameters, callback);
},
getTradeHistory: function(currencyA, currencyB, callback){
var parameters = {
command: 'returnTradeHistory',
currencyPair: joinCurrencies(currencyA, currencyB)
};
return this._public(parameters, callback);
},
////
return CoinWarz;
}();

View File

@ -4,6 +4,7 @@ var bignum = require('bignum');
var algos = require('stratum-pool/lib/algoProperties.js');
var util = require('stratum-pool/lib/util.js');
var CoinWarz = require('./apiCoinWarz.js');
var Cryptsy = require('./apiCryptsy.js');
var Poloniex = require('./apiPoloniex.js');
var Mintpal = require('./apiMintpal.js');
@ -65,6 +66,10 @@ module.exports = function(logger){
//
// setup APIs
//
var coinwarzApi = new CpinWarz(
// 'API_KEY',
// 'API_SECRET'
);
var poloApi = new Poloniex(
// 'API_KEY',
// 'API_SECRET'