-
Notifications
You must be signed in to change notification settings - Fork 12
/
blocktracker.py
138 lines (130 loc) · 6.65 KB
/
blocktracker.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
import os, argparse
from time import sleep
from core.colors import *
from core.utils import *
#init
parse = argparse.ArgumentParser()
parse.add_argument('-w', '--whataddress', help='Get type of wallet address', dest='whataddress')
parse.add_argument('-t', '--track', help='Get all transactions from an address', dest='track')
args = parse.parse_args()
#just the banner of the software
def banner():
print(yellow + " ,----,")
print(" ,/ .`|")
print(" ,---,. ,--, ,-. ,` .' : ,-.")
print(" ,' .' \,--.'| ,--/ /| ; ; / ,--/ /|")
print(",---.' .' || | : ,---. ,--. :/ |.'___,/ ,' __ ,-. ,--. :/ | __ ,-.")
print("| | |: |: : ' ' ,'\ : : ' / | : |,' ,'/ /| : : ' / ,' ,'/ /|")
print(": : : /| ' | / / | ,---. | ' / ; |.'; ;' | |' | ,--.--. ,---. | ' / ,---. ' | |' |")
print(": | ; ' | | . ; ,. : / \ ' | : `----' | || | ,'/ \ / \ ' | : / \ | | ,'")
print("| : \| | : ' | |: : / / ' | | \ ' : ;' : / .--. .-. | / / ' | | \ / / |' : /")
print("| | . |' : |__' | .; :. ' / ' : |. \ | | '| | ' \__\/: . .. ' / ' : |. \ . ' / || | '")
print("' : '; || | '.'| : |' ; :__ | | ' \ \ ' : |; : | ,' .--.; |' ; :__ | | ' \ \' ; /|; : |")
print("| | | ; ; : ;\ \ / ' | '.'|' : |--' ; |.' | , ; / / ,. |' | '.'|' : |--' ' | / || , ;")
print("| : / | , / `----' | : :; |,' '---' ---' ; : .' \ : :; |,' | : | ---'")
print("| | ,' ---`-' \ \ / '--' | , .-./\ \ / '--' \ \ /")
print("`----' `----' `--`---' `----' `----'\n")
message()
def message():
print(f"""{red} Search and track blockchain transactions from a wallet address {green}°º¤ø,¸¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°º¤ø,¸{red}
~ Code by Keany Vy KHUN \ Python program \ {sys.platform} {white}°º¤ø,¸¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°º¤ø,¸{red}
- Github : https://github.com/thisiskeanyvy {green}°º¤ø,¸¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°º¤ø,¸{red}
# Instagram : https://instagram.com/thisiskeanyvy {white}°º¤ø,¸¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°º¤ø,¸{red}
^ Twitter : https://twitter.com/thisiskeanyvy {green}°º¤ø,¸¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°º¤ø,¸{red}
""")
def help():
print(f"""
------------------------------------------------------------- {white}H{red}e{white}l{red}l{white}o{red} {white}W{red}o{white}r{red}l{white}d {red}!
| usage: blocktracker.py [-h] [-w WHATADDRESS] [-t TRACK] | {white}__...--~~~~~-._ _.-~~~~~--...__{red}
| | {white}// `V' \\{red}
| optional arguments: | {white}// | \\{red}
| -h, --help show this help message and exit | {white}//__...--~~~~~~-._ | _.-~~~~~~--...__\\{red}
| -w WHATADDRESS, --whataddress WHATADDRESS | {white}//__.....----~~~~._\ | /_.~~~~----.....__\\{red}
| Get type of wallet address | {white}====================\\|//===================={red}
| -t TRACK, --track TRACK | {green}BlockTracker `---`{red}
| Get all transactions from an address |
-------------------------------------------------------------""")
#variables
try:
unk_address = args.whataddress.split(',')
except:
try:
track_address = args.track.split(',')
except:
banner()
"""
Address format (start with):
0x - Ethereum (ETH)
3 - Bitcoin (BTC)
bitcoincash:q - Bitcoin Cash (BCH)
addr - Cardano (ADA)
cosmos - Cosmos (ATOM)
X - Dash (DASH)
D - Dogecoin (DOGE)
R - Komodo (KMD)
L - Lisk (LSK)
M - Litecoin (LTC)
N - NEM (XEM)
A - NEO (NEO)
A - Ontology (ONT)
1 - Polkadot (DOT)
r - Ripple (XRP)
G - Stellar (XLM)
tz - Tezos (XTZ)
T - TRON (TRX)
3P - Waves (WAVES)
t1 or t2 - Zcash (ZEC)
"""
def whataddress(): #try to determine type of wallet address
for i in range(len(unk_address)): #offline verification
address_toverify = unk_address[i];
if '0x' in address_toverify[0:2]:
print("Ethereum (ETH)")
elif 'tz' in address_toverify[0:2]:
print("Tezos (XTZ)")
elif '3P' in address_toverify[0:2]:
print("Waves (WAVES)")
elif 't1' in address_toverify[0:2] or 't2' in address_toverify[0:2]:
print("Zcash (ZEC)")
elif 'bitcoincash:q' in address_toverify[0:13]:
print("Bitcoin Cash (BCH)")
elif 'addr' in address_toverify[0:4]:
print("Cardano (ADA)")
elif 'cosmos' in address_toverify[0:5]:
print("Cosmos (ATOM)")
elif '3' in address_toverify[0:1]:
print("Bitcoin (BTC)")
elif 'X' in address_toverify[0:1]:
print("Dash (DASH)")
elif 'D' in address_toverify[0:1]:
print("Dogecoin (DOGE)")
elif 'R' in address_toverify[0:1]:
print("Komodo (KMD)")
elif 'L' in address_toverify[0:1]:
print("Lisk (LSK)")
elif 'M' in address_toverify[0:1]:
print("Litecoin (LTC)")
elif 'N' in address_toverify[0:1]:
print("NEM (XEM)")
elif 'A' in address_toverify[0:1]:
print("NEO (NEO) or Ontology (ONT)")
elif '1' in address_toverify[0:1]:
print("Polkadot (DOT)")
elif 'r' in address_toverify[0:1]:
print("Ripple (XRP)")
elif 'G' in address_toverify[0:1]:
print("Stellar (XLM)")
elif 'T' in address_toverify[0:1]:
print("TRON (TRX)")
else:
print("Addtess type unknown or not supported ???")
#start function
try:
if unk_address:
whataddress()
except:
try:
if track_address:
scan_transactions(track_address)
except:
help()