{
	"name": "rustbn.js",
	"versions": {
		"0.1.0": {
			"name": "rustbn.js",
			"version": "0.1.0",
			"description": "Javascript bindings for https://github.com/paritytech/bn (using asm.js)",
			"main": "index.js",
			"scripts": {
				"test": "tape ./tests/index.js"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/ethereumjs/rustbn.js.git"
			},
			"keywords": [
				"ethereum",
				"ecc",
				"pairing"
			],
			"author": "",
			"license": "ISC",
			"bugs": {
				"url": "https://github.com/ethereumjs/rustbn.js/issues"
			},
			"homepage": "https://github.com/ethereumjs/rustbn.js#readme",
			"devDependencies": {
				"tape": "^4.8.0"
			},
			"gitHead": "788bec05cd7b4f0d6ffde251128ff35ea06ff599",
			"_id": "rustbn.js@0.1.0",
			"_npmVersion": "5.3.0",
			"_nodeVersion": "8.4.0",
			"_npmUser": {
				"name": "holgerd77",
				"email": "Holger.Drewes@gmail.com"
			},
			"dist": {
				"integrity": "sha512-AFsqeHid+1evulpDnqQuuXkh79Xl3VdUmvCRMeRxnEdEW4TDu6tBMxVTrqiT/vCsmxgrIcdrWVQW0utrGr+G6Q==",
				"shasum": "ddfea5f55bed7acd9ca34f26d7fd80971c225cc4",
				"tarball": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.1.0.tgz"
			},
			"maintainers": [
				{
					"name": "holgerd77",
					"email": "Holger.Drewes@gmail.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/rustbn.js-0.1.0.tgz_1507715882776_0.07717440789565444"
			},
			"directories": {},
			"contributors": []
		},
		"0.1.1": {
			"name": "rustbn.js",
			"version": "0.1.1",
			"description": "Javascript bindings for https://github.com/paritytech/bn (using asm.js)",
			"main": "index.js",
			"scripts": {
				"test": "tape ./tests/index.js"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/ethereumjs/rustbn.js.git"
			},
			"keywords": [
				"ethereum",
				"ecc",
				"pairing"
			],
			"author": "",
			"license": "ISC",
			"bugs": {
				"url": "https://github.com/ethereumjs/rustbn.js/issues"
			},
			"homepage": "https://github.com/ethereumjs/rustbn.js#readme",
			"devDependencies": {
				"tape": "^4.8.0"
			},
			"gitHead": "4d5785f77b59123b295ffac312956c98b66146c8",
			"_id": "rustbn.js@0.1.1",
			"_npmVersion": "5.3.0",
			"_nodeVersion": "8.4.0",
			"_npmUser": {
				"name": "holgerd77",
				"email": "Holger.Drewes@gmail.com"
			},
			"dist": {
				"integrity": "sha512-+Xq0RaL+HEErm4vaTUSWq8uq94OuzOu2UR16LowDvj/C8gclDsoYGp8hKpmakKW2dKqL433v2tkf8HCa2za+Eg==",
				"shasum": "088b8c29d5f6d7d9f56ffb545f5d110e4a6801eb",
				"tarball": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.1.1.tgz"
			},
			"maintainers": [
				{
					"email": "j-wasinger@hotmail.com",
					"name": "jwasinger"
				},
				{
					"email": "null_radix@riseup.net",
					"name": "null_radix"
				},
				{
					"email": "Holger.Drewes@gmail.com",
					"name": "holgerd77"
				}
			],
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/rustbn.js-0.1.1.tgz_1509090399810_0.6146806019823998"
			},
			"directories": {},
			"contributors": []
		},
		"0.1.2": {
			"name": "rustbn.js",
			"version": "0.1.2",
			"description": "Javascript bindings for https://github.com/paritytech/bn (using asm.js)",
			"main": "index.js",
			"scripts": {
				"test": "tape ./tests/index.js"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/ethereumjs/rustbn.js.git"
			},
			"keywords": [
				"ethereum",
				"ecc",
				"bn128",
				"pairing"
			],
			"author": {
				"name": "cdetrio",
				"email": "cdetrio@gmail.com"
			},
			"contributors": [
				{
					"name": "holgerd77",
					"email": "Holger.Drewes@gmail.com"
				}
			],
			"license": "(MIT OR Apache-2.0)",
			"bugs": {
				"url": "https://github.com/ethereumjs/rustbn.js/issues"
			},
			"homepage": "https://github.com/ethereumjs/rustbn.js#readme",
			"devDependencies": {
				"tape": "^4.8.0"
			},
			"gitHead": "90eb667c6f4da26810584573b8f4ea7750b9bbbc",
			"_id": "rustbn.js@0.1.2",
			"_npmVersion": "5.6.0",
			"_nodeVersion": "8.4.0",
			"_npmUser": {
				"name": "holgerd77",
				"email": "Holger.Drewes@gmail.com"
			},
			"dist": {
				"integrity": "sha512-bAkNqSHYdJdFsBC7Z11JgzYktL31HIpB2o70jZcGiL1U1TVtPyvaVhDrGWwS8uZtaqwW2k6NOPGZCqW/Dgh5Lg==",
				"shasum": "979fa0f9562216dd667c9d2cd179ae5d13830eff",
				"tarball": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.1.2.tgz",
				"fileCount": 14,
				"unpackedSize": 821000
			},
			"maintainers": [
				{
					"email": "Holger.Drewes@gmail.com",
					"name": "holgerd77"
				},
				{
					"email": "j-wasinger@hotmail.com",
					"name": "jwasinger"
				},
				{
					"email": "null_radix@riseup.net",
					"name": "null_radix"
				}
			],
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/rustbn.js_0.1.2_1518092670271_0.46727221439443034"
			}
		},
		"0.2.0": {
			"name": "rustbn.js",
			"version": "0.2.0",
			"description": "Javascript bindings for https://github.com/paritytech/bn (using asm.js)",
			"main": "index.js",
			"scripts": {
				"test": "tape ./tests/index.js"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/ethereumjs/rustbn.js.git"
			},
			"keywords": [
				"ethereum",
				"ecc",
				"bn128",
				"pairing"
			],
			"author": {
				"name": "cdetrio",
				"email": "cdetrio@gmail.com"
			},
			"contributors": [
				{
					"name": "holgerd77",
					"email": "Holger.Drewes@gmail.com"
				},
				{
					"name": "Alex Beregszaszi",
					"email": "alex@rtfs.hu"
				}
			],
			"license": "(MIT OR Apache-2.0)",
			"bugs": {
				"url": "https://github.com/ethereumjs/rustbn.js/issues"
			},
			"homepage": "https://github.com/ethereumjs/rustbn.js#readme",
			"devDependencies": {
				"tape": "^4.8.0"
			},
			"gitHead": "89e48b0e23c0f790a545ce1d869b82cd38e297e6",
			"_id": "rustbn.js@0.2.0",
			"_npmVersion": "5.8.0",
			"_nodeVersion": "7.10.1",
			"_npmUser": {
				"name": "axic",
				"email": "alex@rtfs.hu"
			},
			"dist": {
				"integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==",
				"shasum": "8082cb886e707155fd1cb6f23bd591ab8d55d0ca",
				"tarball": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz",
				"fileCount": 14,
				"unpackedSize": 669735,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUZh9CRA9TVsSAnZWagAA6d4P/2MjSnh6SO4JN/rLeWO9\nu9WA7clLC4sRraZbnfrTCcOTUnwPkyCAFu2sxelBOQhdHxPeu6CW2gZRmQB5\nzSfTQqPMfw4Q8rRRRh4q6fDy6l88iLqfS9Uu/VV/1xTkR0V48L1EepKnPyoB\n225Abs7/ub3x6UGdPZ7Bqq0zOnJwD+3EVO3074WGYpDyqyiXkwGRgb0PBrxp\nmpsD7lIL9ZWiEz9USo9cPk6WOpMLLYz1+MPQT17X1VzTqCns61eF0h8PEVgM\nNybbMjbV9XtqkkCPcMmgOxAC6cGK2wn8givTFaJUYI9AaXZqrU402bDA5C1W\nUEYDKHoG54eaNaT3+U3ywNvz4kNLKTU4yahVq9sZc7lOq9hzQ87RiR1R03Cu\nZ9Gg2jQU5d2rA84vlhzV148hbW3N608SHmSGRnZV0Tuv3Rfnk/F8NjpmnwKb\ns9PgbBeo4Aahk91J5wi35QghA1QQPkeOvJKqmHe6nE3NZS6a8Tx0ecoAZOmm\nP3wkAvpMQgCUcx89/fUJ6ZTKoOM/6vezxoCZScVtNAxi/gXYC+63Md/NTT34\nWKqcC2zDy11LFmuNYBJnO66HGsFxnpGKHvi5foriDdssF1ZstIpPIwjVAdGK\nkXwvyGd6OIQhWEelP/U+7k2hcVWJEVSgBO4t09Ow4fQx3OmBhLVVhGNbU781\nzW5N\r\n=SydC\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"maintainers": [
				{
					"email": "Holger.Drewes@gmail.com",
					"name": "holgerd77"
				},
				{
					"email": "j-wasinger@hotmail.com",
					"name": "jwasinger"
				},
				{
					"email": "null_radix@riseup.net",
					"name": "null_radix"
				}
			],
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/rustbn.js_0.2.0_1532074109661_0.08728884634728384"
			}
		}
	},
	"time": {
		"modified": "2018-07-29T11:22:39.416Z",
		"created": "2017-10-11T09:58:04.102Z",
		"0.1.0": "2017-10-11T09:58:04.102Z",
		"0.1.1": "2017-10-27T07:46:41.050Z",
		"0.1.2": "2018-02-08T12:24:31.205Z",
		"0.2.0": "2018-07-20T08:08:29.778Z"
	},
	"users": {},
	"dist-tags": {
		"latest": "0.2.0"
	},
	"_uplinks": {
		"npmjs": {
			"etag": "W/\"54eba8f1f28a507cd19dcfa2732bfb77\"",
			"fetched": 1602009397359
		}
	},
	"_distfiles": {
		"rustbn.js-0.1.0.tgz": {
			"url": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.1.0.tgz",
			"sha": "ddfea5f55bed7acd9ca34f26d7fd80971c225cc4",
			"registry": "npmjs"
		},
		"rustbn.js-0.1.1.tgz": {
			"url": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.1.1.tgz",
			"sha": "088b8c29d5f6d7d9f56ffb545f5d110e4a6801eb",
			"registry": "npmjs"
		},
		"rustbn.js-0.1.2.tgz": {
			"url": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.1.2.tgz",
			"sha": "979fa0f9562216dd667c9d2cd179ae5d13830eff",
			"registry": "npmjs"
		},
		"rustbn.js-0.2.0.tgz": {
			"url": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz",
			"sha": "8082cb886e707155fd1cb6f23bd591ab8d55d0ca",
			"registry": "npmjs"
		}
	},
	"_attachments": {
		"rustbn.js-0.2.0.tgz": {
			"shasum": "8082cb886e707155fd1cb6f23bd591ab8d55d0ca"
		}
	},
	"_rev": "21-b71c3a7414bd037d",
	"_id": "rustbn.js",
	"readme": "# SYNOPSIS \n[![Build Status](https://img.shields.io/travis/ethereumjs/rustbn.js.svg?branch=master&style=flat-square)](https://travis-ci.org/ethereumjs/rustbn.js)\n[![Gitter](https://img.shields.io/gitter/room/ethereum/ethereumjs-lib.svg?style=flat-square)](https://gitter.im/ethereum/ethereumjs-lib) or #ethereumjs on freenode  \n\nRust to Javascript compile of the [Parity fork](https://github.com/paritytech/bn) of the [Zcash bn\npairing cryptography library](https://github.com/zcash/bn), implementing an efficient bilinear pairing on the Barreto-Naehrig (BN) curve. \n\nIt implements helpers to support the functionality defined in [EIP-196](https://eips.ethereum.org/EIPS/eip-196) and [EIP-197](https://eips.ethereum.org/EIPS/eip-197).\n\n## Installation\n\n`npm install rustbn.js`\n\n## Usage\n\nRequire the module:\n\n```\nconst bn128 = require('rustbn.js')\n```\n\nCurve Addition\n\n```\nlet inputBuffer = ...\nlet outputBuffer = bn128.add(inputBuffer)\n```\n\nCurve Multiplication\n\n```\nlet inputBuffer = ...\nlet outputBuffer = bn128.mul(inputBuffer)\n```\n\nCurve Pairing\n```\nlet inputBuffer = ...\nlet outputBuffer = bn128.pairing(inputBuffer)\n```\n\n## Developer\n\n### Compilation\n\nCompilation process is based on [this tutorial](http://asquera.de/blog/2017-04-10/the-path-to-rust-on-the-web/) using [Emscripten](http://kripken.github.io/emscripten-site/) to compile the original Rust sources to [asm.js](http://asmjs.org/) ([Wikipedia](https://en.wikipedia.org/wiki/Asm.js)). This might be extended in the future to also include a ``WASM`` compiled version to choose from.\n\nFor basic setup follow the \"Installing the Tools\" section of the tutorial (make sure to use the ``incoming`` branch of ``emsdk``).\n\nFor ``asm.js`` compilation ``asmjs-unknown-emscripten`` target has to be added with ``rustup``:\n\n```\nrustup target add asmjs-unknown-emscripten\n```\n\nCompilation steps can be found in the ``makefile`` in the main directory and executed simply by\nrunning:\n\n```\nmake\n```\n\n\n### WASM (Experimental)\n\nWASM files can be compiled with ``make wasm`` to the ``exp``. This is just intended for experimentation\nworking in browser only (not with Node.js) and not ready for production use!\n\nStart a server with ``python -m SimpleHTTPServer`` and browse to http://localhost:8000/. You might have\nto modify the ``exp/index.html`` file to get things to work.\n\n### Testing\n\nUnit tests can be found in the ``tests`` directory. Run the tests with:\n\n```\nnpm run test\n```\n\n## Additional Resources\n\n- Another [compilation tutorial](https://medium.com/@ianjsikes/get-started-with-rust-webassembly-and-webpack-58d28e219635) using ``Webpack``\n- [Talk](https://rreverser.com/rust-javascript-interop/) on ``Emscripten`` and ``Rust``\n- [Compiling Rust to your Browser](https://www.hellorust.com/emscripten/)\n\n\n## License\n\nLicensed under either of\n\n * MIT license, ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n\nat your option.\n\nCopyright 2016 [Zcash Electric Coin Company](https://z.cash/). The Zcash Company promises to maintain the \"bn\" crate on crates.io under this MIT/Apache-2.0 dual license."
}