{
	"name": "ethashjs",
	"versions": {
		"0.0.0": {
			"name": "ethashjs",
			"version": "0.0.0",
			"description": "an ethash implementation in JS",
			"main": "index.js",
			"directories": {
				"test": "tests"
			},
			"scripts": {
				"test": "node ./tests/"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/ethereum/ethashjs.git"
			},
			"keywords": [
				"ethash",
				"ethereum",
				"POW"
			],
			"author": {
				"name": "mjbecze",
				"email": "mjbecze@gmail.com"
			},
			"license": "GPL-3.0",
			"bugs": {
				"url": "https://github.com/ethereum/ethashjs/issues"
			},
			"homepage": "https://github.com/ethereum/ethashjs#readme",
			"dependencies": {
				"async": "^1.4.0",
				"bitwise-xor": "0.0.0",
				"bn.js": "^3.1.1",
				"es6-shim": "^0.32.2",
				"ethereum-tests": "git+https://github.com/ethereum/tests.git",
				"ethereumjs-util": "^1.3.4",
				"miller-rabin": "^2.1.0",
				"rlp": "^1.0.1"
			},
			"devDependencies": {
				"ethereumjs-block": "0.0.3",
				"levelup": "^1.2.1",
				"memdown": "^1.0.0",
				"tape": "^4.0.1"
			},
			"gitHead": "f2bbdcd6e02f77f521b74c143a2f0fc52fddc0f3",
			"_id": "ethashjs@0.0.0",
			"_shasum": "8e5cd36e70c806a285b564bac0c7d4beeb6de1fe",
			"_from": ".",
			"_npmVersion": "2.13.2",
			"_nodeVersion": "0.12.7",
			"_npmUser": {
				"name": "null_radix",
				"email": "mjbecze@gmail.com"
			},
			"dist": {
				"shasum": "8e5cd36e70c806a285b564bac0c7d4beeb6de1fe",
				"tarball": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.0.tgz"
			},
			"maintainers": [
				{
					"name": "null_radix",
					"email": "mjbecze@gmail.com"
				}
			],
			"contributors": []
		},
		"0.0.1": {
			"name": "ethashjs",
			"version": "0.0.1",
			"description": "an ethash implementation in JS",
			"main": "index.js",
			"directories": {
				"test": "tests"
			},
			"scripts": {
				"test": "node ./tests/"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/ethereum/ethashjs.git"
			},
			"keywords": [
				"ethash",
				"ethereum",
				"POW"
			],
			"author": {
				"name": "mjbecze",
				"email": "mjbecze@gmail.com"
			},
			"license": "MPL-2.0",
			"bugs": {
				"url": "https://github.com/ethereum/ethashjs/issues"
			},
			"homepage": "https://github.com/ethereum/ethashjs#readme",
			"dependencies": {
				"async": "^1.4.2",
				"bitwise-xor": "0.0.0",
				"es6-shim": "^0.33.0",
				"ethereum-tests": "git+https://github.com/ethereum/tests.git",
				"ethereumjs-util": "^1.3.6",
				"miller-rabin": "^2.1.0"
			},
			"devDependencies": {
				"ethereumjs-block": "0.0.4",
				"levelup": "^1.2.1",
				"memdown": "^1.0.0",
				"tape": "^4.0.1"
			},
			"gitHead": "095f84ae31f17576a9b8347fd9cc2bc4f2db98c3",
			"_id": "ethashjs@0.0.1",
			"_shasum": "7f3cf3ebdd0d450139371084fa49f3c0c963d21d",
			"_from": ".",
			"_npmVersion": "2.13.2",
			"_nodeVersion": "0.12.7",
			"_npmUser": {
				"name": "null_radix",
				"email": "mjbecze@gmail.com"
			},
			"dist": {
				"shasum": "7f3cf3ebdd0d450139371084fa49f3c0c963d21d",
				"tarball": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.1.tgz"
			},
			"maintainers": [
				{
					"name": "null_radix",
					"email": "mjbecze@gmail.com"
				}
			],
			"contributors": []
		},
		"0.0.2": {
			"name": "ethashjs",
			"version": "0.0.2",
			"description": "an ethash implementation in JS",
			"main": "index.js",
			"directories": {
				"test": "tests"
			},
			"scripts": {
				"test": "node ./tests/"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/ethereum/ethashjs.git"
			},
			"keywords": [
				"ethash",
				"ethereum",
				"POW"
			],
			"author": {
				"name": "mjbecze",
				"email": "mjbecze@gmail.com"
			},
			"license": "MPL-2.0",
			"bugs": {
				"url": "https://github.com/ethereum/ethashjs/issues"
			},
			"homepage": "https://github.com/ethereum/ethashjs#readme",
			"dependencies": {
				"async": "^1.4.2",
				"bitwise-xor": "0.0.0",
				"es6-shim": "^0.33.0",
				"ethereum-tests": "git+https://github.com/ethereum/tests.git",
				"ethereumjs-util": "^1.3.6",
				"miller-rabin": "^2.1.0"
			},
			"devDependencies": {
				"ethereumjs-block": "0.0.4",
				"levelup": "^1.2.1",
				"memdown": "^1.0.0",
				"tape": "^4.0.1"
			},
			"gitHead": "f0b48e7afaf6d397ee4a1c9d0477dde26b6451c6",
			"_id": "ethashjs@0.0.2",
			"_shasum": "7c2b0386157b93c1b800d269651ec889a48f78a0",
			"_from": ".",
			"_npmVersion": "2.13.2",
			"_nodeVersion": "0.12.7",
			"_npmUser": {
				"name": "null_radix",
				"email": "mjbecze@gmail.com"
			},
			"dist": {
				"shasum": "7c2b0386157b93c1b800d269651ec889a48f78a0",
				"tarball": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.2.tgz"
			},
			"maintainers": [
				{
					"name": "null_radix",
					"email": "mjbecze@gmail.com"
				}
			],
			"contributors": []
		},
		"0.0.3": {
			"name": "ethashjs",
			"version": "0.0.3",
			"description": "an ethash implementation in JS",
			"main": "index.js",
			"directories": {
				"test": "tests"
			},
			"scripts": {
				"test": "node ./tests/"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/ethereum/ethashjs.git"
			},
			"keywords": [
				"ethash",
				"ethereum",
				"POW"
			],
			"author": {
				"name": "mjbecze",
				"email": "mjbecze@gmail.com"
			},
			"license": "MPL-2.0",
			"bugs": {
				"url": "https://github.com/ethereum/ethashjs/issues"
			},
			"homepage": "https://github.com/ethereum/ethashjs#readme",
			"dependencies": {
				"async": "^1.4.2",
				"bitwise-xor": "0.0.0",
				"es6-shim": "^0.33.0",
				"ethereum-tests": "git+https://github.com/ethereum/tests.git",
				"ethereumjs-util": "^1.3.6",
				"miller-rabin": "^3.0.0"
			},
			"devDependencies": {
				"ethereumjs-block": "0.0.4",
				"levelup": "^1.2.1",
				"memdown": "^1.0.0",
				"tape": "^4.0.1"
			},
			"gitHead": "d0d852dd2422d7abb7dfc4ee34ee7140c61927fc",
			"_id": "ethashjs@0.0.3",
			"_shasum": "408abbadb10acc81f7e280ea5a5a7376b8375af2",
			"_from": ".",
			"_npmVersion": "2.13.2",
			"_nodeVersion": "0.12.7",
			"_npmUser": {
				"name": "null_radix",
				"email": "mjbecze@gmail.com"
			},
			"dist": {
				"shasum": "408abbadb10acc81f7e280ea5a5a7376b8375af2",
				"tarball": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.3.tgz"
			},
			"maintainers": [
				{
					"name": "null_radix",
					"email": "mjbecze@gmail.com"
				}
			],
			"contributors": []
		},
		"0.0.4": {
			"name": "ethashjs",
			"version": "0.0.4",
			"description": "an ethash implementation in JS",
			"main": "index.js",
			"directories": {
				"test": "tests"
			},
			"scripts": {
				"test": "node ./tests/"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/ethereum/ethashjs.git"
			},
			"keywords": [
				"ethash",
				"ethereum",
				"POW"
			],
			"author": {
				"name": "mjbecze",
				"email": "mjbecze@gmail.com"
			},
			"license": "MPL-2.0",
			"bugs": {
				"url": "https://github.com/ethereum/ethashjs/issues"
			},
			"homepage": "https://github.com/ethereum/ethashjs#readme",
			"dependencies": {
				"async": "^1.4.2",
				"bitwise-xor": "0.0.0",
				"es6-shim": "^0.33.1",
				"ethereumjs-util": "^1.3.7",
				"miller-rabin": "^3.0.0"
			},
			"devDependencies": {
				"ethereumjs-block": "0.0.10",
				"ethereumjs-testing": "git+https://github.com/wanderer/ethereumjs-testing.git",
				"levelup": "^1.2.1",
				"memdown": "^1.0.0",
				"tape": "^4.0.1"
			},
			"gitHead": "0ec58d526ad8a2e0b6e894c54fe1a9b39b3210fb",
			"_id": "ethashjs@0.0.4",
			"_shasum": "3d5160775a62f956ef88a665309455e2cad72cf9",
			"_from": ".",
			"_npmVersion": "3.3.3",
			"_nodeVersion": "4.0.0",
			"_npmUser": {
				"name": "null_radix",
				"email": "mjbecze@gmail.com"
			},
			"dist": {
				"shasum": "3d5160775a62f956ef88a665309455e2cad72cf9",
				"tarball": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.4.tgz"
			},
			"maintainers": [
				{
					"name": "null_radix",
					"email": "mjbecze@gmail.com"
				}
			],
			"contributors": []
		},
		"0.0.5": {
			"name": "ethashjs",
			"version": "0.0.5",
			"description": "an ethash implementation in JS",
			"main": "index.js",
			"directories": {
				"test": "tests"
			},
			"scripts": {
				"test": "node ./tests/"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/ethereum/ethashjs.git"
			},
			"keywords": [
				"ethash",
				"ethereum",
				"POW"
			],
			"author": {
				"name": "mjbecze",
				"email": "mjbecze@gmail.com"
			},
			"license": "MPL-2.0",
			"bugs": {
				"url": "https://github.com/ethereum/ethashjs/issues"
			},
			"homepage": "https://github.com/ethereum/ethashjs#readme",
			"dependencies": {
				"async": "^1.4.2",
				"bitwise-xor": "^0.0.0",
				"es6-shim": "^0.33.13",
				"ethereumjs-util": "^2.3.1",
				"miller-rabin": "^4.0.0"
			},
			"devDependencies": {
				"ethereumjs-block": "^1.0.4",
				"ethereumjs-testing": "git+https://github.com/wanderer/ethereumjs-testing.git",
				"levelup": "^1.3.0",
				"memdown": "^1.1.0",
				"tape": "^4.2.2"
			},
			"gitHead": "1887cc1076ed5ef1c34f0a0280494f9d81500e7a",
			"_id": "ethashjs@0.0.5",
			"_shasum": "010ac0da6f874b5b079ac1b92d7dfe991eb67a74",
			"_from": ".",
			"_npmVersion": "3.3.8",
			"_nodeVersion": "4.2.1",
			"_npmUser": {
				"name": "null_radix",
				"email": "mjbecze@gmail.com"
			},
			"dist": {
				"shasum": "010ac0da6f874b5b079ac1b92d7dfe991eb67a74",
				"tarball": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.5.tgz"
			},
			"maintainers": [
				{
					"name": "null_radix",
					"email": "mjbecze@gmail.com"
				}
			],
			"contributors": []
		},
		"0.0.6": {
			"name": "ethashjs",
			"version": "0.0.6",
			"description": "an ethash implementation in JS",
			"main": "index.js",
			"directories": {
				"test": "tests"
			},
			"scripts": {
				"test": "node ./tests/"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/ethereumjs/ethashjs.git"
			},
			"keywords": [
				"ethash",
				"ethereum",
				"POW"
			],
			"author": {
				"name": "mjbecze",
				"email": "mjbecze@gmail.com"
			},
			"license": "MPL-2.0",
			"bugs": {
				"url": "https://github.com/ethereumjs/ethashjs/issues"
			},
			"homepage": "https://github.com/ethereumjs/ethashjs#readme",
			"dependencies": {
				"async": "^1.4.2",
				"buffer-xor": "^1.0.3",
				"es6-shim": "^0.34.1",
				"ethereumjs-util": "^2.5.0",
				"miller-rabin": "^4.0.0"
			},
			"devDependencies": {
				"ethereumjs-block": "^1.0.6",
				"ethereumjs-testing": "git+https://github.com/ethereumjs/ethereumjs-testing.git",
				"levelup": "^1.3.0",
				"memdown": "^1.1.0",
				"tape": "^4.2.2"
			},
			"gitHead": "337271cf8eaba914670da279a232b678e211f99e",
			"_id": "ethashjs@0.0.6",
			"_shasum": "0677f79d55885d072c22f69400f3cfd668dbbf99",
			"_from": ".",
			"_npmVersion": "3.5.2",
			"_nodeVersion": "5.2.0",
			"_npmUser": {
				"name": "null_radix",
				"email": "mjbecze@gmail.com"
			},
			"dist": {
				"shasum": "0677f79d55885d072c22f69400f3cfd668dbbf99",
				"tarball": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.6.tgz"
			},
			"maintainers": [
				{
					"name": "null_radix",
					"email": "mjbecze@gmail.com"
				}
			],
			"contributors": []
		},
		"0.0.7": {
			"name": "ethashjs",
			"version": "0.0.7",
			"description": "an ethash implementation in JS",
			"main": "index.js",
			"directories": {
				"test": "tests"
			},
			"scripts": {
				"test": "node ./tests/"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/ethereumjs/ethashjs.git"
			},
			"keywords": [
				"ethash",
				"ethereum",
				"POW"
			],
			"author": {
				"name": "mjbecze",
				"email": "mjbecze@gmail.com"
			},
			"license": "MPL-2.0",
			"bugs": {
				"url": "https://github.com/ethereumjs/ethashjs/issues"
			},
			"homepage": "https://github.com/ethereumjs/ethashjs#readme",
			"dependencies": {
				"async": "^1.4.2",
				"buffer-xor": "^1.0.3",
				"ethereumjs-util": "^4.0.1",
				"miller-rabin": "^4.0.0"
			},
			"devDependencies": {
				"ethereumjs-block": "^1.2.2",
				"ethereumjs-testing": "0.0.1",
				"levelup": "^1.3.0",
				"memdown": "^1.1.0",
				"tape": "^4.2.2"
			},
			"gitHead": "b75e8e804665441618105046b73b5c6bb3318002",
			"_id": "ethashjs@0.0.7",
			"_shasum": "30bfe4196726690a0c59d3b8272e70d4d0c34bae",
			"_from": ".",
			"_npmVersion": "3.7.5",
			"_nodeVersion": "5.7.0",
			"_npmUser": {
				"name": "null_radix",
				"email": "mjbecze@gmail.com"
			},
			"dist": {
				"shasum": "30bfe4196726690a0c59d3b8272e70d4d0c34bae",
				"tarball": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.7.tgz"
			},
			"maintainers": [
				{
					"name": "null_radix",
					"email": "mjbecze@gmail.com"
				}
			],
			"_npmOperationalInternal": {
				"host": "packages-12-west.internal.npmjs.com",
				"tmp": "tmp/ethashjs-0.0.7.tgz_1456867853431_0.32770083541981876"
			},
			"contributors": []
		},
		"0.0.8": {
			"name": "ethashjs",
			"version": "0.0.8",
			"description": "an ethash implementation in JS",
			"main": "index.js",
			"directories": {
				"test": "tests"
			},
			"scripts": {
				"coverage": "nyc --reporter=lcov npm run test",
				"lint": "standard",
				"test": "node ./tests/"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/ethereumjs/ethashjs.git"
			},
			"keywords": [
				"ethash",
				"ethereum",
				"POW"
			],
			"author": {
				"name": "mjbecze",
				"email": "mjbecze@gmail.com"
			},
			"license": "MPL-2.0",
			"bugs": {
				"url": "https://github.com/ethereumjs/ethashjs/issues"
			},
			"homepage": "https://github.com/ethereumjs/ethashjs#readme",
			"dependencies": {
				"async": "^2.1.2",
				"buffer-xor": "^2.0.1",
				"ethereumjs-util": "^7.0.2",
				"miller-rabin": "^4.0.0"
			},
			"devDependencies": {
				"ethereumjs-block": "^2.2.2",
				"nyc": "^15.0.1",
				"levelup": "^1.3.0",
				"memdown": "^1.1.0",
				"standard": "^14.3.4",
				"tape": "^4.2.2"
			},
			"standard": {
				"globals": [
					"describe",
					"it"
				]
			},
			"gitHead": "d82e834b3bc8578583c15f8e8e990011e809b250",
			"_id": "ethashjs@0.0.8",
			"_nodeVersion": "12.15.0",
			"_npmVersion": "6.14.4",
			"dist": {
				"integrity": "sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw==",
				"shasum": "227442f1bdee409a548fb04136e24c874f3aa6f9",
				"tarball": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.8.tgz",
				"fileCount": 14,
				"unpackedSize": 47565,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4KSJCRA9TVsSAnZWagAAYxMP/2rhq7wrMkOv/xytnfcq\nTvMcjqljCh+MdQlKVOibPUFGxKJ41+CBTwHFFY1B6/Ona5wu0QL5h4SqAa7D\nzxK3no0mAy8MkyBLmIQVYSdx/hRZjeQiQ5s3J4Jo8oCCYQmT81Eu4MOR9Cl0\nVyYt8gm9+aVxcm8fA28OKj6qhfROQC79TCvmt+rdYXuaQQ4XQ+6xka0gGzom\nG0WDSFvs4qF1iq+IxWhe5YTFf/Zt0fv0uUAY/GSyeY/LUXzTgZIxAUcxYF3a\nDQrFISPEi2zwnAHtYIrixksliQnWcTlyl6BMsYxaTVwUqb5H/qDt6tcPkZg8\nDEiizDGie1+JYycC7W6ggrC7k2k7CniuNFMb0nBUwsug4l+gQaUwMfLSDIyv\nAuYtpx0kzMVIKZ2O1cpAIdVUiQ/c4qzaLpgBCY5gg4cUCO3sl+gfyZ5Ys/vj\nsX9Nm4bbB5CcrvmZAInE9nR90AvTJpKZKO1wa5GdVRQtKwz+UnkUYma9WzEk\n7UtoEdx2grSxIWXOsRQooq29mxEK3FTyEZ0EZvCK1mHt52Tp8aw39oPBEkag\nFPccJ+9FAoTgFKuT47W1Q1e5Gem1qInz50VqwMOd67gfS52jGLAjTSfxl+GP\nUxWtp7wC4YXseL0/TttsrWHtmLHEQjapwgx8k0hJBFEE6UwjAbt8sWN4i/vI\n/C+J\r\n=w1Yh\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"maintainers": [
				{
					"email": "Holger.Drewes@gmail.com",
					"name": "holgerd77"
				},
				{
					"email": "null_radix@riseup.net",
					"name": "null_radix"
				}
			],
			"_npmUser": {
				"name": "holgerd77",
				"email": "Holger.Drewes@gmail.com"
			},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/ethashjs_0.0.8_1591780489422_0.1548019476448117"
			},
			"_hasShrinkwrap": false,
			"contributors": []
		}
	},
	"time": {
		"modified": "2020-06-10T09:14:51.821Z",
		"created": "2015-07-28T20:49:26.330Z",
		"0.0.0": "2015-07-28T20:49:26.330Z",
		"0.0.1": "2015-08-10T02:10:56.705Z",
		"0.0.2": "2015-08-10T16:35:51.543Z",
		"0.0.3": "2015-08-13T19:50:15.842Z",
		"0.0.4": "2015-10-01T02:36:54.980Z",
		"0.0.5": "2015-11-27T20:49:55.410Z",
		"0.0.6": "2016-01-08T20:00:57.574Z",
		"0.0.7": "2016-03-01T21:30:56.005Z",
		"0.0.8": "2020-06-10T09:14:49.581Z"
	},
	"users": {},
	"dist-tags": {
		"latest": "0.0.8"
	},
	"_uplinks": {
		"npmjs": {
			"etag": "W/\"4c10b9c684fe1ef99ece0e16346ec43a\"",
			"fetched": 1602009447773
		}
	},
	"_distfiles": {
		"ethashjs-0.0.0.tgz": {
			"url": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.0.tgz",
			"sha": "8e5cd36e70c806a285b564bac0c7d4beeb6de1fe",
			"registry": "npmjs"
		},
		"ethashjs-0.0.1.tgz": {
			"url": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.1.tgz",
			"sha": "7f3cf3ebdd0d450139371084fa49f3c0c963d21d",
			"registry": "npmjs"
		},
		"ethashjs-0.0.2.tgz": {
			"url": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.2.tgz",
			"sha": "7c2b0386157b93c1b800d269651ec889a48f78a0",
			"registry": "npmjs"
		},
		"ethashjs-0.0.3.tgz": {
			"url": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.3.tgz",
			"sha": "408abbadb10acc81f7e280ea5a5a7376b8375af2",
			"registry": "npmjs"
		},
		"ethashjs-0.0.4.tgz": {
			"url": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.4.tgz",
			"sha": "3d5160775a62f956ef88a665309455e2cad72cf9",
			"registry": "npmjs"
		},
		"ethashjs-0.0.5.tgz": {
			"url": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.5.tgz",
			"sha": "010ac0da6f874b5b079ac1b92d7dfe991eb67a74",
			"registry": "npmjs"
		},
		"ethashjs-0.0.6.tgz": {
			"url": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.6.tgz",
			"sha": "0677f79d55885d072c22f69400f3cfd668dbbf99",
			"registry": "npmjs"
		},
		"ethashjs-0.0.7.tgz": {
			"url": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.7.tgz",
			"sha": "30bfe4196726690a0c59d3b8272e70d4d0c34bae",
			"registry": "npmjs"
		},
		"ethashjs-0.0.8.tgz": {
			"url": "https://registry.npmjs.org/ethashjs/-/ethashjs-0.0.8.tgz",
			"sha": "227442f1bdee409a548fb04136e24c874f3aa6f9",
			"registry": "npmjs"
		}
	},
	"_attachments": {},
	"_rev": "11-a98a426eee48e58b",
	"_id": "ethashjs",
	"readme": "# SYNOPSIS\n\n[![NPM Package](https://img.shields.io/npm/v/ethashjs.svg)](https://www.npmjs.org/package/ethashjs)\n[![Actions Status](https://github.com/ethereumjs/ethashjs/workflows/Build/badge.svg)](https://github.com/ethereumjs/ethashjs/actions)\n[![Coverage Status](https://img.shields.io/coveralls/ethereumjs/ethashjs.svg)](https://coveralls.io/r/ethereumjs/ethashjs)\n[![Gitter](https://img.shields.io/gitter/room/ethereum/ethereumjs-lib.svg)](https://gitter.im/ethereum/ethereumjs-lib)\n\nImplements [Ethash](https://github.com/ethereum/wiki/wiki/Ethash).\n\n# INSTALL\n\n`npm install ethashjs`\n\n# USAGE\n\n```javascript\nconst Ethash = require('ethashjs')\nconst Block = require('ethereumjs-block')\nconst levelup = require('levelup')\nconst memdown = require('memdown')\n\nvar cacheDB = levelup('', {\n  db: memdown\n})\n\nvar ethash = new Ethash(cacheDB)\nvar validblockRlp =\n  'f90667f905fba0a8d5b7a4793baaede98b5236954f634a0051842df6a252f6a80492fd888678bda01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0f93c8db1e931daa2e22e39b5d2da6fb4074e3d544094857608536155e3521bc1a0bb7495628f9160ddbcf6354380ee32c300d594e833caec3a428041a66e7bade1a0c7778a7376099ee2e5c455791c1885b5c361b95713fddcbe32d97fd01334d296b90100000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000400000000000000000000000000000000000000000000000000000008302000001832fefd882560b84559c17b9b9040001020304050607080910111213141516171819202122232410000000000000000000200000000000000000003000000000000000000040000000000000000000500000000000000000006000000000000000000070000000000000000000800000000000000000009000000000000000000010000000000000000000100000000000000000002000000000000000000030000000000000000000400000000000000000005000000000000000000060000000000000000000700000000000000000008000000000000000000090000000000000000000100000000000000000001000000000000000000020000000000000000000300000000000000000004000000000000000000050000000000000000000600000000000000000007000000000000000000080000000000000000000900000000000000000001000000000000000000010000000000000000000200000000000000000003000000000000000000040000000000000000000500000000000000000006000000000000000000070000000000000000000800000000000000000009000000000000000000010000000000000000000100000000000000000002000000000000000000030000000000000000000400000000000000000005000000000000000000060000000000000000000700000000000000000008000000000000000000090000000000000000000100000000000000000001000000000000000000020000000000000000000300000000000000000004000000000000000000050000000000000000000600000000000000000007000000000000000000080000000000000000000900000000000000000001000000000000000000010000000000000000000200000000000000000003000000000000000000040000000000000000000500000000000000000006000000000000000000070000000000000000000800000000000000000009000000000000000000010000000000000000000100000000000000000002000000000000000000030000000000000000000400000000000000000005000000000000000000060000000000000000000700000000000000000008000000000000000000090000000000000000000100000000000000000001000000000000000000020000000000000000000300000000000000000004000000000000000000050000000000000000000600000000000000000007000000000000000000080000000000000000000900000000000000000001000000000000000000010000000000000000000200000000000000000003000000000000000000040000000000000000000500000000000000000006000000000000000000070000000000000000000800000000000000000009000000000000000000010000000000000000000a09c7b47112a3afb385c12924bf6280d273c106eea7caeaf5131d8776f61056c148876ae05d46b58d1fff866f864800a82c35094095e7baea6a6c7c4c2dfeb977efac326af552d8785012a05f200801ba01d2c92cfaeb04e53acdff2b5d42005ff6aacdb0105e64eb8c30c273f445d2782a01e7d50ffce57840360c57d94977b8cdebde614da23e8d1e77dc07928763cfe21c0'\n\nvar validblock = new Block(Buffer.from(validblockRlp, 'hex'))\n\nethash.verifyPOW(validblock, function (result) {\n  console.log(result)\n})\n```\n\n# BROWSER\n\nYep, you can [browserify](http://browserify.org/) it.\n\n# API\n\n- [`new Ethash([cacheDB])`](#newethashcachedb)\n- [`ethash.verifyPOW(block, cb)`](#ethashverifypowblock-cb)\n- [`ethash.mkcache(cacheSize, seed)`](#ethashmkcachecachesize-seed)\n- [`ethash.run(val, nonce, fullsize)`](#ethashrunval-nonce-fullsize)\n\n### `new Ethash([cacheDB])`\n\nCreates a new instance of `Ethash`.\n\n**Parameters**\n\n- `cacheDB` - an instance of a levelup db which is used to store the cache(s)\n\n### `ethash.verifyPOW(block, cb)`\n\nVerifies the POW on a block and its uncles\n\n**Parameters**\n\n- `block` - the [block](https://github.com/ethereum/ethereumjs-block) to verify\n- `cb` - the callback which is given a `Boolean` determining the validaty of the block\n\n### `ethash.mkcache(cacheSize, seed)`\n\nCreates a cache. NOTE: this is automatically done for in - [`ethash.verifyPOW(block, cb)`](#ethashverifypowblock-cb) so you do not need to use this function if you are just validating blocks\n\n**Parameters**\n\n- `cachSize` - the size of the cach\n- `seed` - the seed as a `Buffer`\n\n### `ethash.run(val, nonce, fullsize)`\n\nRuns ethash on a give val/nonce pair. NOTE: you need to run [`ethash.mkcache(cacheSize, seed)`](#ethashverifypowcachesize-seed) first before using this function.\n\n**Parameters**\n\n- `val` - value to run ethash on e.g. the header hash\n- `nonce` - the nonce used for this hash attempt\n- `fullsize` - the fullsize of the cache.\n\n**Returns**\n\nAn `Object` containing:\n\n- `hash` - the hash of the value\n- `mix` - the mis result\n\n# TESTS\n\n`npm test`\n\n# LICENSE\n\n[MPL-2.0](https://www.mozilla.org/MPL/2.0/)"
}