Bitcoin Forum
June 20, 2024, 06:11:24 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Is there any documentation available for creating my own miner?  (Read 528 times)
lolcocks (OP)
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
August 30, 2017, 11:09:07 AM
 #1

So I have been thinking about creating my own miner for the last few days (probably XMR miner).

But there's literally no resources available on the internet regarding how to make one.

Does anyone know more about this?
coinfoundry
Full Member
***
Offline Offline

Activity: 292
Merit: 100


Miningcore


View Profile WWW
August 30, 2017, 11:17:58 AM
 #2

So I have been thinking about creating my own miner for the last few days (probably XMR miner).

But there's literally no resources available on the internet regarding how to make one.

Does anyone know more about this?

You mean developing your own mining software like ccminer or claymore?

Miningcore.pro - Stress-Free, Reliable Crypto Mining. Period.
Branko
Sr. Member
****
Offline Offline

Activity: 2506
Merit: 319


View Profile
August 30, 2017, 11:18:19 AM
 #3

So I have been thinking about creating my own miner for the last few days (probably XMR miner).

But there's literally no resources available on the internet regarding how to make one.

Does anyone know more about this?


What resources you need, beside few open source projects available
that you can use as base of your code, or just to learn what to do?
lolcocks (OP)
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
August 30, 2017, 11:45:55 AM
 #4

So I have been thinking about creating my own miner for the last few days (probably XMR miner).

But there's literally no resources available on the internet regarding how to make one.

Does anyone know more about this?

You mean developing your own mining software like ccminer or claymore?


That is correct.




So I have been thinking about creating my own miner for the last few days (probably XMR miner).

But there's literally no resources available on the internet regarding how to make one.

Does anyone know more about this?


What resources you need, beside few open source projects available
that you can use as base of your code, or just to learn what to do?



Well I was hoping for a bit more explanation, but I guess since nothing is available I will have to stick with the already available codes.
Branko
Sr. Member
****
Offline Offline

Activity: 2506
Merit: 319


View Profile
August 30, 2017, 12:04:07 PM
 #5


Well I was hoping for a bit more explanation, but I guess since nothing is available I will have to stick with the already available codes.

Well, monero uses Cryptonote, I found whitepaper in about a minute Cheesy


http://ol346fucnsjru223.onion/whitepaper.pdf
coinfoundry
Full Member
***
Offline Offline

Activity: 292
Merit: 100


Miningcore


View Profile WWW
August 30, 2017, 01:50:56 PM
Last edit: August 30, 2017, 02:09:02 PM by coinfoundry
 #6

So I have been thinking about creating my own miner for the last few days (probably XMR miner).

But there's literally no resources available on the internet regarding how to make one.

Does anyone know more about this?

What resources you need, beside few open source projects available
that you can use as base of your code, or just to learn what to do?

Well I was hoping for a bit more explanation, but I guess since nothing is available I will have to stick with the already available codes.

Well there are a couple reasons why you didn't get the answers you were looking for:

  • Writing a miner is hard. Very hard. I'm a software engineer with more than 15 years of experience under my belt. I'm quite proficient in x86 assembly, SIMD and low level programming etc. and I still would find the challenge daunting to say the least, but not impossible
  • Writing a miner that's fast enough to be competitive with the top miners out there requires knowledge, dedication and a LOT of time spent optmizing the shit out of your code. Be prepared for blood, sweat and tears.
  • Did I mention it is hard? Not many developers know enough about this topic to give advice
  • Those that do, often do not have an incentive to share their knowledge (i.e. Claymore) because the code is proprietary and they profit from built-in dev fees (which is their right of course)

Don't get me wrong I didn't mean to discourage you, with enough determination and time everything is possible.

Miningcore.pro - Stress-Free, Reliable Crypto Mining. Period.
cryptokeyparty
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile WWW
August 30, 2017, 02:36:51 PM
 #7

@coinfoundry
So, assuming that someone is ready to go full blood sweat and tears to create/modify their own miner, where would you point them? To start mastering C++ first? or something else?
joblo
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
August 30, 2017, 03:22:35 PM
 #8

Come back when you have a CS degree with a specialization in cryptography and a few years experience designing
OpenCL or Cuda apps.

Starting with mastering c/c++ makes me laugh. Mastering the assembly language of multiple CPU and GPU architectures
would be useful but a single high level language is kindergarden stuff.

AKA JayDDee, cpuminer-opt developer. https://github.com/JayDDee/cpuminer-opt
https://bitcointalk.org/index.php?topic=5226770.msg53865575#msg53865575
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
coinfoundry
Full Member
***
Offline Offline

Activity: 292
Merit: 100


Miningcore


View Profile WWW
August 30, 2017, 03:32:55 PM
 #9

@coinfoundry
So, assuming that someone is ready to go full blood sweat and tears to create/modify their own miner, where would you point them? To start mastering C++ first? or something else?

Well I would probably start with learning C and C++. Don't waste your time attempting to master those languages in the sense of reaching a point where you'd consider yourself a "master" by developing endless learning projects that have no real value to you until you can finally move on to the real stuff.

Once you've grasped the basics, clone a CPU miner (yes CPU, not GPU as this would make it even harder for a beginner) from Github (links below) and spend a significant amount of time understanding the code (we are talking weeks or months here). You might hit a huge wall here since miners are jam packed with inline assembly, SIMD intrinsics and other tricky optimizations. If this proves to be too much to swallow (and it most likely will) take another approach: Arm yourself with documentation about a coin and attempt to develop a very simple totally unoptimized miner for it. I'd suggest to stay away from the bitcoin-family of coins due to huge pain that is dealing with the coinbase tx and related areas. Once you got a simple miner working return to the github repo you've cloned earlier and compare your implementation to theirs. Figure out the implementation differences, note where you are wasting time compared to them etc. Apply those concepts to your own miner and you will gradually get closer and closer to your goal. At one point you'll either realize that you've become a pretty good developer or that the challenge is too overwhelming in the end.

Links:


Miningcore.pro - Stress-Free, Reliable Crypto Mining. Period.
coinfoundry
Full Member
***
Offline Offline

Activity: 292
Merit: 100


Miningcore


View Profile WWW
August 30, 2017, 03:36:21 PM
 #10

Come back when you have a CS degree with a specialization in cryptography and a few years experience designing
OpenCL or Cuda apps.

Starting with mastering c/c++ makes me laugh. Mastering the assembly language of multiple CPU and GPU architectures
would be useful but a single high level language is kindergarden stuff.

Do you have to be so cruel? Smiley

Miningcore.pro - Stress-Free, Reliable Crypto Mining. Period.
joblo
Legendary
*
Offline Offline

Activity: 1470
Merit: 1114


View Profile
August 30, 2017, 05:30:45 PM
 #11

Come back when you have a CS degree with a specialization in cryptography and a few years experience designing
OpenCL or Cuda apps.

Starting with mastering c/c++ makes me laugh. Mastering the assembly language of multiple CPU and GPU architectures
would be useful but a single high level language is kindergarden stuff.

Do you have to be so cruel? Smiley

My sarcasm is intentional. The reaction to it determines if a person is hopelessly clueless or simply didn't understand
the scope of the problem.

AKA JayDDee, cpuminer-opt developer. https://github.com/JayDDee/cpuminer-opt
https://bitcointalk.org/index.php?topic=5226770.msg53865575#msg53865575
BTC: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT,
doktor83
Hero Member
*****
Offline Offline

Activity: 2576
Merit: 626


View Profile WWW
August 30, 2017, 05:35:32 PM
 #12

just a sec let me make a software that creates a mining software it will be next next next you are done type.

SRBMiner-MULTI thread - HERE
http://www.srbminer.com
Branko
Sr. Member
****
Offline Offline

Activity: 2506
Merit: 319


View Profile
August 30, 2017, 05:50:06 PM
 #13

just a sec let me make a software that creates a mining software it will be next next next you are done type.

If you have to make AI, make one that exploits exchange markets instead, that's better money Cheesy
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!