Skip to content

Commit

Permalink
_MAJOR_ refactoring and stripping
Browse files Browse the repository at this point in the history
Separated C++ code more clearly, and firmly, into classes. Stripped out
practically all of the solo-specific code. Disabled CPU mining. Changed
config file format. Unlinked vault code. Tightened up some loose screws.
Added a dev fee. Enabled multi-GPU mining and other multi-threaded
operations. Decoupled UI output from mining loop almost entirely (it
still updates the rate counters).

Added LICENSE file and (version-specific) README.
  • Loading branch information
azlehria committed Apr 27, 2018
1 parent 02ff00b commit ce789b6
Show file tree
Hide file tree
Showing 27 changed files with 20,182 additions and 1,593 deletions.
277 changes: 143 additions & 134 deletions 0xbitcoinminer-accel.js

Large diffs are not rendered by default.

1,385 changes: 1,385 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

27 changes: 27 additions & 0 deletions README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
This version is a bit of a departure, hence "gaiden". Configuration
is entirely file-based, in `0xbitcoin.json', which _is_ read by a
proper JSON interpreter, so formatting is
important. https://jsonlint.com/ is quite useful for checking, if you
have any difficulty.

You will have to supply your own Ethereum address (mine is there as
a placeholder - please don't actually mine to it!) and select a
server.
CUDA devices are numbered starting at 0, which is the "most capable"
card according to Nvidia's criteria - not always accurate, but
generally at least close. Specific devices can be disabled if desired,
and per-card intensity is, hopefully obviously, supported easily. Have
no worries about specifying cards that don't exist: such settings are
simply ignored.

Once your configuration is complete, simply double-click on the
miner and enjoy. No more faffing about with arcane batch file syntax,
piping commands and so on. Pool mining only, I'm afraid.

There is, finally, a ~2.5% dev fee. The implementation is simple and
uses a foolproof (though I tested it anyway!) counter: it merely
diverts every 41st share to my address. Dev shares are not indicated
in your solution counter, but instead trigger a log message containing
a counter so that you can verify the ratio and timing.

Happy mining!
6 changes: 4 additions & 2 deletions binding.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,12 @@
"cpp/hybridminer/addon.cc",
"cpp/hybridminer/hybridminer.cpp",
"cpp/hybridminer/cpusolver.cpp",
"cpp/hybridminer/miner_state.cpp",
"cpp/hybridminer/sha3.c",
"cpp/hybridminer/cudasolver.cpp",
"cpp/hybridminer/cuda_sha3.cu"
],
'cflags_cc+': [ '-march=native', '-O3', '-std=c++11' ],
'cflags_cc+': [ '-march=native', '-O3', '-std=c++11', '-Wall' ],

# Comment next line for test builds
'defines': [ 'NDEBUG'],
Expand Down Expand Up @@ -88,7 +89,8 @@
'MultiProcessorCompilation': 'true',
'Optimization': 3,
'RuntimeLibrary': 0,
'WarningLevel': 3,
'WarningLevel': 4, # Wall is _completely batshit_ in MSVC
'DisableSpecificWarnings': ['4100'], # formal argument not used
'ExceptionHandling': 1,
'DebugInformationFormat': 3
}
Expand Down
Loading

0 comments on commit ce789b6

Please sign in to comment.