support soop with browser all test passing
This commit is contained in:
parent
c05181e412
commit
089fbab719
26
Gruntfile.js
26
Gruntfile.js
|
@ -3,26 +3,28 @@
|
|||
module.exports = function(grunt) {
|
||||
|
||||
//Load NPM tasks
|
||||
grunt.loadNpmTasks('grunt-browserify');
|
||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||
grunt.loadNpmTasks('grunt-mocha-test');
|
||||
grunt.loadNpmTasks('grunt-markdown');
|
||||
grunt.loadNpmTasks('grunt-shell');
|
||||
|
||||
// Project Configuration
|
||||
grunt.initConfig({
|
||||
shell: {
|
||||
browserify: {
|
||||
client: {
|
||||
src: ['bitcore.js'],
|
||||
dest: 'browser/bundle.js',
|
||||
options: {
|
||||
debug: true,
|
||||
alias: [
|
||||
'browserify-bignum/bignumber.js:bignum',
|
||||
'browserify-buffertools/buffertools.js:buffertools'
|
||||
],
|
||||
standalone: 'bitcore',
|
||||
}
|
||||
stdout: true
|
||||
},
|
||||
command: 'node ./browserify.js > browser/bundle.js',
|
||||
},
|
||||
browserifyData: {
|
||||
options: {
|
||||
stdout: true
|
||||
},
|
||||
command: 'browserify -t brfs test/testdata.js > browser/testdata.js'
|
||||
},
|
||||
},
|
||||
browserify: {
|
||||
test_data: {
|
||||
src: ['test/testdata.js'],
|
||||
dest: 'browser/testdata.js',
|
||||
|
@ -40,7 +42,7 @@ module.exports = function(grunt) {
|
|||
},
|
||||
scripts: {
|
||||
files: ['**/*.js', '**/*.html', '!**/node_modules/**', '!browser/bundle.js', '!browser/testdata.js'],
|
||||
tasks: ['browserify' /*, 'mochaTest'*/ ],
|
||||
tasks: ['shell' /*, 'mochaTest'*/ ],
|
||||
},
|
||||
},
|
||||
mochaTest: {
|
||||
|
|
|
@ -3,8 +3,10 @@ var imports = require('soop').imports();
|
|||
var config = imports.config || require('./config');
|
||||
var log = imports.log || require('./util/log');
|
||||
var network = imports.network || require('./networks')[config.network];
|
||||
|
||||
var Connection = imports.Connection ||
|
||||
require('soop').load('./Connection', {config: config, network: network});
|
||||
require('soop').load('Connection', {config: config, network: network}) ||
|
||||
require ('./Connection');
|
||||
|
||||
var Peer = imports.Peer || require('./Peer');
|
||||
|
||||
|
|
16
bitcore.js
16
bitcore.js
|
@ -3,25 +3,27 @@
|
|||
*/
|
||||
|
||||
|
||||
|
||||
module.exports.bignum = require('bignum');
|
||||
module.exports.base58 = require('base58-native');
|
||||
module.exports.buffertools = require('buffertools');
|
||||
|
||||
module.exports.config = require('./config');
|
||||
module.exports.const = require('./const');
|
||||
module.exports.Deserialize = require('./Deserialize');
|
||||
module.exports.log = require('./util/log');
|
||||
module.exports.networks = require('./networks');
|
||||
module.exports.util = require('./util/util');
|
||||
|
||||
module.exports.EncodedData = require('./util/EncodedData');
|
||||
module.exports.VersionedData = require('./util/VersionedData');
|
||||
module.exports.Address = require('./Address');
|
||||
module.exports.Opcode = require('./Opcode');
|
||||
module.exports.Script = require('./Script');
|
||||
module.exports.Transaction = require('./Transaction');
|
||||
module.exports.Peer = require('./Peer');
|
||||
module.exports.PeerManager = require('./PeerManager');
|
||||
module.exports.Block = require('./Block');
|
||||
module.exports.Connection = require('./Connection');
|
||||
module.exports.Peer = require('./Peer');
|
||||
module.exports.Block = require('./Block');
|
||||
module.exports.ScriptInterpreter = require('./ScriptInterpreter');
|
||||
module.exports.Bloom = require('./Bloom');
|
||||
module.exports.KeyModule = require('./Key');
|
||||
|
@ -34,6 +36,14 @@ module.exports.WalletKey = require('./WalletKey');
|
|||
module.exports.Buffer = Buffer;
|
||||
|
||||
if (typeof process.versions === 'undefined') {
|
||||
// Browser specific
|
||||
module.exports.bignum.config({EXPONENTIAL_AT: 9999999, DECIMAL_PLACES: 0, ROUNDING_MODE: 1});
|
||||
// module.exports.PeerManager = function () {
|
||||
// throw new Error('PeerManager not availabe in browser Bitcore, under .bitcore. Use it with: require(\'PeerManager\');');
|
||||
// };
|
||||
}
|
||||
else {
|
||||
// Nodejs specific
|
||||
module.exports.PeerManager = require('./PeerManager');
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
require('bignum').config({
|
||||
EXPONENTIAL_AT: 9999999,
|
||||
DECIMAL_PLACES: 0,
|
||||
ROUNDING_MODE: 1,
|
||||
});
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
'use strict';
|
||||
|
||||
/*
|
||||
* Example for usage of browserify with soop
|
||||
*
|
||||
* The key parameter 'pack'
|
||||
* The supplied 'custom_prelude.js' file is needed for
|
||||
* .load function of soop.
|
||||
*/
|
||||
|
||||
var fs = require('fs');
|
||||
var browserify = require('browserify');
|
||||
var browserPack = require('browser-pack');
|
||||
var opts = {};
|
||||
|
||||
|
||||
var preludePath = 'node_modules/soop/example/custom_prelude.js';
|
||||
|
||||
var pack = function (params) {
|
||||
params.raw = true;
|
||||
params.sourceMapPrefix = '//#';
|
||||
params.prelude= fs.readFileSync(preludePath, 'utf8');
|
||||
params.preludePath= preludePath;
|
||||
return browserPack(params);
|
||||
};
|
||||
|
||||
opts.pack = pack;
|
||||
opts.debug = true;
|
||||
|
||||
var modules = [
|
||||
'Address',
|
||||
'Block',
|
||||
'Bloom',
|
||||
'Buffers.monkey',
|
||||
'Connection',
|
||||
'Deserialize',
|
||||
'Gruntfile',
|
||||
'Number.monkey',
|
||||
'Opcode',
|
||||
'Peer',
|
||||
'PeerManager',
|
||||
'PrivateKey',
|
||||
'RpcClient',
|
||||
'SIN',
|
||||
'SINKey',
|
||||
'Script',
|
||||
'ScriptInterpreter',
|
||||
'Sign',
|
||||
'Transaction',
|
||||
'Wallet',
|
||||
'WalletKey',
|
||||
'config',
|
||||
'const',
|
||||
'networks',
|
||||
'bitcore',
|
||||
];
|
||||
|
||||
var b = browserify(opts);
|
||||
b.require('browserify-bignum/bignumber.js', {expose: 'bignum'} );
|
||||
b.require('browserify-buffertools/buffertools.js', {expose:'buffertools'});
|
||||
b.require('buffer', {expose: 'buffer'});
|
||||
b.require('base58-native');
|
||||
b.require('./Key.js', {expose: 'KeyModule'});
|
||||
b.require('./util/log');
|
||||
b.require('./util/util');
|
||||
b.require('./util/EncodedData');
|
||||
b.require('./util/VersionedData');
|
||||
b.add('./browser/bignum_config.js');
|
||||
|
||||
modules.forEach(function(m) {
|
||||
b.require('./' + m + '.js' ,{expose:m} );
|
||||
});
|
||||
|
||||
var bopts = {
|
||||
// detectGlobals: true,
|
||||
// insertGlobals: 'Buffer',
|
||||
// insertGlobalVars: {
|
||||
// Buffer: function () {
|
||||
// return 'require("buffer").Buffer';
|
||||
// },
|
||||
// },
|
||||
};
|
||||
|
||||
b.bundle(bopts).pipe(process.stdout);
|
||||
|
||||
|
||||
|
||||
|
|
@ -6,18 +6,19 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
</head>
|
||||
<body>
|
||||
<pre>
|
||||
<div id='content'></div>
|
||||
</pre>
|
||||
<script src="../browser/bundle.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var Address = require('Address');
|
||||
|
||||
print = function(s){
|
||||
var div = document.getElementById('content');
|
||||
div.innerHTML += s + '<br />';
|
||||
};
|
||||
|
||||
var Address = bitcore.Address;
|
||||
|
||||
var addrStrings = [
|
||||
"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
|
||||
"1A1zP1eP5QGefi2DMPTfTL5SLmv7Dixxxx",
|
||||
|
@ -37,15 +38,33 @@
|
|||
}
|
||||
|
||||
});
|
||||
print('<hr>');
|
||||
|
||||
|
||||
var Key = bitcore.KeyModule.Key;
|
||||
var Key = require('KeyModule').Key;
|
||||
var buffertools = require('buffertools');
|
||||
var k = Key.generateSync();
|
||||
|
||||
print ('Generated Key Pair:');
|
||||
print ('Private:' + bitcore.buffertools.toHex(k.private));
|
||||
print ('Public:' + bitcore.buffertools.toHex(k.public));
|
||||
print ('Generate Key Pair:');
|
||||
print ('Private:' + buffertools.toHex(k.private));
|
||||
print ('Public:' + buffertools.toHex(k.public));
|
||||
|
||||
print('<hr>');
|
||||
/*
|
||||
Using bitcore root module
|
||||
*/
|
||||
|
||||
var bitcore = require('bitcore');
|
||||
var k = bitcore.KeyModule.Key.generateSync();
|
||||
|
||||
print ('Generate Key Pair:');
|
||||
print ('Private:' + buffertools.toHex(k.private));
|
||||
print ('Public:' + buffertools.toHex(k.public));
|
||||
|
||||
print('<hr>');
|
||||
|
||||
console.log('[example.html.65:PeerManager:]'); //TODO
|
||||
|
||||
var pm = require('PeerManager');
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -57,7 +57,8 @@
|
|||
"devDependencies": {
|
||||
"grunt-contrib-watch": "~0.5.3",
|
||||
"grunt-mocha-test": "~0.8.2",
|
||||
"grunt-browserify": "~1.3.0",
|
||||
"grunt-shell": "~0.6.4",
|
||||
"browser-pack": "*",
|
||||
"grunt-markdown": "~0.5.0",
|
||||
"mocha": ">=1.15.1",
|
||||
"browserify-bignum": "git://github.com/maraoz/browserify-bignum.git",
|
||||
|
|
|
@ -13,7 +13,14 @@
|
|||
<script>mocha.setup('bdd')</script>
|
||||
<script src="../browser/bundle.js"></script>
|
||||
<script src="../browser/testdata.js"></script>
|
||||
<script src="adapter.js"></script>
|
||||
|
||||
<script>
|
||||
var bitcore = require('bitcore');
|
||||
this.Buffer = require('buffer').Buffer;
|
||||
</script>
|
||||
|
||||
|
||||
<!-- <script src="adapter.js"></script> -->
|
||||
|
||||
<script src="test.Address.js"></script>
|
||||
<script src="test.basic.js"></script>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
var should = chai.should();
|
||||
|
||||
var BlockModule = bitcore.Block;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var buffertools = require('buffertools');
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
var PeerManagerModule = bitcore.PeerManager;
|
||||
var PeerManagerModule = bitcore.PeerManager || require('PeerManager');
|
||||
|
||||
var PeerManager;
|
||||
|
||||
describe('PeerManager', function() {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
var should = chai.should();
|
||||
|
||||
var SINKeyModule = bitcore.SINKey;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,7 +1,20 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var test_data;
|
||||
if (typeof dataValid !== 'undefined' ) {
|
||||
test_data = {
|
||||
dataValid: dataValid,
|
||||
dataInvalid: dataInvalid,
|
||||
};
|
||||
|
||||
}
|
||||
else {
|
||||
test_data = require('./testdata');
|
||||
}
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
var Address = bitcore.Address;
|
||||
|
@ -9,7 +22,6 @@ var PrivateKey = bitcore.PrivateKey;
|
|||
var networks = bitcore.networks;
|
||||
var KeyModule = bitcore.KeyModule;
|
||||
|
||||
var test_data = require('./testdata');
|
||||
|
||||
|
||||
function test_encode_priv(b58, payload, isTestnet, isCompressed) {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var expect = chai.expect;
|
||||
var should = chai.should();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
|
||||
var should = chai.should();
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
var chai = require('chai');
|
||||
var bitcore = require('../bitcore');
|
||||
|
||||
var chai = chai || require('chai');
|
||||
var bitcore = bitcore || require('../bitcore');
|
||||
var coinUtil = bitcore.util;
|
||||
var should = chai.should();
|
||||
var buffertools = require('buffertools');
|
||||
|
|
|
@ -2,8 +2,9 @@
|
|||
|
||||
var fs = require('fs');
|
||||
|
||||
var dataValid = JSON.parse(fs.readFileSync('test/data/base58_keys_valid.json'));
|
||||
var dataInvalid = JSON.parse(fs.readFileSync('test/data/base58_keys_invalid.json'));
|
||||
// Defined as global for Browser testing support
|
||||
dataValid = JSON.parse(fs.readFileSync('test/data/base58_keys_valid.json'));
|
||||
dataInvalid = JSON.parse(fs.readFileSync('test/data/base58_keys_invalid.json'));
|
||||
|
||||
module.exports.dataValid = dataValid;
|
||||
module.exports.dataInvalid = dataInvalid;
|
||||
|
|
Loading…
Reference in New Issue