This repository has been archived on 2024-12-19. You can view files and clone it, but cannot push or open issues or pull requests.
PyBitmessage-2024-12-19/src/workprover
Biryuzovye Kleshni cac0237ae0 OS X compatibility
2018-06-25 07:51:39 +00:00
..
fastsolver OS X compatibility 2018-06-25 07:51:39 +00:00
__init__.py Sorted imports 2018-06-23 11:00:24 +00:00
dumbsolver.py Sorted imports 2018-06-23 11:00:24 +00:00
fastsolver.py Sorted imports 2018-06-23 11:00:24 +00:00
forkingsolver.py Sorted imports 2018-06-23 11:00:24 +00:00
gpusolver.cl New POW calculation module 2018-06-23 08:57:34 +00:00
gpusolver.py Sorted imports 2018-06-23 11:00:24 +00:00
Readme.md New POW calculation module 2018-06-23 08:57:34 +00:00
test.py Skip OpenCL test if unavailable 2018-06-23 15:53:06 +00:00
utils.py Sorted imports 2018-06-23 11:00:24 +00:00

Please keep this module independent from the outside code, so that it can be reused in other applications.

If you are going to use it, you should wrap your program's main file in this:

import workprover.dumbsolver

workprover.dumbsolver.libcrypto = ...

if __name__ == "__main__":
    import multiprocessing

    multiprocessing.freeze_support()

    ...

See the multiprocessing module documentation for explaination.

Build fast solver

On Linux, BSDs or MacOS: make -C fastsolver.

On Windows:

  • Install OpenSSL. Build it yourself or install third-party prebuilt binaries.

  • Install MSVC as part of Visual Studio or standalone. Official offline installer: https://aka.ms/vcpython27.

  • Open its command line and go to the fastsolver directory.

  • Add OpenSSL paths to environment variables:

set INCLUDE=C:\OpenSSL-Win64\include;%INCLUDE%
set LIB=C:\OpenSSL-Win64\lib;%LIB%
  • Do cl @options.txt.

  • Append the -32 or -64 suffix to the DLL file name.