Hírek:

Az újonnan regisztrálók nézzék meg a spam mappában a megerősítő levelet!

Main Menu

PROFIT.stat - valós bevétel statisztika

Indította fpeter, április 12, 2017, 02:02:35 DÉLELŐTT

Előző téma - Következő téma

0 Felhasználók és 2 Vendégek van a témában

fpeter

Sziasztok!

Több programon is dolgozok párhuzamosan a bányászás kapcsán, de most jutottam el az elsővel addig hogy publikálhatónak érzem - nem vagyok nagy programozó guru, nyilván sokkal elegánsabban is meg lehetne oldani sokmindent, de most erre futotta :)

A kalkulátor oldalak - mint pl a cryptocompare - csak elméleti számokkal tudnak kalkulálni. Ehelyett az én programom a flypool-on keletkező ETH/ZEC összeget kíséri figyelemmel és ebből számolja ki a várható napi/havi coin bevételt, hozzá lekérdezi az aktuális Poloniex USDT árfolyamot és azt is megmondja hogy ez $-ban mennyi. Így ténylegesen össze tudod hasonlítani hogy éppen melyik coin hoz többet, illetve melyikenek hogyan ingadozik a kitermelhetősége.

Egyelőre ennyit tud, a jövőben tervezem hogy kiegészítem valós áramfelvétel méréssel is hogy egyből le is tudja vonni a bevételből a költséget. Ehhez várom hogy a ződmikulás meghozza az Eastron SDM230-MODBUS https://www.aliexpress.com/item/SDM230-Modbus-220-230V-Single-Phase-Energy-Meter-double-DIN-module-Bi-directional-Multi-Function-RS485/2044194398.html?spm=2114.13010608.0.0.pRAp5I árammérő kütyüt amiből soros (RS485) buszon le lehet kérni az információkat. Ha megérkezik, faragom tovább a programot...

Ha valaki ki szeretné próbálni, akkor innen lehet letölteni: https://www.dropbox.com/s/4fsacdkd7kjlelx/PROFIT.stat.pl?dl=1

Lévén hogy Perl, a programkódba bárki szabadon belenézhet, turkálhatja. Láthatjátok hogy nem csinál semmi csúnyát csak lekérdez, számolgat és egy csv fájl sorait írja belőle, amit utána pl Excel-el meg lehet nézni. Linux alatt adott a Perl környezet, Windows-hoz az ActiveState-féle ActivePerl környezet 5.22 x86 verzióját ajánlom. Strawberry Perl-el voltak problémáim, valamint a későbbi sorosport használathoz fontos lesz a fenti verzió. 64 bites win környezetbe is ezt kell telepíteni, a 64 bites verzió korlátozott ingyenes módban és nincsen semmi előnye ebben a felhasználásban. http://downloads.activestate.com/ActivePerl/releases/5.22.3.2204/ActivePerl-5.22.3.2204-MSWin32-x86-64int-401627.exe
Futtathatod magán a bányász vason is, vagy egy független gépen is - magához a bányász folyamathoz nincsen semmi köze/kapcsolata ennek a programnak, csak a pool api statisztika oldalát olvassa...

A használata nagyon egyszerű:

perl PROFIT.stat.pl COIN_TYPE PERIOD_SECS OUTPUT_CSV WALLET_ADDRESS

- a COIN_TYPE lehet ZEC vagy ETH
- a PERIOD_SECS hogy mennyi időnként ellenőrizze. A ZEC pool ritkán változik ezért a 60 mp ajánlott - ha nincsen változás akkor nem írja a csv-be (***). Az ETH pool viszon állandóan aprókat ugrál ezért a feleslegesen sok sor elkerülésére a 600 mp az ajánlott
- OUTPUT CSV a kimeneti fájl neve. Ha létezik akkor folytatja, ha nem létezik akkor létrehozza.
- WALLET_ADDRESS értelemszerűen ugyanaz a cím amire a miner dolgozik

A csv oszlopai pedig:
A   dátum (YYYY/MM/DD)
B   idő (HH:MM:SS 24H)
C   epoch idő
D   kifizetetlen egyenleg a pool-on
E  az első sor óta eltelt epoch másodpercek
F   az első sor óta keletkezett egyenleg a pool-on
G   kalkulált coin bevétel/nap
H   kalkulált coin bevétel/hónap
I   jelenlegi Poloniex USDT árfolyam
J   kalkulált USDT bevétel/hónap

Egyelőre nem bírja lekövetni a kifizetéseket, ezért ajánlott a pool-t maximális kifizetési értékre állítani. Nem szükséges hogy a program első indításakor (vagy új csv fájl nyitásakor) a pool egyenlege pont 0 legyen - az első rögzített sorhoz hasonlítja az összes többit. Viszont ha leállítod a minert egy időre akkor érdemes új fájlt kezdeni, mert a program nincsen tisztában vele hogy mikor áll a bányászat ezért a statisztika torzulna... Ha fut a program, akkor a keletkező csv-t ne nyisd meg közvetlenül mert az Excel írásvédetté teszi ezért a programom nem tudja folytatni! Mindig készíts róla másolatot és azt nézegesd... Az hogy az elején hatalmasakat ugrálnak a számok az normális, lévén hogy a valid share találat is véletlenszerű, de órák/napok alatt kisimul a statisztika és már csak a difficulty és árfolyamok változása befolyásolja...

Remélem hasznosnak találjátok... Ha vannak ötletek a továbbfejlesztésére, akkor ide vele! :)
¯\_(ツ)_/¯

HDMI dummy eladó > keresd az azonos nevű topikban!

pube111

Linuxon ezt írja:
pearl: Data does not appear to be a saved game file
Így töltöttem ki:
my $coin = ETH $ARGV[0];
my $period = 600 $ARGV[1];
my $outfile = profit $ARGV[2];
my $pool_address = "0073f2ed23841c9bd464958ce1b4546ace4afaa9";

Mást is be kell írni?

fpeter

#2
Idézetet írta: pube111 Dátum április 12, 2017, 10:14:42 DÉLELŐTT
Linuxon ezt írja:
pearl: Data does not appear to be a saved game file
Így töltöttem ki:
my $coin = ETH $ARGV[0];
my $period = 600 $ARGV[1];
my $outfile = profit $ARGV[2];
my $pool_address = "0073f2ed23841c9bd464958ce1b4546ace4afaa9";

Mást is be kell írni?

Szia!

Nem kell magába a programba belenyúlni, az ARGV értékeket a parancssoros indításból veszi át mint paraméterek, egyszerűen így futtasd:
./PROFIT.stat.pl ETH 600 profit.csv 0073f2ed23841c9bd464958ce1b4546ace4afaa9

Első indításnál lehet még hiányolni fog 1-2 perl kiterjesztést mint pl a Switch, ekkor ezt így tudod telepíteni linuxon:
sudo cpan install Switch
(a kis/nagy betű számít, amire panaszkodik pontosan úgy kell leírni)

Illetve futtatás jogot is kell adni a fájlra ha még nem történt meg:
chmod +x PROFIT.stat.pl
¯\_(ツ)_/¯

HDMI dummy eladó > keresd az azonos nevű topikban!

pube111

Idézetet írta: fpeter Dátum április 12, 2017, 03:23:39 DÉLUTÁN
Idézetet írta: pube111 Dátum április 12, 2017, 10:14:42 DÉLELŐTT
Linuxon ezt írja:
pearl: Data does not appear to be a saved game file
Így töltöttem ki:
my $coin = ETH $ARGV[0];
my $period = 600 $ARGV[1];
my $outfile = profit $ARGV[2];
my $pool_address = "0073f2ed23841c9bd464958ce1b4546ace4afaa9";

Mást is be kell írni?

Szia!

Nem kell magába a programba belenyúlni, az ARGV értékeket a parancssoros indításból veszi át mint paraméterek, egyszerűen így futtasd:
./PROFIT.stat.pl ETH 600 profit.csv 0073f2ed23841c9bd464958ce1b4546ace4afaa9

Első indításnál lehet még hiányolni fog 1-2 perl kiterjesztést mint pl a Switch, ekkor ezt így tudod telepíteni linuxon:
sudo cpan install Switch
(a kis/nagy betű számít, amire panaszkodik pontosan úgy kell leírni)

Illetve futtatás jogot is kell adni a fájlra ha még nem történt meg:
chmod +x PROFIT.stat.pl
Ok majd kiprobalom. A chmod megvolt.

somogyi betyár

"Ahol akarat van, ott mód is akad"

fpeter

Idézetet írta: somogyi betyár Dátum április 12, 2017, 11:15:02 DÉLUTÁN
Ezt az alibabás masinát hova is dugod be?  ::)

Egyszerűen keresztül kell rajta vezetni az áramot, mint bármelyik mérőműszeren



A formája azért ilyen, mert DIN rail szabványos - fel lehet fűzni a villanyóra szekrényben a megszakítók mellé - de természetesen lehet máshol is, csak figyelni kell az érintésvédelemre...

Tisztességesen le van dokumentálva maga az eszköz is (persze kínai angolsággal :) ) és a modbus protokollja is...
http://eastrongroupco.hk02.057321.com/data/uploads/Eastron_SDM230-Modbus_user_manual_V1_4_2015.pdf
http://eastrongroupco.hk02.057321.com/data/uploads/Eastron_SDM230-Modbus_protocol_V1_2.pdf
¯\_(ツ)_/¯

HDMI dummy eladó > keresd az azonos nevű topikban!

pube111

Ez sajnos nekem így sem megy.
pube@pube-nappali ~/Letöltések $ pearl PROFIT.stat.pl ETH 600 profit.csv 0073f2ed23841c9bd464958ce1b4546ace4afaa9
pearl: more than one argument supplied
pube@pube-nappali ~/Letöltések $ ./PROFIT.stat.pl ETH 600 profit.csv 0073f2ed23841c9bd464958ce1b4546ace4afaa9
./PROFIT.stat.pl: sor: 33: use: parancs nem található
./PROFIT.stat.pl: sor: 34: use: parancs nem található
./PROFIT.stat.pl: sor: 35: use: parancs nem található
./PROFIT.stat.pl: sor: 36: szintaktikai hiba ,,(" váratlan token közelében
./PROFIT.stat.pl: sor: 36: `use POSIX qw(strftime);'

fpeter

Idézetet írta: pube111 Dátum április 13, 2017, 07:57:03 DÉLELŐTT
Ez sajnos nekem így sem megy.
pube@pube-nappali ~/Letöltések $ pearl PROFIT.stat.pl ETH 600 profit.csv 0073f2ed23841c9bd464958ce1b4546ace4afaa9
pearl: more than one argument supplied
pube@pube-nappali ~/Letöltések $ ./PROFIT.stat.pl ETH 600 profit.csv 0073f2ed23841c9bd464958ce1b4546ace4afaa9
./PROFIT.stat.pl: sor: 33: use: parancs nem található
./PROFIT.stat.pl: sor: 34: use: parancs nem található
./PROFIT.stat.pl: sor: 35: use: parancs nem található
./PROFIT.stat.pl: sor: 36: szintaktikai hiba ,,(" váratlan token közelében
./PROFIT.stat.pl: sor: 36: `use POSIX qw(strftime);'


Sikerült is javítanom egy apró hibát, illetve a következő perl kiterjesztéseket kell még telepíteni hozzá és így nálam már működik Ubuntu alatt is:

https://www.dropbox.com/s/4fsacdkd7kjlelx/PROFIT.stat.pl?dl=1

sudo cpan install Switch
sudo cpan install LWP
sudo cpan install LWP::Protocol::https
¯\_(ツ)_/¯

HDMI dummy eladó > keresd az azonos nevű topikban!

somogyi betyár

Idézetet írta: fpeter Dátum április 13, 2017, 12:03:41 DÉLELŐTT
Idézetet írta: somogyi betyár Dátum április 12, 2017, 11:15:02 DÉLUTÁN
Ezt az alibabás masinát hova is dugod be?  ::)

Egyszerűen keresztül kell rajta vezetni az áramot, mint bármelyik mérőműszeren



A formája azért ilyen, mert DIN rail szabványos - fel lehet fűzni a villanyóra szekrényben a megszakítók mellé - de természetesen lehet máshol is, csak figyelni kell az érintésvédelemre...

Tisztességesen le van dokumentálva maga az eszköz is (persze kínai angolsággal :) ) és a modbus protokollja is...
http://eastrongroupco.hk02.057321.com/data/uploads/Eastron_SDM230-Modbus_user_manual_V1_4_2015.pdf
http://eastrongroupco.hk02.057321.com/data/uploads/Eastron_SDM230-Modbus_protocol_V1_2.pdf

Akkor jól gondoltam..
Én konnektorba dugósat keresek.
"Ahol akarat van, ott mód is akad"

pube111

Mostmár terminálban működik, de a .csv fájlal valami gubanc van.

pube@pube-nappali ~/Bánya/profit $ ./PROFIT.stat.pl ZEC 60 profit.csv t1e7QF8WC667NT7UwtDDdwF6epZDnw1ZETG
main::get_rate() called too early to check prototype at ./PROFIT.stat.pl line 59.
main::get_unpaid() called too early to check prototype at ./PROFIT.stat.pl line 60.
2017/04/13 16:19:42 - unpaid: 0.01168214 ZEC, rate: 65.11 USDT, value: 0.76 USDT ***
2017/04/13 16:20:42 - unpaid: 0.01168214 ZEC, rate: 65.11 USDT, value: 0.76 USDT
2017/04/13 16:21:42 - unpaid: 0.01168214 ZEC, rate: 65 USDT, value: 0.76 USDT
2017/04/13 16:22:42 - unpaid: 0.01168214 ZEC, rate: 65.11 USDT, value: 0.76 USDT

.csv:
 
2017/04/13
16:19:42
1492093182
#NÉV?
0
#NÉV?
#NÉV?
#NÉV?
#NÉV?
#NÉV?
2017/04/13
16:22:49
1492093369
#NÉV?
187
#NÉV?
#NÉV?
#NÉV?
#NÉV?
#NÉV?

fpeter

Idézetet írta: pube111 Dátum április 13, 2017, 04:25:33 DÉLUTÁN
Mostmár terminálban működik, de a .csv fájlal valami gubanc van.

pube@pube-nappali ~/Bánya/profit $ ./PROFIT.stat.pl ZEC 60 profit.csv t1e7QF8WC667NT7UwtDDdwF6epZDnw1ZETG
main::get_rate() called too early to check prototype at ./PROFIT.stat.pl line 59.
main::get_unpaid() called too early to check prototype at ./PROFIT.stat.pl line 60.
2017/04/13 16:19:42 - unpaid: 0.01168214 ZEC, rate: 65.11 USDT, value: 0.76 USDT ***
2017/04/13 16:20:42 - unpaid: 0.01168214 ZEC, rate: 65.11 USDT, value: 0.76 USDT
2017/04/13 16:21:42 - unpaid: 0.01168214 ZEC, rate: 65 USDT, value: 0.76 USDT
2017/04/13 16:22:42 - unpaid: 0.01168214 ZEC, rate: 65.11 USDT, value: 0.76 USDT

.csv:
 
2017/04/13
16:19:42
1492093182
#NÉV?
0
#NÉV?
#NÉV?
#NÉV?
#NÉV?
#NÉV?
2017/04/13
16:22:49
1492093369
#NÉV?
187
#NÉV?
#NÉV?
#NÉV?
#NÉV?
#NÉV?

Ezt mutatja az excel/openoffice, vagy magában a csv fájlban is ezeket látod? Megvártad hogy több sor is bekerüljön a csv-be? Mindig akkor írja fájlba ha *** -ra végződik a sor, a többinél az eddigivel azonos értéket talál ezért nem írja ki. Az első sor hivatkozásaival nem tud mit kezdeni a táblázatkezelő mert önmagára mutat a cella, de a továbiaknak elvileg már jónak kellene lennie. Nem szórakoztam vele hogy figyeljen rá hogy első e a sor és akkor lehagyja azokat a cellákat amelyek rosszak lesznek.
¯\_(ツ)_/¯

HDMI dummy eladó > keresd az azonos nevű topikban!