Author

Topic: Is there any documentation available for creating my own miner? (Read 545 times)

sr. member
Activity: 2632
Merit: 328
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
hero member
Activity: 2548
Merit: 626
just a sec let me make a software that creates a mining software it will be next next next you are done type.
legendary
Activity: 1470
Merit: 1114
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.
full member
Activity: 292
Merit: 100
Miningcore
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
full member
Activity: 292
Merit: 100
Miningcore
@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:

legendary
Activity: 1470
Merit: 1114
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.
newbie
Activity: 7
Merit: 0
@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?
full member
Activity: 292
Merit: 100
Miningcore
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.
sr. member
Activity: 2632
Merit: 328

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
newbie
Activity: 13
Merit: 0
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.
sr. member
Activity: 2632
Merit: 328
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?
full member
Activity: 292
Merit: 100
Miningcore
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?
newbie
Activity: 13
Merit: 0
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?
Jump to: