Bitcoin Forum
April 25, 2024, 04:48:39 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 »  All
  Print  
Author Topic: [ANN] chainsnort (live transaction monitoring and fingerprinting tool)  (Read 24510 times)
flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1011

760930


View Profile
December 16, 2013, 07:06:09 PM
Last edit: September 05, 2014, 04:45:51 PM by flatfly
 #1

This command-line tool displays transactions as they are happening on the blockchain.
It's similar to a network trace, but for blockchain activity. It has the ability to automatically flag large transfers.  It can be useful in identifying interesting patterns in transactions.

Warning: watching the live blockchain action can be hypnotic!

Features:
- Print new transactions to the console, in the following format:
   UTC Time, Total Amount (sum of all outputs), Main recipient, Transaction Fee
- Big (50+ BTC) transactions and extreme fees are flagged.
- Also shows "new block" events, with the corresponding block reward
- No private keys, admin privileges, or credentials of any sort are needed.
- 100% Python -> runs fine on OS X, Linux, Windows and Android!
- NEW August 2014: transaction type guessing engine  (in private beta build only)
- Low-latency encrypted websocket connections
- Extremely light on resources and bandwidth
 
I will be adding new features and parameters on a regular basis.


The current data source is the blockchain.info websocket API. Direct local bitcoind support, while a little more complex, could also be implemented in case there is enough demand for that.

Many thanks for your support - donations will help me continue development!

As a little bonus, you will be treated to a colorful ASCII easter egg (in the Windows build only, for now), if chainsnort sees a tip being sent to my tip jar [1111127SpvabYpoeDoiz5L7QPkfiSh2Q] - The easter egg changes depending on the size of the transaction Smiley

I also have a separate edition with some features that are useful for forensic and technical investigation purposes. I'm not releasing it at the moment but PM me if interested.


Screenshots:






Latest public version: 0.43.3

OS X and Linux

Just copy and paste into a terminal:

1/ curl -o websocket.py https://raw.github.com/liris/websocket-client/master/websocket.py

2/ curl -o chainsnort.py https://gist.github.com/flatfly/8253870/raw/9733e34e469e1bcd8d0ae13565ade4eaa0490618/gistfile1.py

3/ python chainsnort.py


Windows build

Download

Please do leave some feedback or send a tip if you like this tool. Highly appreciated!


Legal stuff:
I share the source code of chainsnort for educational and reviewing purposes only. If you plan to reuse portions of the code in commercial, academic or government projects, please contact me.
                    
Also, I am developing this on my free time and with a VERY limited budget, so i welcome any donations. Also, all donators are entitled to a special color edition of chainsnort.  (Proper website coming soon)



SHA1: ac7c67d48d4f11aff93c4c8a5e3c304f9097d578

GPG signature for Windows executable:

Code:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (MingW32)

iEYEABECAAYFAlLSrX4ACgkQ0dQqIfkZdf7H2wCgqhxvqnr9bAEuuemn0DruGjxF
c54An0NNSZOj4l72Z8RWpydTdkNlUVHc
=/Bo1
-----END PGP SIGNATURE-----


Source code for all platforms (Windows, Linux, OS X, Android): available at this gist.
1714020519
Hero Member
*
Offline Offline

Posts: 1714020519

View Profile Personal Message (Offline)

Ignore
1714020519
Reply with quote  #2

1714020519
Report to moderator
1714020519
Hero Member
*
Offline Offline

Posts: 1714020519

View Profile Personal Message (Offline)

Ignore
1714020519
Reply with quote  #2

1714020519
Report to moderator
The Bitcoin network protocol was designed to be extremely flexible. It can be used to create timed transactions, escrow transactions, multi-signature transactions, etc. The current features of the client only hint at what will be possible in the future.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714020519
Hero Member
*
Offline Offline

Posts: 1714020519

View Profile Personal Message (Offline)

Ignore
1714020519
Reply with quote  #2

1714020519
Report to moderator
1714020519
Hero Member
*
Offline Offline

Posts: 1714020519

View Profile Personal Message (Offline)

Ignore
1714020519
Reply with quote  #2

1714020519
Report to moderator
betyourbits
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile WWW
December 16, 2013, 09:31:54 PM
 #2

This is very cool! What kind of uses do you think it will serve? For traders?
carajillu
Hero Member
*****
Offline Offline

Activity: 577
Merit: 500


View Profile
December 18, 2013, 11:58:27 PM
 #3

Cool!
flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1011

760930


View Profile
December 19, 2013, 11:49:38 PM
 #4

Optimized buffer size to drastically reduce bandwidth usage.
bitpop
Legendary
*
Offline Offline

Activity: 2912
Merit: 1060



View Profile WWW
December 21, 2013, 07:27:39 PM
 #5

Wow

bitpop
Legendary
*
Offline Offline

Activity: 2912
Merit: 1060



View Profile WWW
December 22, 2013, 12:00:55 PM
 #6

server='https://blockchain.info' ssl?

bitpop
Legendary
*
Offline Offline

Activity: 2912
Merit: 1060



View Profile WWW
December 22, 2013, 12:01:36 PM
 #7

Error in cygwin, but works without

$ python chainwatch.py
ChainWatch v0.35:  52789 confirmed transactions in last 24 hours - 0.61 tx/sec


ValueError: zero length field name in format

bitpop
Legendary
*
Offline Offline

Activity: 2912
Merit: 1060



View Profile WWW
December 22, 2013, 12:25:07 PM
 #8

How are you making the beep? I can't find it in the code :/

flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1011

760930


View Profile
December 22, 2013, 12:32:37 PM
 #9


on my to-do list!
bitpop
Legendary
*
Offline Offline

Activity: 2912
Merit: 1060



View Profile WWW
December 22, 2013, 12:33:02 PM
 #10


It redirects anyway

flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1011

760930


View Profile
December 22, 2013, 12:33:58 PM
 #11

Error in cygwin, but works without

$ python chainwatch.py
ChainWatch v0.35:  52789 confirmed transactions in last 24 hours - 0.61 tx/sec


ValueError: zero length field name in format


Perhaps you have a different version of Python in cygwin?
ChainWatch uses Python 2.7.
flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1011

760930


View Profile
December 22, 2013, 12:34:27 PM
 #12

How are you making the beep? I can't find it in the code :/

Code:
print '\a'
Smiley
bitpop
Legendary
*
Offline Offline

Activity: 2912
Merit: 1060



View Profile WWW
December 22, 2013, 12:35:48 PM
 #13

How are you making the beep? I can't find it in the code :/

Code:
print '\a'
Smiley

crazy

bitpop
Legendary
*
Offline Offline

Activity: 2912
Merit: 1060



View Profile WWW
December 22, 2013, 12:37:02 PM
 #14

yup

$ python --version
Python 2.6.7

flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1011

760930


View Profile
December 22, 2013, 02:38:41 PM
Last edit: January 03, 2014, 05:51:36 PM by flatfly
 #15

Updated to version 0.384 (see code in OP).

Changes:
- some transactions were occasionally missing - fixed
- cleaner timestamp ordering
- lower network usage
- terminal color output for OS X, Linux and Windows  (this feature is for donators only)



Note: Do not tweak the various timer and buffer values unless you like playing with fire.
You might get your IP address banned from blockchain.info.
bitpop
Legendary
*
Offline Offline

Activity: 2912
Merit: 1060



View Profile WWW
December 22, 2013, 02:56:30 PM
 #16

How'd you know I changed the sleeps Huh

flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1011

760930


View Profile
December 22, 2013, 03:16:50 PM
 #17

How'd you know I changed the sleeps Huh

Just a hunch... Smiley
bitpop
Legendary
*
Offline Offline

Activity: 2912
Merit: 1060



View Profile WWW
December 22, 2013, 03:43:29 PM
 #18

Wow

flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1011

760930


View Profile
December 22, 2013, 10:37:19 PM
Last edit: December 24, 2013, 05:42:51 PM by flatfly
 #19

Next thing to be added: the fee paid for each transaction is worked out based on the total inputs and outputs and displayed in the right-most column. It gives you a quick insight into what people are paying to get their coins transferred. The color version will flag outliers in red.

Preview:

bitpop
Legendary
*
Offline Offline

Activity: 2912
Merit: 1060



View Profile WWW
December 22, 2013, 10:37:57 PM
 #20

The best

Pages: [1] 2 3 4 5 6 7 8 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!