Bitcoin Forum
June 23, 2024, 02:16:52 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 [4]  All
  Print  
Author Topic: Disastro multipool.us  (Read 2707 times)
macioman
Full Member
***
Offline Offline

Activity: 161
Merit: 100


View Profile
March 17, 2014, 02:11:38 PM
 #61

Penso che l'unico modo per aver la difficoltà senza il demone della moneta aperto è quello di prenderlo da un blockexplorer...non tutte le monete però ne hanno uno che mostra anche la difficoltà.
Un'altra alternativa che mi viene in mente è quello di prenderlo dal json che le pool con MPOS generano (entrate nelle stats e trovate il link)
Ottime info =)
Certo è che ogni moneta necessita della sua configurazione... vediamo che fare
grazie! =)
Figurati!
Speriamo che davvo sia di buon cuore e condivida qualche info con noi  Grin
retek
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile WWW
March 17, 2014, 02:18:02 PM
 #62

Figurati!
Speriamo che davvo sia di buon cuore e condivida qualche info con noi  Grin
Se riesco a trovare tempo di farlo e un modo veloce, ovviamente sì =)
Anzi, se ci sono volontari, io lo farei in c#, magari riusciamo a fare un mini team.. ^^

Raghiot
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
March 17, 2014, 02:21:18 PM
 #63

CMq ripeto: se flasho a 65500 il power limit  arrivo a consumare 68W a scheda circa e vanno a 310K, se voglio consumare solo 60W non vado a piu di 270/280 (il core o puoi mandare anche a +180 ma materialmente non va perchè castrato dal limite di potenza) Vorrei capire quelli che le portano a 310W con 40W, vorrei vedere se sono stimati o reali con wattmetro a muro...

Non flashare ne cambiare nulla, metti i nuovi driver e clock a +180/190 e memory a +400/450.

Il sistema risulta stabile, non flashato e rende tra 290/310.


mi potreste linkare il modello esatto della 750ti che usate?

MINT = MkcZw2Shxb81yQQnxL6r6vCrm7GsaBxgnu
davvo
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
March 17, 2014, 02:42:16 PM
 #64

Premessa, il codice non lo condivido in modo pubblico, anche solo per un fatto di convenienza personale. Il codice che uso io farlo non è difficile, ma se tutti lo usassero, tutti mineremmo le stesse monete, queste salirebbero di difficoltà e saremmo punto ed a capo.
Le multipool hanno portato a questo, quindi logico che fino a che siamo su piccole potenze (attualmente sul mio rotate ci siamo io con amici e alcuni utenti del forum, totale circa 10MHs) andare su una rete o un altra cambia relativamente poco...  se la cosa fosse pubblica cambierebbe.
Quindi visto che siamo tutti qui per guadagnarci qualcosa, non sono l'utente che fa le cose per far guadagnare altri e perderci, per cui nulla di personale, ma chi vuole farselo e ha le conoscenze, penso lo possa realizzare in modo semplice.


Detto questo, non ho mai avuto nessun problema invece ad aiutare e rispondere, nel possibile, alle domande.

Come già detto qui: https://bitcointalk.org/index.php?topic=471502.0 la formula per calcolare la profittabilità, per le monete scrypt, è la seguente:
Code:
20.11656759 / difficolt * block_reward
E viene fuori quanto fai di quella moneta con 1 MHs.
Il Block time non influenza la formula, perchè è già contenuto dentro alla formula della difficoltà (che se volete potete cercarla ed approfondirla come conoscenza, ma non serve per fare questo), quindi non va contato due volte.


La difficoltà potete trovarla in vari posti, prima tra tutto nella pool nella quale vorrete minare dalle statitische (nel caso non avessero le API). Visto che comunque se volete minare la moneta XXX dovete iscrivervi sulla pool per XXX... leggete la diff da li.
L'unica cosa non automatica da trovare è il block reward, che soprattutto per alcune monete nuove dimezza troppo in fretta... e quindi bisogna tenerlo aggironato (o ti raddoppia il profittabile).


Detto questo io ho fatto il programma in php\mysql per quel che riguarda la parte di lettura valore da api (sia dei market che dell diff)... ogni 60 secondi fa il giro ed aggiorna tutti i market e le diff, e calcola con la formula di sopra quante monete si fanno con 1 MHS... moltiplicato per il valore in BTC li porto tutti in BTC fatti @1MHs.
A questo punto salvo i valori in database ed un altro programma, sempre in php con il concetto di socket\fork ascolta le connessioni, per ogni connessione crea una fork che in modo autonomo guarda il db, controlla dove minare e mina li... ogni 10 minuti fa questo controllo e se la profittabilità è cambiata manda nuovamente le 2 stringe di autenticazione alla nuova pool (sono le stringhe di comunicazione che fanno i miner verso i server stratum):
Code:
{"id": 1, "method": "mining.subscribe", "params": []}\n
{"id": 1, "result": [[["mining.set_difficulty", "b4b6693b72a50c7116db18d6497cac52"], ["mining.notify", "ae6812eb4cd7735a302a8a9dd95cf71f"]], "08000002", 4], "error": null}\n
e inizia a minare su questa.... questo per ogni figlio.

Per dettagli sul protocollo stratum e le varie stringhe: http://mining.bitcoin.cz/stratum-mining



Poi sicuramente ci sono modi più facili di farlo, ho preferito usare un metodo trasparente e di modifica dei pacchetti cosi perchè in questo modo, direttamente da codice, posso anche modificare il nome con i quali mi presento alla pool (Se nella pool X il nome davvo mi è stato fregato, e mi sono registrato come davvo1, il miner verso il proxy continua a mandare i pacchetti come davvo, il proxy li cambia in davvo1 e li passa alla pool come davvo1... il tutto senza che il miner si accorga di nulla e necessiti di riavvii).
macioman
Full Member
***
Offline Offline

Activity: 161
Merit: 100


View Profile
March 17, 2014, 02:56:19 PM
 #65

Premessa, il codice non lo condivido in modo pubblico, anche solo per un fatto di convenienza personale. Il codice che uso io farlo non è difficile, ma se tutti lo usassero, tutti mineremmo le stesse monete, queste salirebbero di difficoltà e saremmo punto ed a capo.
Le multipool hanno portato a questo, quindi logico che fino a che siamo su piccole potenze (attualmente sul mio rotate ci siamo io con amici e alcuni utenti del forum, totale circa 10MHs) andare su una rete o un altra cambia relativamente poco...  se la cosa fosse pubblica cambierebbe.
Quindi visto che siamo tutti qui per guadagnarci qualcosa, non sono l'utente che fa le cose per far guadagnare altri e perderci, per cui nulla di personale, ma chi vuole farselo e ha le conoscenze, penso lo possa realizzare in modo semplice.


Detto questo, non ho mai avuto nessun problema invece ad aiutare e rispondere, nel possibile, alle domande.

Come già detto qui: https://bitcointalk.org/index.php?topic=471502.0 la formula per calcolare la profittabilità, per le monete scrypt, è la seguente:
Code:
20.11656759 / difficolt * block_reward
E viene fuori quanto fai di quella moneta con 1 MHs.
Il Block time non influenza la formula, perchè è già contenuto dentro alla formula della difficoltà (che se volete potete cercarla ed approfondirla come conoscenza, ma non serve per fare questo), quindi non va contato due volte.


La difficoltà potete trovarla in vari posti, prima tra tutto nella pool nella quale vorrete minare dalle statitische (nel caso non avessero le API). Visto che comunque se volete minare la moneta XXX dovete iscrivervi sulla pool per XXX... leggete la diff da li.
L'unica cosa non automatica da trovare è il block reward, che soprattutto per alcune monete nuove dimezza troppo in fretta... e quindi bisogna tenerlo aggironato (o ti raddoppia il profittabile).


Detto questo io ho fatto il programma in php\mysql per quel che riguarda la parte di lettura valore da api (sia dei market che dell diff)... ogni 60 secondi fa il giro ed aggiorna tutti i market e le diff, e calcola con la formula di sopra quante monete si fanno con 1 MHS... moltiplicato per il valore in BTC li porto tutti in BTC fatti @1MHs.
A questo punto salvo i valori in database ed un altro programma, sempre in php con il concetto di socket\fork ascolta le connessioni, per ogni connessione crea una fork che in modo autonomo guarda il db, controlla dove minare e mina li... ogni 10 minuti fa questo controllo e se la profittabilità è cambiata manda nuovamente le 2 stringe di autenticazione alla nuova pool (sono le stringhe di comunicazione che fanno i miner verso i server stratum):
Code:
{"id": 1, "method": "mining.subscribe", "params": []}\n
{"id": 1, "result": [[["mining.set_difficulty", "b4b6693b72a50c7116db18d6497cac52"], ["mining.notify", "ae6812eb4cd7735a302a8a9dd95cf71f"]], "08000002", 4], "error": null}\n
e inizia a minare su questa.... questo per ogni figlio.

Per dettagli sul protocollo stratum e le varie stringhe: http://mining.bitcoin.cz/stratum-mining



Poi sicuramente ci sono modi più facili di farlo, ho preferito usare un metodo trasparente e di modifica dei pacchetti cosi perchè in questo modo, direttamente da codice, posso anche modificare il nome con i quali mi presento alla pool (Se nella pool X il nome davvo mi è stato fregato, e mi sono registrato come davvo1, il miner verso il proxy continua a mandare i pacchetti come davvo, il proxy li cambia in davvo1 e li passa alla pool come davvo1... il tutto senza che il miner si accorga di nulla e necessiti di riavvii).
Grazie per la condivisione dalla quale prenderò sicuramente spunto.
Pages: « 1 2 3 [4]  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!