Skip to main content

Manage your on-chain Monero privacy with xmr-haystack

Project description

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.
  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. :)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xmr-haystack-0.0.6.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

xmr_haystack-0.0.6-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file xmr-haystack-0.0.6.tar.gz.

File metadata

  • Download URL: xmr-haystack-0.0.6.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for xmr-haystack-0.0.6.tar.gz
Algorithm Hash digest
SHA256 aa652300b8aed45a4958377f76d361fc89fac55338b5b7388eb422c955847204
MD5 54dd2c898c9b0c9610cdde526b03ca77
BLAKE2b-256 95614fb6da4a57e8afc900f478fe3340e3ce4d922dd93ad500d044da86b04708

See more details on using hashes here.

File details

Details for the file xmr_haystack-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: xmr_haystack-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 15.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for xmr_haystack-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c3b97431c7d3ae2623194eceffb5588fda601b3d7956eb1a6dd0ef36c521df10
MD5 7f86977ee8387430250605b54ab9da89
BLAKE2b-256 3907dd11a5e48f7bb03e6156320b399670d0d586fe9a1d2eed3bafd218138946

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page