lolcocks (OP)
Newbie
Offline
Activity: 13
Merit: 0
|
|
August 30, 2017, 11:09:07 AM |
|
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
Activity: 292
Merit: 100
Miningcore
|
|
August 30, 2017, 11:17:58 AM |
|
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?
|
|
|
|
Branko
|
|
August 30, 2017, 11:18:19 AM |
|
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
Activity: 13
Merit: 0
|
|
August 30, 2017, 11:45:55 AM |
|
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
|
|
August 30, 2017, 12:04:07 PM |
|
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 http://ol346fucnsjru223.onion/whitepaper.pdf
|
|
|
|
coinfoundry
Full Member
Offline
Activity: 292
Merit: 100
Miningcore
|
|
August 30, 2017, 01:50:56 PM Last edit: August 30, 2017, 02:09:02 PM by coinfoundry |
|
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.
|
|
|
|
cryptokeyparty
Newbie
Offline
Activity: 7
Merit: 0
|
|
August 30, 2017, 02:36:51 PM |
|
@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
Activity: 1470
Merit: 1114
|
|
August 30, 2017, 03:22:35 PM |
|
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.
|
|
|
|
coinfoundry
Full Member
Offline
Activity: 292
Merit: 100
Miningcore
|
|
August 30, 2017, 03:32:55 PM |
|
@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:
|
|
|
|
coinfoundry
Full Member
Offline
Activity: 292
Merit: 100
Miningcore
|
|
August 30, 2017, 03:36:21 PM |
|
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?
|
|
|
|
joblo
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
August 30, 2017, 05:30:45 PM |
|
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? 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.
|
|
|
|
doktor83
|
|
August 30, 2017, 05:35:32 PM |
|
just a sec let me make a software that creates a mining software it will be next next next you are done type.
|
|
|
|
Branko
|
|
August 30, 2017, 05:50:06 PM |
|
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
|
|
|
|
|