# xmr-haystack
## Description
This program takes a Monero wallet file, scans the blockchain, and outputs transactions in which
your one-time public outputs (stealth addresses) were used as decoys.
## Installation
A Python 3 environment is required to run this application. Given that you have a working Python 3
environment, all you need to do to install this application is run the following command:
```
$ pip3 install xmr-haystack
```
If you are on Linux or MacOS and you would prefer to build from the source code, then the following
commands will allow you to do so:
```
$ git clone https://github.com/jeffro256/xmr-haystack.git
$ cd xmr-haystack
$ pip3 install .
```
If you are Windows and would prefer to build from the source code, then follow these steps:
1. Download the unzip source code from [Github](https://github.com/jeffro256/xmr-haystack).
2. Open 'cmd' from the Start Menu
3. Naviagte to newly unzipped directory in cmd
4. Type `$ pip3 install .`
## Usage
```
python3 -m xmr-haystack [-h] [-a ADDR] [-p PORT] [-l LOGIN] [-s HEIGHT] [-q | -Q] [-i CACHE_IN] [-o CACHE_OUT] [-n]
[-c CLI_EXE_FILE] wallet file
America's favorite stealth address scannerâ„¢
positional arguments:
wallet file path to wallet file
optional arguments:
-h, --help show this help message and exit
-a ADDR, --daemon-addr ADDR
daemon address (e.g. node.xmr.to)
-p PORT, --daemon-port PORT
daemon port (e.g. 18081)
-l LOGIN, --daemon-login LOGIN
monerod RPC login in the form of [username]:[password]
-s HEIGHT, --scan-height HEIGHT
rescan blockchain from specified height. defaults to wallet restore height
-q, --quiet use this flag if you would like a simpler output
-Q, --extra-quiet use this flag if you would like a BARE BONES output
-i CACHE_IN, --cache-input CACHE_IN
path to input cache file
-o CACHE_OUT, --cache-output CACHE_OUT
path to output cache file
-n, --no-cache do not read from cache file and do not save to cache file
-c CLI_EXE_FILE, --wallet-cli-path CLI_EXE_FILE
path to monero-wallet-cli executable. Helpful if executable is not in PATH
```
### Example
```
$ python -m xmr-haystack Documents/mywallet/mywallet
...
Your stealth address: 58ddd530a2148ca67f914823bab3e5b30f10be16b5a17ca194a022e279fb9258
[2019-10-28 14:49:50]: Pubkey was created. Transaction(hash=f889ab737e12a88f249762e15fdcf2e0fa5a3f2d124d63860c029e57a61d33b6, height=1954776, ins=22, outs=2)
[2019-10-28 17:20:56]: Used as a decoy. Transaction(hash=41662618c3fe6556a1b69128be7ff731565fb5d3003d03296587bc3d9985e01b, height=1954856, ins=11, outs=2)
[2019-10-28 20:46:02]: Used as a decoy. Transaction(hash=ce3d73fd5f47ed3205d5f4d3a5246a7d3adf09ab6fb9238ac8f5d0c3976874d3, height=1954958, ins=11, outs=2)
[2019-10-29 01:06:24]: Used as a decoy. Transaction(hash=76be4fa1b0089e2dec7332adf0230294e9c94ec4e32be44d65830ba2f0ecb1c3, height=1955092, ins=814, outs=2)
[2019-10-29 07:03:25]: Used as a decoy. Transaction(hash=28277d27a738543257414e3f5f4b71eed5d3551fa815c22a66c7183cf38ebcd1, height=1955280, ins=22, outs=2)
[2019-10-29 12:39:36]: Used as a decoy. Transaction(hash=1e3e89a8be3af614ce06324d1c61c16ed4cf84fcbf39095be84cbe3875fd0644, height=1955443, ins=11, outs=2)
[2019-10-29 16:27:17]: Used as a decoy. Transaction(hash=1e2e63f61222809178476a7dcb7b2b5aaba060b23cfc95c9c797bfb3d233b92f, height=1955566, ins=187, outs=2)
[2020-07-15 00:26:23]: Pubkey was spent. Transaction(hash=a6cbb9f76f9b37247c9f3fb160dccdf5d627b92702a09c488815cf8bcd9baf70, height=2142546, ins=11, outs=2)
...
```
## Disclaimer
While this program works, it is still in *very* early dev stages. Use this program at your own risk;
I take no responsibility for any lost funds or privacy, etc, etc. That said, I really hope you find
this code useful and I would really appreciate any feedback. :)
Raw data
{
"_id": null,
"home_page": "https://github.com/jeffro256/xmr-haystack",
"name": "xmr-haystack",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.5, <4",
"maintainer_email": "",
"keywords": "monero,blockchain,wallet,privacy,finance",
"author": "jeffro256",
"author_email": "jeffro256@tutanota.com",
"download_url": "https://files.pythonhosted.org/packages/95/61/4fb6da4a57e8afc900f478fe3340e3ce4d922dd93ad500d044da86b04708/xmr-haystack-0.0.6.tar.gz",
"platform": null,
"description": "# xmr-haystack\n\n## Description\n\nThis program takes a Monero wallet file, scans the blockchain, and outputs transactions in which\nyour one-time public outputs (stealth addresses) were used as decoys.\n\n## Installation\n\nA Python 3 environment is required to run this application. Given that you have a working Python 3\nenvironment, all you need to do to install this application is run the following command:\n\n```\n$ pip3 install xmr-haystack\n```\n\nIf you are on Linux or MacOS and you would prefer to build from the source code, then the following\ncommands will allow you to do so:\n\n```\n$ git clone https://github.com/jeffro256/xmr-haystack.git\n$ cd xmr-haystack\n$ pip3 install .\n```\n\nIf you are Windows and would prefer to build from the source code, then follow these steps:\n\n1. Download the unzip source code from [Github](https://github.com/jeffro256/xmr-haystack).\n2. Open 'cmd' from the Start Menu\n3. Naviagte to newly unzipped directory in cmd\n4. Type `$ pip3 install .`\n\n## Usage\n\n```\npython3 -m xmr-haystack [-h] [-a ADDR] [-p PORT] [-l LOGIN] [-s HEIGHT] [-q | -Q] [-i CACHE_IN] [-o CACHE_OUT] [-n] \n [-c CLI_EXE_FILE] wallet file\n\nAmerica's favorite stealth address scanner\u2122\n\npositional arguments:\n wallet file path to wallet file\n\noptional arguments:\n -h, --help show this help message and exit\n -a ADDR, --daemon-addr ADDR\n daemon address (e.g. node.xmr.to)\n -p PORT, --daemon-port PORT\n daemon port (e.g. 18081)\n -l LOGIN, --daemon-login LOGIN\n monerod RPC login in the form of [username]:[password]\n -s HEIGHT, --scan-height HEIGHT\n rescan blockchain from specified height. defaults to wallet restore height\n -q, --quiet use this flag if you would like a simpler output\n -Q, --extra-quiet use this flag if you would like a BARE BONES output\n -i CACHE_IN, --cache-input CACHE_IN\n path to input cache file\n -o CACHE_OUT, --cache-output CACHE_OUT\n path to output cache file\n -n, --no-cache do not read from cache file and do not save to cache file\n -c CLI_EXE_FILE, --wallet-cli-path CLI_EXE_FILE\n path to monero-wallet-cli executable. Helpful if executable is not in PATH\n```\n\n### Example\n\n```\n$ python -m xmr-haystack Documents/mywallet/mywallet\n\n...\nYour stealth address: 58ddd530a2148ca67f914823bab3e5b30f10be16b5a17ca194a022e279fb9258\n [2019-10-28 14:49:50]: Pubkey was created. Transaction(hash=f889ab737e12a88f249762e15fdcf2e0fa5a3f2d124d63860c029e57a61d33b6, height=1954776, ins=22, outs=2)\n [2019-10-28 17:20:56]: Used as a decoy. Transaction(hash=41662618c3fe6556a1b69128be7ff731565fb5d3003d03296587bc3d9985e01b, height=1954856, ins=11, outs=2)\n [2019-10-28 20:46:02]: Used as a decoy. Transaction(hash=ce3d73fd5f47ed3205d5f4d3a5246a7d3adf09ab6fb9238ac8f5d0c3976874d3, height=1954958, ins=11, outs=2)\n [2019-10-29 01:06:24]: Used as a decoy. Transaction(hash=76be4fa1b0089e2dec7332adf0230294e9c94ec4e32be44d65830ba2f0ecb1c3, height=1955092, ins=814, outs=2)\n [2019-10-29 07:03:25]: Used as a decoy. Transaction(hash=28277d27a738543257414e3f5f4b71eed5d3551fa815c22a66c7183cf38ebcd1, height=1955280, ins=22, outs=2)\n [2019-10-29 12:39:36]: Used as a decoy. Transaction(hash=1e3e89a8be3af614ce06324d1c61c16ed4cf84fcbf39095be84cbe3875fd0644, height=1955443, ins=11, outs=2)\n [2019-10-29 16:27:17]: Used as a decoy. Transaction(hash=1e2e63f61222809178476a7dcb7b2b5aaba060b23cfc95c9c797bfb3d233b92f, height=1955566, ins=187, outs=2)\n [2020-07-15 00:26:23]: Pubkey was spent. Transaction(hash=a6cbb9f76f9b37247c9f3fb160dccdf5d627b92702a09c488815cf8bcd9baf70, height=2142546, ins=11, outs=2)\n...\n\n```\n\n## Disclaimer\n\nWhile this program works, it is still in *very* early dev stages. Use this program at your own risk;\nI take no responsibility for any lost funds or privacy, etc, etc. That said, I really hope you find\nthis code useful and I would really appreciate any feedback. :)\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Manage your on-chain Monero privacy with xmr-haystack",
"version": "0.0.6",
"project_urls": {
"Bug Reports": "https://github.com/jeffro256/xmr-haystack/issues",
"Funding": "https://github.com/jeffro256/xmr-haystack",
"Homepage": "https://github.com/jeffro256/xmr-haystack",
"Source": "https://github.com/jeffro256/xmr-haystack"
},
"split_keywords": [
"monero",
"blockchain",
"wallet",
"privacy",
"finance"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3907dd11a5e48f7bb03e6156320b399670d0d586fe9a1d2eed3bafd218138946",
"md5": "7f86977ee8387430250605b54ab9da89",
"sha256": "c3b97431c7d3ae2623194eceffb5588fda601b3d7956eb1a6dd0ef36c521df10"
},
"downloads": -1,
"filename": "xmr_haystack-0.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7f86977ee8387430250605b54ab9da89",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.5, <4",
"size": 15364,
"upload_time": "2024-03-10T20:41:56",
"upload_time_iso_8601": "2024-03-10T20:41:56.038274Z",
"url": "https://files.pythonhosted.org/packages/39/07/dd11a5e48f7bb03e6156320b399670d0d586fe9a1d2eed3bafd218138946/xmr_haystack-0.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "95614fb6da4a57e8afc900f478fe3340e3ce4d922dd93ad500d044da86b04708",
"md5": "54dd2c898c9b0c9610cdde526b03ca77",
"sha256": "aa652300b8aed45a4958377f76d361fc89fac55338b5b7388eb422c955847204"
},
"downloads": -1,
"filename": "xmr-haystack-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "54dd2c898c9b0c9610cdde526b03ca77",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5, <4",
"size": 16000,
"upload_time": "2024-03-10T20:41:58",
"upload_time_iso_8601": "2024-03-10T20:41:58.189261Z",
"url": "https://files.pythonhosted.org/packages/95/61/4fb6da4a57e8afc900f478fe3340e3ce4d922dd93ad500d044da86b04708/xmr-haystack-0.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-10 20:41:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jeffro256",
"github_project": "xmr-haystack",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "xmr-haystack"
}