GithubHelp home page GithubHelp logo

pawelgorny / wifsolvercuda Goto Github PK

View Code? Open in Web Editor NEW
41.0 8.0 23.0 149 KB

Tool for solving misspelled or damaged Bitcoin Private Key in Wallet Import Format (WIF)

License: GNU General Public License v3.0

Cuda 25.95% C++ 70.31% C 2.83% Makefile 0.92%
cuda bitcoin cpp wif private-key missing-characters segwit legacy secp256k1 p2wpkh

wifsolvercuda's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

wifsolvercuda's Issues

-stride option and its affects

i,m trying to understand the option -stride and its affects:

  1. is 58^8 the min and is 58^50 the max ? can the value be 0 or 1?
  2. what if i lost say 10 chars or 11 chars from the end what value i shoud use for -stride, in this case i can not count for 58^8?
  3. can we say that with -stride , we are trying to skip unneeded calculation so we reach faster. this is important to explain so the user can understand its value and function.

can you add opencl

i have many amd gpu and it only work better with opencl
can u add it please for multi gpu
more than 10 gpu

thanks for all ur work

Recover a p2sh address?

Hello
I've tested this wif solver and found that only works with legacy addresses.
For a segwit address (bc1q) there is no problem, because we can find the related legacy address with the same hash160.
How to recover the Wif of a p2sh address?

kernel launch failed: ###

Hello Sir, im trying to run latest release version but get that message, kernel launch failed: ###.
im currently using older CUDA, thats GTX 1050 TI.
Can you please, teach me how to rebuild this for windows 10 x64 ?
i'm just new for C proggramming.
Thank you !!

Suggestions for the project WifSolverCuda

Hi Pavel.
I am engaged in the implementation of similar projects to search for WIF keys and not only.
Fialka M-125
Rotor-Cuda
Collider GPU

  1. You are building on CUDA 11.5, so the program will only work on RTX3 GPUs... all other cards will have a carnel image error.
    Build like me on CUDA 10.22 will work on all GPUs.
  2. I suggest adding a bloom filter to your project. You can take the finished bloom filter code for the GPU from me.
  3. There are suggestions how to speed up WIF search by 5 times.

There are many interesting non-public ideas that we can discuss in the telegram group. https://t.me/+_mnQmgS1D5QyYmY6

device 0 failed

Hi,
I am using RTX 2060, GPU driver and CUDA version are the same and COMPUTE_CAP=75. but I get device 0 failed.

Hashtopolis integration

Hi there,

Are you tried to make the WifSolverCuda to Hashtopolis integration?
It will be helpful for a lot of projects. I hope they will be harmful to the integration.
They will share something with you too. Anyway.

BR
Friend

multi GPU ??

Hello Pawel.
Is multi GPU possible?

Regards
Rob

troubles while compiling for cuda less than 11.6

Build
Windows:

Program was prepared using CUDA 11.6 - for any other version manual change in VS project config files is needed.
 Exe under /Releases/ was build using compute_cap=86, for cards 30xx. If you have older card, you must rebuild 
program using older CUDA/lower CCAP.

Linux:

Go to WifSolverCuda/ subfolder and execute make all. If your device does not support compute capability=86 (error 
"No kernel image is available for execution on the device"), do the change in Makefile (for example 1080Ti requires 
COMPUTE_CAP=61).

i was try to fix <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 11.6.targets" />
in WifSolverCuda.vcxproj

but compiling failed yet after it

explain please where and how i may fix source code to compile for cuda less than 11.6 ?
thx a lot )

expand toolbar

Hello. I suggest adding the time [00:00:00] to the toolbar on the left and adding total key on the right. [T: 1,754,976,610]
You can update the WIF position every sec.
It will be a useful addition if you need the code I can give.
Example:
[00:23:15] [L3UBXym7JYcMX91ssLgZzS2MvxTxjU3VRf9S4jJWXVFdDi4NsLcm] [C: 12.004%] [Speed: 1.2 Gkey/s] [T: 5,284,503,173,355]

lib/hash/ripemd160.cpp:36:39: error: invalid input constraint 'c' in asm

this is what i got

jonathandoe@MacBook-Air-3 wifsolvercuda % make all
mkdir -p obj
g++ -std=c++11 -m64 -mssse3 -Wno-unused-result -Wno-write-strings -O2 -I. -I/include -o obj/ripemd160.o -c lib/hash/ripemd160.cpp
clang: warning: argument unused during compilation: '-mssse3' [-Wunused-command-line-argument]
lib/hash/ripemd160.cpp:36:39: error: invalid input constraint 'c' in asm
asm("roll %1,%0" : "+r" (x) : "c" (r));
^
1 error generated.
make: *** [all] Error 1

compiling problem

make all
mkdir -p obj
g++ -std=c++11 -m64 -mssse3 -Wno-unused-result -Wno-write-strings -O2 -I. -I/include -o obj/ripemd160.o -c lib/hash/ripemd160.cpp
g++ -std=c++11 -m64 -mssse3 -Wno-unused-result -Wno-write-strings -O2 -I. -I/include -o obj/ripemd160_sse.o -c lib/hash/ripemd160_sse.cpp
g++ -std=c++11 -m64 -mssse3 -Wno-unused-result -Wno-write-strings -O2 -I. -I/include -o obj/sha256cpp.o -c lib/hash/sha256.cpp
g++ -std=c++11 -m64 -mssse3 -Wno-unused-result -Wno-write-strings -O2 -I. -I/include -o obj/sha256_sse.o -c lib/hash/sha256_sse.cpp
gcc -O3 -c lib/base58.c -o obj/base58.o
lib/base58.c: In function ‘b58enc’:
lib/base58.c:54:14: warning: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration]
54 | buf = (int*)malloc(sizeof(uint8_t) * size);
| ^~~~~~
lib/base58.c:54:14: warning: incompatible implicit declaration of built-in function ‘malloc’
lib/base58.c:20:1: note: include ‘<stdlib.h>’ or provide a declaration of ‘malloc’
19 | #include "base58.h"
+++ |+#include <stdlib.h>
20 |
lib/base58.c:54:6: warning: assignment to ‘uint8_t *’ {aka ‘unsigned char ’} from incompatible pointer type ‘int ’ [-Wincompatible-pointer-types]
54 | buf = (int
)malloc(sizeof(uint8_t) * size);
| ^
lib/base58.c:85:2: warning: implicit declaration of function ‘free’ [-Wimplicit-function-declaration]
85 | free(buf);
| ^~~~
lib/base58.c:85:2: warning: incompatible implicit declaration of built-in function ‘free’
lib/base58.c:85:2: note: include ‘<stdlib.h>’ or provide a declaration of ‘free’
lib/base58.c: In function ‘b58tobin’:
lib/base58.c:96:15: warning: incompatible implicit declaration of built-in function ‘malloc’
96 | outi = (int
)malloc(sizeof(b58_almostmaxint_t) * outisz);
| ^~~~~~
lib/base58.c:96:15: note: include ‘<stdlib.h>’ or provide a declaration of ‘malloc’
g++ -O3 -c lib/util.cpp -o obj/util.o
g++ -std=c++11 -m64 -mssse3 -Wno-unused-result -Wno-write-strings -O2 -I. -I/include -c lib/Int.cpp -o obj/Int.o
g++ -std=c++11 -m64 -mssse3 -Wno-unused-result -Wno-write-strings -O2 -I. -I/include -c lib/Point.cpp -o obj/Point.o
g++ -std=c++11 -m64 -mssse3 -Wno-unused-result -Wno-write-strings -O2 -I. -I/include -c lib/SECP256K1.cpp -o obj/SECP256K1.o
g++ -std=c++11 -m64 -mssse3 -Wno-unused-result -Wno-write-strings -O2 -I. -I/include -c lib/IntGroup.cpp -o obj/IntGroup.o
g++ -std=c++11 -m64 -mssse3 -Wno-unused-result -Wno-write-strings -O2 -I. -I/include -c lib/IntMod.cpp -o obj/IntMod.o
nvcc --ptxas-options=-v -maxrregcount=0 --compile --compiler-options -fPIC -ccbin /usr/bin/g++9 -m64 -O2 -I/include -gencode=arch=compute_61,code=sm_61 -o obj/sha256.o -c lib/hash/sha256.cu
make: nvcc: Command not found
make: *** [Makefile:29: all] Error 127
Question : what i am doing wrong ? please help

Selecting only some GPUs for running is impossible

Hi Pawel,

Seems there is no way to execute the software by selecting only part of the installed GPUs.
Like I have 4 GPUs and want to start the Wifsolvercuda only for 1,2 and 4 (for the software it will be 0,1 and 3)
I tried next
-d 013
-d 0,1,3
-d 0 -d 1 -d 3
No success.
Please help to apply the settings properly or make a new release.

Best Regards

How to calculate stride?

How would we Calculate the stride?
I am confused on how to find the stride.

I have a private key that is a 56% match with the public address I am trying to recover.

I have the Private key of this address 156nQNtSdLMsng6HqTFiavcMb2uQLHP6VD and it is a 56% Match to the public key of this address 156nQNtSdLMsqD81zpjzzbHKonqgtBwVJq (Address I am trying to recover).

How would I calculate the stride for the address I am trying to the recover with the Private key and address I have now. Since it is a 56% match.

Please help me learn on how to find the stride for this.

Stride_1

Can you please explain the last release update with stride_1 feature ? how does this work ?

Missed first part of wif

Hi! And if we don’t know first part of the wif , but we know that it’s compressed, it’s mean search in range 252-256 bit, right ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.