Add files via upload

This commit is contained in:
Isaacdelly 2022-12-02 17:14:58 -08:00 committed by GitHub
parent 7a17612fd7
commit 476bb458a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 2 deletions

View File

@ -76,6 +76,8 @@ __verbose__: 0 or 1 <br />
__substring__: `python3 plutus.py substring=8`: __substring__: `python3 plutus.py substring=8`:
To make the program memory efficient, the entire bitcoin address is not loaded from the database. Only the last <__substring__> characters are loaded. This significantly reduces the amount of RAM required to run the program. if you still get memory errors then try making this number smaller, by default it is set to 8. This opens us up to getting false positives (empty addresses mistaken as funded) with a probability of 1/(16^<__substring__>), however it does NOT leave us vulnerable to false negatives (funded addresses being mistaken as empty) so this is an acceptable compromise. To make the program memory efficient, the entire bitcoin address is not loaded from the database. Only the last <__substring__> characters are loaded. This significantly reduces the amount of RAM required to run the program. if you still get memory errors then try making this number smaller, by default it is set to 8. This opens us up to getting false positives (empty addresses mistaken as funded) with a probability of 1/(16^<__substring__>), however it does NOT leave us vulnerable to false negatives (funded addresses being mistaken as empty) so this is an acceptable compromise.
__cpu_count__: `python3 plutus.py cpu_count=1`: number of cores to run concurrently. More cores = more resource usage but faster bruteforcing. Omit this parameter to run with the maximum number of cores
By default the program runs using `python3 plutus.py verbose=0 substring=8` if nothing is passed. By default the program runs using `python3 plutus.py verbose=0 substring=8` if nothing is passed.
# Expected Output # Expected Output

View File

@ -3,6 +3,7 @@
# https://github.com/Isaacdelly/Plutus # https://github.com/Isaacdelly/Plutus
from fastecdsa import keys, curve from fastecdsa import keys, curve
from ellipticcurve.privateKey import PrivateKey
import platform import platform
import multiprocessing import multiprocessing
import hashlib import hashlib
@ -115,10 +116,13 @@ if __name__ == '__main__':
} }
if platform.system() in ['Linux', 'Darwin']: if platform.system() in ['Linux', 'Darwin']:
args['fastecdsa'] = True args['fastecdsa'] = True
for arg in sys.argv[1:]: for arg in sys.argv[1:]:
command = arg.split('=')[0] command = arg.split('=')[0]
if command == 'help': if command == 'help':
print_help() print_help()
elif command == 'time':
timer(args)
elif command == 'cpu_count': elif command == 'cpu_count':
cpu_count = int(arg.split('=')[1]) cpu_count = int(arg.split('=')[1])
if cpu_count > 0 and cpu_count <= multiprocessing.cpu_count(): if cpu_count > 0 and cpu_count <= multiprocessing.cpu_count():
@ -127,8 +131,6 @@ if __name__ == '__main__':
args['cpu_count'] = multiprocessing.cpu_count() args['cpu_count'] = multiprocessing.cpu_count()
print('invalid input. cpu_count must be greater than 0 and less than or equal to ' + str(multiprocessing.cpu_count())) print('invalid input. cpu_count must be greater than 0 and less than or equal to ' + str(multiprocessing.cpu_count()))
sys.exit(-1) sys.exit(-1)
elif command == 'time':
timer(args)
elif command == 'verbose': elif command == 'verbose':
verbose = arg.split('=')[1] verbose = arg.split('=')[1]
if verbose in ['0', '1']: if verbose in ['0', '1']: