Bitcoin Forum
May 04, 2024, 02:40:27 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 »  All
  Print  
Author Topic: [ANN] CryptoSwitcher - Automatically mine the best coin.  (Read 95302 times)
area (OP)
Full Member
***
Offline Offline

Activity: 177
Merit: 100


View Profile
April 10, 2013, 07:00:30 AM
Last edit: May 06, 2013, 08:34:05 AM by area
 #1

What is CryptoSwitcher?
You've heard about these altcoins, and none have them have taken your fancy; you think they're all clones and destined to failure. You think BTC is the one true way, and are still mining it. The altcoins aren't useless to you. Many of them are more profitable to mine short-term than BTC if you just sell them at the market price.

How can I used it?
The source is available at https://github.com/area/CryptoSwitcher. Clone it, and then edit the cryptoswitcher.config.sample file as it instructs in the comments. If you wish to use BTC-E, you will need to edit the 'key.sample' file to contain your API key, and move it to 'key'. The README included should be a bit more comprehensive than the instructions here. If you already have scripts to start and stop mining, then setup should be easy for you.

How does it work?
The actual maths is done by the websites:

http://dustcoin.com/mining
http://coinchoose.com
http://fizzisist.com (Vanity address mining only - down at the moment?)

This is just a wrapper to use the above sites to pick the most appropriate mining activity for your hardware, and make sure that it's doing the right thing for you. It's written in Python, and uses scripts (which the end-user must write, in the language of their choice; some samples are included) to stop other miners and launch the appropriate one.

Isn't this a terrible idea?
Maybe. I honestly haven't decided whether coin-hopping is a bad thing long term. The consequences of wide-spread adoption that I can think of are:
  • This would tie the value of all alt-coins to BTC.
  • It would cause massive difficulty spikes as retargets happen, causing mining an alt-coin to become less profitable and hoppers to mine elsewhere. The dedicated miners on that coin are then left with a much higher difficulty than they should have, and struggle to find blocks. We have seen this happen already with TRC, which is still struggling to deal with the aftermath

The closest parallel to this I can think of is pool-hopping. However, pool-hopping eventually brought about good - nearly all hoppable pools eventually moved from proportional payouts to an unhoppable payout scheme (e.g. DGM), and pool hopping died as an art, despite the best efforts of P4Man and others. I feel like the same should happen here; if an alt-coin is unable to convince people of its merits such that it is mined regardless of profitability compared to mining the more accepted BTC - or is unable to deal with the consequences of not doing so - then perhaps it doesn't deserve to succeed.

I think this is probably the most contentious issue with this project, and is probably going to get worse as BTC difficulty continues to rise with the advent of ASICs, and people with outdated hardware look to put it to use. I welcome input on this particular aspect.

Features
  • Support for both Dustcoin and Coinchoose, and all the coins they list (though only one site may be used at a time)
  • Takes merged mining into account if you say its available
  • Will automatically sell coins for BTC on BTC-E and/or Vircurex if you choose.

Todo
  • Vircurex support
  • Use both Dustcoin and Coinchoose at the same time?
  • Use the CGMiner API to switch between coins with the same hashing algorithm in one CGminer instance. If a user were to allow remote API access, then this could in theory be provided as a service, without the user having to run the script themselves.
  • Monitor miners for dead pools.
1714790427
Hero Member
*
Offline Offline

Posts: 1714790427

View Profile Personal Message (Offline)

Ignore
1714790427
Reply with quote  #2

1714790427
Report to moderator
1714790427
Hero Member
*
Offline Offline

Posts: 1714790427

View Profile Personal Message (Offline)

Ignore
1714790427
Reply with quote  #2

1714790427
Report to moderator
1714790427
Hero Member
*
Offline Offline

Posts: 1714790427

View Profile Personal Message (Offline)

Ignore
1714790427
Reply with quote  #2

1714790427
Report to moderator
"Bitcoin: the cutting edge of begging technology." -- Giraffe.BTC
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714790427
Hero Member
*
Offline Offline

Posts: 1714790427

View Profile Personal Message (Offline)

Ignore
1714790427
Reply with quote  #2

1714790427
Report to moderator
1714790427
Hero Member
*
Offline Offline

Posts: 1714790427

View Profile Personal Message (Offline)

Ignore
1714790427
Reply with quote  #2

1714790427
Report to moderator
sal002
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500


View Profile WWW
April 10, 2013, 11:58:16 AM
 #2

Very good work.  I am about to test this out!
Simran
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile WWW
April 10, 2013, 12:21:26 PM
 #3

What is CryptoSwitcher?
You've heard about these altcoins, and none have them have taken your fancy; you think they're all clones and destined to failure. You think BTC is the one true way, and are still mining it. The altcoins aren't useless to you. Many of them are more profitable to mine short-term than BTC if you just sell them at the market price.

How can I used it?
The source is available at https://github.com/area/CryptoSwitcher. Clone it, and then edit the cryptoswitcher.config.sample file as it instructs in the comments. If you wish to use BTC-E, you will need to edit the 'key.sample' file to contain your API key, and move it to 'key'. The README included should be a bit more comprehensive than the instructions here. If you already have scripts to start and stop mining, then setup should be easy for you.

How does it work?
The actual maths is done by the websites:

Dustcoin
Coinchoose
Fizzisist (Vanity address mining only - down at the moment?)

This is just a wrapper to use the above sites to pick the most appropriate mining activity for your hardware, and make sure that it's doing the right thing for you. It's written in Python, and uses scripts (which the end-user must write, in the language of their choice; some samples are included) to stop other miners and launch the appropriate one.

Isn't this a terrible idea?
Maybe. I honestly haven't decided whether coin-hopping is a bad thing long term. The consequences of wide-spread adoption that I can think of are:
  • This would tie the value of all alt-coins to BTC.
  • It would cause massive difficulty spikes as retargets happen, causing mining an alt-coin to become less profitable and hoppers to mine elsewhere. The dedicated miners on that coin are then left with a much higher difficulty than they should have, and struggle to find blocks. We have seen this happen already with TRC, which is still struggling to deal with the aftermath

The closest parallel to this I can think of is pool-hopping. However, pool-hopping eventually brought about good - nearly all hoppable pools eventually moved from proportional payouts to an unhoppable payout scheme (e.g. DGM), and pool hopping died as an art, despite the best efforts of P4Man and others. I feel like the same should happen here; if an alt-coin is unable to convince people of its merits such that it is mined regardless of profitability compared to mining the more accepted BTC - or is unable to deal with the consequences of not doing so - then perhaps it doesn't deserve to succeed.

I think this is probably the most contentious issue with this project, and is probably going to get worse as BTC difficulty continues to rise with the advent of ASICs, and people with outdated hardware look to put it to use. I welcome input on this particular aspect.

Features
  • Support for both Dustcoin and Coinchoose, and all the coins they list (though only one site may be used at a time)
  • Takes merged mining into account if you say its available
  • Will automatically sell coins for BTC on BTC-E if you choose

Todo
  • Vircurex support
  • Use both Dustcoin and Coinchoose at the same time?
  • Use the CGMiner API to switch between coins with the same hashing algorithm in one CGminer instance. If a user were to allow remote API access, then this could in theory be provided as a service, without the user having to run the script themselves.


If this uses Scrypt and SHA-256, how do you switch between them in the miner files?

*Image Removed*
Donate LTC: LRgbgTa3XNQSEUhnwC6Ye2vjiCV2CNRpib
Donate BTC: 1AGP6xPTRvsAVhsRsBX13NUH6p6LJjyeiA
Ilocans
Member
**
Offline Offline

Activity: 77
Merit: 10


View Profile
April 10, 2013, 01:03:10 PM
 #4

Hi,
Good idea Smiley
However, Error 404 for https://github.com/area/CryptoSwitcher
The 3 links to Dustoin, Coinchoose and Fizzsist does not work

Let's color the MOON: YCu1UpCKcZuu9162NeDCtDFU2Vdiz3t23i

Donation Addresses:
Feathercoin: 6jyEsQGrVSySeNV1brb9JH1b1vPmeMYatF
LiteCoin: LgcJgVeFLiiuuhsC5rUw1cUwg15Nutds5X
Bitcoin:14sZqEb5Tu3w9qVUCDHJ38CzJ2CQS9EV7M
area (OP)
Full Member
***
Offline Offline

Activity: 177
Merit: 100


View Profile
April 10, 2013, 01:08:37 PM
 #5

If this uses Scrypt and SHA-256, how do you switch between them in the miner files?

The sample scripts I've included are for Bitcoin and Litecoin, and show how this is done. In short, if we are mining BTC and the script decides to switch to LTC, litecoin.sh is run. The first thing that litecoin.sh does is close all instances of CGMiner using the CGMiner API. It then sets the clocks correctly for LTC mining, and only then does it spool up a new instance of CGminer, mining the desired coin, making sure that API access is enabled for future switching. Each script you write and use (i.e. beyond the litecoin.sh and bitcoin.sh files included) should do roughly the same thing.
sal002
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500


View Profile WWW
April 10, 2013, 01:14:38 PM
 #6

Hi,
Good idea Smiley
However, Error 404 for https://github.com/area/CryptoSwitcher
The 3 links to Dustoin, Coinchoose and Fizzsist does not work

Comes up here - all of them.  Is your internet okay?
area (OP)
Full Member
***
Offline Offline

Activity: 177
Merit: 100


View Profile
April 10, 2013, 01:17:55 PM
 #7

Hi,
Good idea Smiley
However, Error 404 for https://github.com/area/CryptoSwitcher
The 3 links to Dustoin, Coinchoose and Fizzsist does not work

Comes up here - all of them.  Is your internet okay?

The first post had errors in the URLs for those three (I'm too used to BBCode), which I have now corrected.
area (OP)
Full Member
***
Offline Offline

Activity: 177
Merit: 100


View Profile
April 11, 2013, 06:11:28 AM
 #8

Fizzisist seems to be back up, but is now returning 'null' for profitability, which I had never seen before. I have pushed an update that handles this gracefully.
bajanboost
Newbie
*
Offline Offline

Activity: 53
Merit: 0



View Profile
April 11, 2013, 08:24:10 AM
 #9

It would be nice if you included a pool failover for each coin.

For example if the profitability was showing litecoin and my rigs switched to that, then if a pool is dead / failing, the rig will switch pools.
area (OP)
Full Member
***
Offline Offline

Activity: 177
Merit: 100


View Profile
April 11, 2013, 08:28:35 AM
 #10

It would be nice if you included a pool failover for each coin.

For example if the profitability was showing litecoin and my rigs switched to that, then if a pool is dead / failing, the rig will switch pools.

Agreed, I've been thinking about this too and looking into the CGminer API. For now, I can only recommend you have backup pools in your CGminer configuration files, but I realise that for the more exotic coins that's probably easier said than done.
skeeterskeeter
Full Member
***
Offline Offline

Activity: 160
Merit: 100


View Profile
April 12, 2013, 01:22:36 AM
 #11

I would love to try this, but I barely can get these old ass 5830's working on windows, linux I couldn't get a good OpenCL.

Would love to see if it ever gets thrown into a good 'ol exe
celkaris
Full Member
***
Offline Offline

Activity: 148
Merit: 100


View Profile
April 12, 2013, 01:28:06 AM
 #12

you guys realize that if this gets popular enough, every single coin out there will put its difficulty so high that the profitability indicator will never go green again, leading to miners leaving the chain, finally killing all those coins ?

you'll just waste electricity (unless you already planned to dump every single coin as soon as it's received, and forget about those altcoins when they're completely dead, but i'd bet you won't find buyers once those indicators turns red)

Smiley
sal002
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500


View Profile WWW
April 12, 2013, 01:41:54 AM
 #13

you guys realize that if this gets popular enough, every single coin out there will put its difficulty so high that the profitability indicator will never go green again, leading to miners leaving the chain, finally killing all those coins ?



And then the difficulty will go back down Smiley
fcmatt
Legendary
*
Offline Offline

Activity: 2072
Merit: 1001


View Profile
April 12, 2013, 01:42:03 AM
 #14

you guys realize that if this gets popular enough, every single coin out there will put its difficulty so high that the profitability indicator will never go green again, leading to miners leaving the chain, finally killing all those coins ?

you'll just waste electricity (unless you already planned to dump every single coin as soon as it's received, and forget about those altcoins when they're completely dead, but i'd bet you won't find buyers once those indicators turns red)

Smiley


More likely they will hop around and gets less due to pool design now days which reward steady miners.
Or profitability will even out for all of them making it pointless.
celkaris
Full Member
***
Offline Offline

Activity: 148
Merit: 100


View Profile
April 12, 2013, 02:02:36 AM
 #15

you guys realize that if this gets popular enough, every single coin out there will put its difficulty so high that the profitability indicator will never go green again, leading to miners leaving the chain, finally killing all those coins ?



And then the difficulty will go back down Smiley

if nobody mines it (10 miners with 500Mh/s each means nobody once diff is really high) there's no chance diff goes down any time soon Smiley
bajanboost
Newbie
*
Offline Offline

Activity: 53
Merit: 0



View Profile
April 12, 2013, 04:23:33 AM
 #16

It would be nice if you included a pool failover for each coin.

For example if the profitability was showing litecoin and my rigs switched to that, then if a pool is dead / failing, the rig will switch pools.

Agreed, I've been thinking about this too and looking into the CGminer API. For now, I can only recommend you have backup pools in your CGminer configuration files, but I realise that for the more exotic coins that's probably easier said than done.

It can be done. I have seen pool switching scripts - Allow your users to update a single config file:

Litecoin Pools:
pool1 - notroll.in -u -p
pool2 - etc etc

Bitcoin Pools:

etc etc...

Following simple logic, allow a user to update his config with all pools he wants - then set triggers

example:

failconnect () //if failure to connect after 60 seconds, switch pool
highstale () //if high stale rate then drop pool

Thoughts?
area (OP)
Full Member
***
Offline Offline

Activity: 177
Merit: 100


View Profile
April 12, 2013, 07:37:56 AM
 #17

It would be nice if you included a pool failover for each coin.

For example if the profitability was showing litecoin and my rigs switched to that, then if a pool is dead / failing, the rig will switch pools.

Agreed, I've been thinking about this too and looking into the CGminer API. For now, I can only recommend you have backup pools in your CGminer configuration files, but I realise that for the more exotic coins that's probably easier said than done.

It can be done. I have seen pool switching scripts - Allow your users to update a single config file:

Litecoin Pools:
pool1 - notroll.in -u -p
pool2 - etc etc

Bitcoin Pools:

etc etc...

Following simple logic, allow a user to update his config with all pools he wants - then set triggers

example:

failconnect () //if failure to connect after 60 seconds, switch pool
highstale () //if high stale rate then drop pool

Thoughts?

I would prefer to keep that sort of configuration in the CGminer config files that people probably already have. In addition, you have to restart CGminer to switch from an Scrypt coin to a SHA256 coin, unless I'm missing something drastic in the API, so this is unable to be done purely with a single CGminer instance and the API. I think I know how I want to approach this.
bajanboost
Newbie
*
Offline Offline

Activity: 53
Merit: 0



View Profile
April 15, 2013, 08:46:53 AM
 #18

How will this work with something like BAMT? https://bitcointalk.org/index.php?topic=65915.0
Oknocaps
Newbie
*
Offline Offline

Activity: 23
Merit: 0



View Profile
April 15, 2013, 12:09:47 PM
 #19

Looks neat, will try whenever I get home.
sal002
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500


View Profile WWW
April 15, 2013, 01:36:55 PM
 #20

How will this work with something like BAMT? https://bitcointalk.org/index.php?topic=65915.0

I'd think so, as long as you install python (which might already be installed in BAMT).
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 »  All
  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!