crypto-expert / stratum-mining Goto Github PK
View Code? Open in Web Editor NEWAIO Stratum mining server for various coins
License: Other
AIO Stratum mining server for various coins
License: Other
Sorry to bother you again.
I have noticed when a miner connects to my pool every now and then a share will be rejected and a message is displayed "'module' object has no attribute".
Looking at Google this refers to code layout???
It doesn't happen all the time just every now and then.
Any clue to why this happens?
Here is an proposal:
Currently, when submitting an block and error occurs, the block is thrown away.This might represent many hours of mining by a large group of people, so not acceptable.
But in most cases the error condition is temporary. Therefore, the found block data could be saved and re-sent later, perhaps in memory, or even better in the SQL database used anyway.
I don't think this will require much coding. Python is not my thing, but I could contribute some code if necessary to have this work.
Ok.. the upstream_result is being set to 'Y' for POW mode but for POS mode.. it never gets updated. after several blocks have been found, my shares table has no records with the upstream_result="Y"
More than two hours cant find share.
Hello,
I'm setting up a Quark Pool.
In config.py I set up POOL_TARGET to 10 (don't know what value to put, so random)
All my shares are invalid because "Share is above target", I tried to set POOL_TARGET to 1000 and use VARDIFF to put 200 difficulty to the workers but still "Share is above target".
Can you help me please ?
Thank you.
Hi! Im using your stratum-mining but it doesnt work for me. I set everything up, ports, addresses etc. Betacoind is running, launcher.tac is running, everything seems fine unless you try to connect with cpu miner. I set the stratum port to 3334 because i have also stratum-mining-litecoin. I cant mine on this stratum with betacoin, how come is it? help me please thank you
!!! EDIT !!! :
I figured it out. My stratum-mining-betacoin is running, but i have another problem. On my MPOS site, i signed in, created a worker. But when im mining, i cant see any progress or any khash/s from my worker, and cant even see it active. Where is the problem?
I'm trying to get a CinnamonCoin pool up and running and I was having trouble with vardiff on the moopless PoS branch of stratum-mining, and I discovered earlier today that people do not recommend using moopless with vardiff at this time.
So I did more digging and found your fork and it looks really great! I like all of the changes you've decided to make particularly PGsql, once mpos supports PG i will be fully using that instead of MariaDB/MySQL.
My first question is, other than switching from the moopless codebase to your codebase and reloading, do I need to worry about any changes in the SQL database structure or existing data in my DB?
My second question is, this is my first attempt at setting up a pool at all. My CIN pool was unable to solve any blocks after a really long time of running against CIN while that currency had low difficulty despite getting ~15,000 valid shares, so I am fairly sure I had my settings wrong. I am moving forward with these settings using your codebase. Do you think these should be correct for a CIN pool? (coin specs: http://cinnamoncoin.org/)
COINDAEMON_ALGO = 'scrypt'
COINDAEMON_Reward = 'POS'
COINDAEMON_SHA256_TX = 'no'
VDIFF_X2_TYPE = True
VDIFF_FLOAT = False
POOL_TARGET = 16
VARIABLE_DIFF = True
USE_LITECOIN_DIFF = False
DIFF_UPDATE_FREQUENCY = 300
VDIFF_MIN_TARGET = 16
VDIFF_MAX_TARGET = 1024
VDIFF_TARGET_TIME = 15
VDIFF_RETARGET_TIME = 120
VDIFF_VARIANCE_PERCENT = 30
SOLUTION_BLOCK_HASH = True
I really appreciate the expertise and hard work you've brought to this project. Thanks!
DB_Mysql.py
complains:
raise Exception("There is no shares table. Have you imported the schema?")
But there is no MySQL schema (*.sql) in the repository.
I'm trying to mine GlobeCoin (https://bitcointalk.org/index.php?topic=360255.0) with your variant, these are my settings:
COINDAEMON_ALGO = 'sha256d'
COINDAEMON_Reward = 'POW'
COINDAEMON_SHA256_TX = 'no'
POOL_TARGET = 1 # Pool-wide difficulty target int >= 1
VARIABLE_DIFF = True # Master variable difficulty enable
USE_LITECOIN_DIFF = False # Set the maximum difficulty to the litecoin difficulty.
DIFF_UPDATE_FREQUENCY = 86400 # Update the litecoin difficulty once a day for the VARDIFF maximum
VDIFF_MIN_TARGET = 1 # Minimum Target difficulty
VDIFF_MAX_TARGET = 1000 # Maximum Target difficulty
VDIFF_TARGET_TIME = 15 # Target time per share (i.e. try to get 1 share per this many seconds)
VDIFF_RETARGET_TIME = 120 # Check to see if we should retarget this often
VDIFF_VARIANCE_PERCENT = 30 # Allow average time to very this % from target without retarget
Is stratum-mining probably incompatible with this coin ? Here the log:
2013-12-21 20:40:18,671 ERROR block_updater # UpdateWatchdog.run failed
Traceback (most recent call last):
File "/home/globe/stratum-mining/lib/block_updater.py", line 48, in run
prevhash = util.reverse_hash((yield self.bitcoin_rpc.prevhash()))
Error: 500 Internal Server Error
2013-12-21 20:40:18,671 DEBUG block_updater # Next prevhash update in 4.994 sec
2013-12-21 20:40:18,671 DEBUG block_updater # Merkle update in next -90.007 sec
2013-12-21 20:40:22,288 DEBUG mining # suprnova.03 (29, 1, False, False, 1387676026) 3.45% work_id(41c) job_id(2e) diff(4.000000)
2013-12-21 20:40:22,289 INFO template_registry # Yay, share with diff above 100000
2013-12-21 20:40:22,289 INFO template_registry # We found a block candidate! 0000000000123e230c6e0777ea66219a0ced8858c3a529816c5ac46d8dff175c
2013-12-21 20:40:22,289 INFO bitcoin_rpc # Submitting Block with Submit Block
2013-12-21 20:40:22,290 INFO bitcoin_rpc # ['020000001aceaf98f0295c374624878247afc244bcc44a7f870e22d3b9ab060000000000479bec00e6287372eab6b94c87ba69d440ef4fdea2d9acc11b80f701f243e55a6c42b6527e0b261b798f6c4f0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff2602d373062f503253482f046c42b65208f8000004e60300000d2f7374726174756d506f6f6c2f0000000001ff07af2f000000001976a914e35afea06bba51ddfed370a9b5ce058768a27c3388ac00000000']
2013-12-21 20:40:22,291 INFO interfaces # 0000000000123e230c6e0777ea66219a0ced8858c3a529816c5ac46d8dff175c (235430967) valid suprnova.03
2013-12-21 20:40:22,301 INFO interfaces # Block 0000000000123e230c6e0777ea66219a0ced8858c3a529816c5ac46d8dff175c REJECTED
2013-12-21 20:40:22,302 INFO DBInterface # Updating Found Block Share Record
2013-12-21 20:40:22,302 DEBUG DBInterface # DBInterface.do_import called. force: yes, queue size: 10
2013-12-21 20:40:22,302 INFO DBInterface # Inserting 10 Share Records
2013-12-21 20:40:22,302 DEBUG DB_Mysql # Importing Shares
2013-12-21 20:40:22,309 ERROR template_registry # [Failure instance: Traceback (failure with no frames): <class 'twisted.web.error.Error'>: 500 Internal Server Error
]
2013-12-21 20:40:23,665 INFO block_updater # Checking for new block.
2013-12-21 20:40:23,670 DEBUG bitcoin_rpc_manager # Check Height -- Current Pool 0 : 29650
2013-12-16 23:34:55+0100 [HTTPPageGetter,client] stratum-mining/mining/DB_Mysql.py:36: _mysql_exceptions.Warning: Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
Did this pool support Galaxycoin? I'm trying to setup the pool for this coin and when I set the COINDAEMON_Reward to the POS none of the solved blocks are accepted or sended to the wallet. When I set it to the POW I've got following error:
2013-12-20 09:45:23,961 DEBUG DBInterface # run_import_thread current size: 0
2013-12-20 09:45:24,625 INFO block_updater # Checking for new block.
2013-12-20 09:45:24,629 DEBUG bitcoin_rpc_manager # Check Height -- Current Pool 0 : 183527
2013-12-20 09:45:24,630 INFO block_updater # New block! Prevhash: 00000000b9237f9dd9e90d1f980c0eb84ab67af0e198577b80c7366c6e6c45a6
2013-12-20 09:45:24,630 DEBUG block_updater # Next prevhash update in 2.000 sec
2013-12-20 09:45:24,630 DEBUG block_updater # Merkle update in next 60.000 sec
2013-12-20 09:45:24,633 ERROR template_registry # [Failure instance: Traceback: <class 'struct.error'>: unpack requires a string argument of length 4
/usr/local/lib/python2.7/dist-packages/Twisted-13.2.0-py2.7-linux-x86_64.egg/twisted/internet/defer.py:1155:gotResult
/usr/local/lib/python2.7/dist-packages/Twisted-13.2.0-py2.7-linux-x86_64.egg/twisted/internet/defer.py:1142:_inlineCallbacks
/usr/local/lib/python2.7/dist-packages/Twisted-13.2.0-py2.7-linux-x86_64.egg/twisted/internet/defer.py:382:callback
/usr/local/lib/python2.7/dist-packages/Twisted-13.2.0-py2.7-linux-x86_64.egg/twisted/internet/defer.py:490:_startRunCallbacks
--- exception caught here ---
/usr/local/lib/python2.7/dist-packages/Twisted-13.2.0-py2.7-linux-x86_64.egg/twisted/internet/defer.py:577:_runCallbacks
/home/user/ahmedbodi/stratum-mining/lib/template_registry.py:139:_update_block
/home/user/ahmedbodi/stratum-mining/lib/block_template.py:68:fill_from_rpc
/home/user/ahmedbodi/stratum-mining/lib/halfnode.py:181:deserialize
/home/user/ahmedbodi/stratum-mining/lib/util.py:73:deser_vector
/home/user/ahmedbodi/stratum-mining/lib/halfnode.py:129:deserialize
/home/user/ahmedbodi/stratum-mining/lib/halfnode.py:112:deserialize
/home/user/ahmedbodi/stratum-mining/lib/util.py:32:deser_uint256
Hi, I haven't been able to connect to the port I specify in the config file yet. Stratum seems to be starting, although with a strange error, but I cannot connect.
This is the output to console:
2013-12-24 18:20:05,451 DEBUG bitcoin_rpc logger.get_logger # Logging initialized
2013-12-24 18:20:05,452 DEBUG interfaces logger.get_logger # Logging initialized
2013-12-24 18:20:05,453 DEBUG DBInterface logger.get_logger # Logging initialized
2013-12-24 18:20:05,453 DEBUG DBInterface DBInterface.connectDB # DB_Mysql_Vardiff INIT
2013-12-24 18:20:05,454 DEBUG DB_Mysql logger.get_logger # Logging initialized
2013-12-24 18:20:05,458 DEBUG DB_Mysql logger.get_logger # Logging initialized
2013-12-24 18:20:05,458 DEBUG DB_Mysql DB_Mysql.__init__ # Connecting to DB
2013-12-24 18:20:05,466 DEBUG DB_Mysql DB_Mysql.check_tables # Checking Database
2013-12-24 18:20:05,467 DEBUG DBInterface DBInterface.clearusercache # DBInterface.clearusercache called
2013-12-24 18:20:05,468 DEBUG subscription logger.get_logger # Logging initialized
2013-12-24 18:20:05,469 DEBUG mining logger.get_logger # Logging initialized
2013-12-24 18:20:05,477 DEBUG work_log_pruner logger.get_logger # Logging initialized
2013-12-24 18:20:05,478 DEBUG BasicShareLimiter logger.get_logger # Logging initialized
2013-12-24 18:20:05,478 DEBUG DBInterface DBInterface.connectDB # DB_Mysql_Vardiff INIT
2013-12-24 18:20:05,479 DEBUG DB_Mysql DB_Mysql.__init__ # Connecting to DB
2013-12-24 18:20:05,480 DEBUG DB_Mysql DB_Mysql_Vardiff.clear_worker_diff # Resetting difficulty for all workers
2013-12-24 18:20:05,491 DEBUG mining logger.get_logger # Logging initialized
2013-12-24 18:20:05,492 DEBUG block_updater logger.get_logger # Logging initialized
2013-12-24 18:20:05,493 DEBUG template_registry logger.get_logger # Logging initialized
2013-12-24 18:20:05,494 DEBUG bitcoin_rpc_manager logger.get_logger # Logging initialized
########################################### Loading LTC Scrypt Module #########################################################
########################################### NOT Loading POS Support ######################################################
########################################### NOT Loading SHA256 Transaction Message Support ######################################################
2013-12-24 18:20:05,510 DEBUG halfnode logger.get_logger # Logging initialized
2013-12-24 18:20:05,512 DEBUG coinbaser logger.get_logger # Logging initialized
2013-12-24 18:20:05,513 INFO mining __init__.setup # Connecting to litecoind...
2013-12-24 18:20:05,515 DEBUG Getwork Proxy logger.get_logger # Logging initialized
2013-12-24 18:20:05,528 DEBUG stats logger.get_logger # Logging initialized
2013-12-24 18:20:05,537 DEBUG protocol logger.get_logger # Logging initialized
2013-12-24 18:20:05,547 DEBUG socket_transport logger.get_logger # Logging initialized
2013-12-24 18:20:05,586 DEBUG proxy logger.get_logger # Logging initialized
2013-12-24 18:20:05,588 DEBUG proxy logger.get_logger # Logging initialized
2013-12-24 18:20:05,589 DEBUG proxy logger.get_logger # Logging initialized
2013-12-24 18:20:05,590 INFO proxy jobs.<module> # C extension for midstate not available. Using default implementation instead.
2013-12-24 18:20:05,590 DEBUG proxy logger.get_logger # Logging initialized
2013-12-24 18:20:05,591 DEBUG proxy logger.get_logger # Logging initialized
2013-12-24 18:20:05-0500 [-] Log opened.
2013-12-24 18:20:05-0500 [-] twistd 13.0.0 (/usr/bin/python 2.7.5) starting up.
2013-12-24 18:20:05-0500 [-] reactor class: twisted.internet.epollreactor.EPollReactor.
2013-12-24 18:20:20,482 DEBUG DBInterface DBInterface.run_import_thread # run_import_thread current size: 0
2013-12-24 18:20:35,494 DEBUG DBInterface DBInterface.run_import_thread # run_import_thread current size: 0
2013-12-24 18:20:50,509 DEBUG DBInterface DBInterface.run_import_thread # run_import_thread current size: 0
2013-12-24 18:21:05,520 DEBUG DBInterface DBInterface.run_import_thread # run_import_thread current size: 0
2013-12-24 18:21:06-0500 [HTTPPageGetter,client] Connection was closed cleanly.
2013-12-24 18:21:06-0500 [HTTPPageGetter,client] Unhandled error in Deferred:
2013-12-24 18:21:06-0500 [HTTPPageGetter,client] Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 421, in errback
self._startRunCallbacks(fail)
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 488, in _startRunCallbacks
self._runCallbacks()
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 575, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1126, in gotResult
_inlineCallbacks(r, g, deferred)
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1068, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
File "/usr/lib/python2.7/dist-packages/twisted/python/failure.py", line 389, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/home/akchecoin/stratum-mining/mining/__init__.py", line 59, in setup
if isinstance(e[2], str):
exceptions.IndexError: tuple index out of range
2013-12-24 18:21:20,535 DEBUG DBInterface DBInterface.run_import_thread # run_import_thread current size: 0
2013-12-24 18:21:35,540 DEBUG DBInterface DBInterface.run_import_thread # run_import_thread current size: 0
2013-12-24 18:21:50,544 DEBUG DBInterface DBInterface.run_import_thread # run_import_thread current size: 0
2013-12-24 18:22:05,559 DEBUG DBInterface DBInterface.run_import_thread # run_import_thread current size: 0
part of my config.py:
CENTRAL_WALLET = 'MY_WALLET_ADDR' # local coin address where money goes
COINDAEMON_TRUSTED_HOST = 'localhost'
COINDAEMON_TRUSTED_PORT = 51684
COINDAEMON_TRUSTED_USER = 'MYUSERNAME'
COINDAEMON_TRUSTED_PASSWORD = 'MYPASSWORD'
COINDAEMON_ALGO = 'scrypt'
COINDAEMON_Reward = 'POW'
COINDAEMON_SHA256_TX = 'no'
# Hostname or external IP to expose
HOSTNAME = 'localhost'
# Port used for Socket transport. Use 'None' for disabling the transport.
LISTEN_SOCKET_TRANSPORT = 3333
# Port used for HTTP Poll transport. Use 'None' for disabling the transport
LISTEN_HTTP_TRANSPORT = None
# Port used for HTTPS Poll transport
LISTEN_HTTPS_TRANSPORT = None
# Port used for WebSocket transport, 'None' for disabling WS
LISTEN_WS_TRANSPORT = None
# Port used for secure WebSocket, 'None' for disabling WSS
LISTEN_WSS_TRANSPORT = None
# Salt used when hashing passwords
PASSWORD_SALT = 'some_crazy_string'
# ******************** Database *********************
DATABASE_DRIVER = 'mysql' # Options: none, sqlite, postgresql or mysql
# MySQL
DB_MYSQL_HOST = 'localhost'
DB_MYSQL_DBNAME = 'mpos'
DB_MYSQL_USER = 'mpos'
DB_MYSQL_PASS = 'MY_PASS'
...
Any ideas would be appreciated.
Note: I don't think there is a firewall issue. Other server programs can run fine without any firewall setting.
hi ahmedbodi
today i switcht from moopless to your branch.
as first, thanks for your good work.
Now my question, hot to set up vardiff in config.py to use with mpos frontend.
CU
Are you sure it DOSE support yacoin?
COINDAEMON_TX_MSG = 'yes'
But still 500 error
https://github.com/cosmoscoin/cosmoscoin/blob/master/src/main.h#L458
Hi,
I'm getting the below error when running:-
Failed to load application: No module named mining_libs
Any ideas to why this is happening?
Thanks
Simple question - where is the INSTALL.md located and how to setup / create the mysql database? Cloned the current version but can't find anything.
Edit:
Found this repo https://github.com/moopless/stratum-mining-litecoin/tree/master/sql but not sure if this is the complete or current schema. I think it makes more sense if you include the correct one in your repo and also a suitable setup step.
Might need to handle this exception, to make the log prettier. Or even redirect the miners who access the site incorrectly :)
2013-12-16 23:23:28+0100 [Protocol,286,IP_TO_HOST] 2013-12-16 23:23:28,162 ERROR protocol # Processing of message failed
2013-12-16 23:23:28+0100 [Protocol,286,IP_TO_HOST] Traceback (most recent call last):
2013-12-16 23:23:28+0100 [Protocol,286,IP_TO_HOST] File "/usr/local/lib/python2.7/dist-packages/stratum-0.2.12-py2.7.egg/stratum/protocol.py", line 185, in dataReceived
2013-12-16 23:23:28+0100 [Protocol,286,IP_TO_HOST] self.lineReceived(line, request_counter)
2013-12-16 23:23:28+0100 [Protocol,286,IP_TO_HOST] File "/usr/local/lib/python2.7/dist-packages/stratum-0.2.12-py2.7.egg/stratum/protocol.py", line 216, in lineReceived
2013-12-16 23:23:28+0100 [Protocol,286,IP_TO_HOST] raise custom_exceptions.ProtocolException("Cannot decode message '%s'" % line)
'013-12-16 23:23:28+0100 [Protocol,286,IP_TO_HOST] ProtocolException: Cannot decode message 'GET / HTTP/1.0
I see the following 3 types of errors in my log:
2013-11-20 20:19:39,190 ERROR protocol # [Failure instance: Traceback: <type 'exceptions.AttributeError'>: 'module' object has no attribute 'USE_LITECOIN_DIFF'
/usr/local/lib/python2.7/site-packages/stratum-0.2.13-py2.7.egg/stratum/protocol.py:192:dataReceived
/usr/local/lib/python2.7/site-packages/stratum-0.2.13-py2.7.egg/stratum/protocol.py:238:lineReceived
/usr/local/lib/python2.7/site-packages/stratum-0.2.13-py2.7.egg/stratum/services.py:13:_handle_event
/usr/local/lib/python2.7/site-packages/stratum-0.2.13-py2.7.egg/stratum/services.py:81:call
--- <exception caught here> ---
/usr/local/lib/python2.7/site-packages/twisted/internet/defer.py:137:maybeDeferred
/usr/local/lib/python2.7/site-packages/stratum-0.2.13-py2.7.egg/stratum/services.py:78:_run
/usr/local/stratum-mining-ocoin/mining/service.py:94:submit
/usr/local/stratum-mining-ocoin/mining/basic_share_limiter.py:128:submit
]
None
And:
2013-11-20 20:10:19,078 ERROR template_registry # [Failure instance: Traceback: <class 'struct.error'>: unpack requires a string argument of length 4
/usr/local/lib/python2.7/site-packages/twisted/internet/defer.py:1126:gotResult
/usr/local/lib/python2.7/site-packages/twisted/internet/defer.py:1113:_inlineCallbacks
/usr/local/lib/python2.7/site-packages/twisted/internet/defer.py:380:callback
/usr/local/lib/python2.7/site-packages/twisted/internet/defer.py:488:_startRunCallbacks
--- <exception caught here> ---
/usr/local/lib/python2.7/site-packages/twisted/internet/defer.py:575:_runCallbacks
/usr/local/stratum-mining-ocoin/lib/template_registry.py:134:_update_block
/usr/local/stratum-mining-ocoin/lib/block_template.py:64:fill_from_rpc
/usr/local/stratum-mining-ocoin/lib/halfnode.py:148:deserialize
/usr/local/stratum-mining-ocoin/lib/util.py:71:deser_vector
/usr/local/stratum-mining-ocoin/lib/halfnode.py:112:deserialize
/usr/local/stratum-mining-ocoin/lib/halfnode.py:95:deserialize
/usr/local/stratum-mining-ocoin/lib/util.py:30:deser_uint256
Finally...
2013-11-20 20:18:22,543 ERROR bitcoin_rpc # Both SubmitBlock and GetBlockTemplate failed. Problem Submitting block 500 Internal Server Error
Traceback (most recent call last):
File "/usr/local/stratum-mining-ocoin/lib/bitcoin_rpc.py", line 51, in submitblock
resp = (yield self._call('getblocktemplate', [{'mode': 'submit', 'data': block_hex}]))
Error: 500 Internal Server Error
Create a stats site and json api
I just saw README that say "It is compatible with MPOS as well as mmcfe "
but when my connect to SQL of mmcfe ,tip me "Failed to load application: (1054, "Unknown column 'difficulty' in 'field list'")".What should I do?
Thanks.
I like some of the features present in https://github.com/wadewomersley/stratum-mining fork of the stratum-mining server fork.
Items such as
So if it fails with this, we never gets to see the hash in question. So we can't try to manually add it.
2013-12-16 23:05:23+0100 [Protocol,27,IP_TO_FINDER] Submitting Block with Submit Block
2013-12-16 23:05:23+0100 [HTTPPageGetter,client] Submit Block call failed, trying GetBlockTemplate
2013-12-16 23:05:23+0100 [HTTPPageGetter,client] Unhandled error in Deferred:
2013-12-16 23:05:23+0100 [HTTPPageGetter,client] Unhandled Error
Traceback (most recent call last):
Failure: twisted.web.error.Error: 500 Internal Server Error
what this mean?
config changed from USE_LITECOIN_DIFF to USE_COINDAEMON_DIFF in config.py.
But USE_LITECOIN_DIFF is in mining/basic_share_limiter.py.
136
137
138
# Don't go above LITECOIN or VDIFF_MAX_TARGET
if settings.USE_LITECOIN_DIFF:
self.update_litecoin_difficulty()
...
148
149
150
# Don't go above LITECOIN or VDIFF_MAX_TARGET
if settings.USE_LITECOIN_DIFF:
self.update_litecoin_difficulty()
I've a pool that's running around 250 mh/s but I'm hitting miners with a strange problem;
First our pool is PoW and scrypt..
First the screenshot;
She has ~630 MH/s on her r9 290's! Somehow the miner goes for sha-256d i guess;
Here's the exact parameters she was using;
cgminer.exe -o stratum+tcp://stratum.coinium.org:3336 -u claireg.1 -p x --scrypt -I 13
As seen in the screenshot she uses cgminer 3.7.2.
And strangely enough I've seen 2 more peeps with exact situation;
More strangely for most people the pool just works (250MH/s scrypt PoW pool)
Hi,
in some cases it's necessary to reload pool configuration file. It would be great if it could be done without restarting poll. Is it possible to add support for SIGUP signal to reload pool configuration?
stratum-log:
2013-12-22 03:14:49,285 DEBUG mining # suprnova.triple59 (27, 1, False, False, 1387699665) 3.70% work_id(774) job_id(350) diff(320.000000)
2013-12-22 03:14:49,288 INFO template_registry # Yay, share with diff above 100000
2013-12-22 03:14:49,288 INFO template_registry # We found a block candidate! 00000000153c2b5dd5e6bd46e42d788ae13c1e277ea286259dc2b286e5f2b248
2013-12-22 03:14:49,291 ERROR template_registry # Final job validation failed!
2013-12-22 03:14:49,291 INFO bitcoin_rpc # Submitting Block with Submit Block
2013-12-22 03:14:49,291 INFO bitcoin_rpc # ['01000000774532df5c39b454cf2ac9402786ab9f025854f3f75ec93a36dbd1afb81f85c975af39560618453153f98e227c868cda5c6abe37d0436faec06288a6f4d6f675699fb65203543e1c003e3dbb0301000000010000000000000000000000000000000000000000000000000000000000000000ffffffff26023707062f503253482f046b9fb65208f80000040c0000000d2f7374726174756d506f6f6c2f00000000014076c690bd0200001976a9148e138449f38da76049f687b63374ff193d13b20588ac000000000200000001bb762535accd2afbe92a1e07c38cec0265daedda41280d6b08c9f0df14f2da1e000000006c49304602210080e457f7c848d23516b33d4b4bf5bb369fa37d049e852dc9e817697a87a29b0b022100fac133e604d43e81fd687b931264308ffcf1aad297f583a25608c422360e872f0121032f3ec8f87013c5249d566eb9a8100c2f8b058a3d8705e9e5f57eae61082d7ca8ffffffff0200fc27710ca013001976a9143cf48b26ee9ed4f4c299627f6e35eb9a80e8e42788ac00204aa9d10100001976a91478fa6f1c1874f34f43330b9bfaa2dcbe44a7171788ac000000000200000001a4d5f7338d392bc042e26100b9e815751d952021fcebb8d71e6948054a978856000000006c493046022100cf96bc7ee5dd0b5f38df7851e546209f7424f8a00070e993ae133772c78d97a8022100f8ff46d635b4826261a7bdef62c2c11fa059e0708d7e6a1c4839c28df6b00b79012102dc4f2fae5a968ff59439f3d3aa05e74447d6a79ab58946d76d0710f4633049c6ffffffff02af986c76410000001976a914bfaecbb7d7c3de6cc669fd456ab8a0bef8b2639588ac0a53c8ca0f0000001976a9142938d72b13bdb4fb020f25f0ab8e777d0b57cc7388ac00000000']
2013-12-22 03:14:49,293 INFO interfaces # 9f225ffa09d40957651a7433d2a9cc322472a24257000b3a8bf4edc152b70b9f (790060) valid suprnova.triple59
2013-12-22 03:14:49,301 INFO template_registry # None
2013-12-22 03:14:49,301 INFO template_registry # New template for c9851fb8afd1db363ac95ef7f35458029fab862740c92acf54b4395cdf324577
2013-12-22 03:14:49,302 INFO subscription # BROADCASTED to 2 connections in 0.000 sec
2013-12-22 03:14:49,302 INFO template_registry # Update finished, 0.003 sec, 3 txes
2013-12-22 03:14:49,303 ERROR bitcoin_rpc # Submit Block call failed, trying GetBlockTemplate
Traceback (most recent call last):
File "/home/marcel/stratum-mining/lib/bitcoin_rpc.py", line 48, in submitblock
resp = (yield self._call('submitblock', [block_hex,]))
Error: 404 Not Found
2013-12-22 03:14:49,306 INFO proxy # New job 351 for prevhash df324577, clean_jobs=False
2013-12-22 03:14:49,308 ERROR bitcoin_rpc # Both SubmitBlock and GetBlockTemplate failed. Problem Submitting block 500 Internal Server Error
Traceback (most recent call last):
File "/home/marcel/stratum-mining/lib/bitcoin_rpc.py", line 52, in submitblock
resp = (yield self._call('getblocktemplate', [{'mode': 'submit', 'data': block_hex}]))
Error: 500 Internal Server Error
2013-12-22 03:14:50,165 INFO block_updater # Checking for new block.
2013-12-22 03:14:50,171 DEBUG bitcoin_rpc_manager # Check Height -- Current Pool 0 : 1846
Hi,
Using postgresql 9.3.2 + psycopg2 2.5.1 I'm hitting the following error:
2013-12-17 12:30:10,834 INFO DBInterface DBInterface.do_import # Inserting 19 Share Records
2013-12-17 12:30:10,834 DEBUG DB_Postgresql DB_Postgresql.import_shares # Importing Shares
2013-12-17 12:30:10,845 ERROR DBInterface DBInterface.do_import # Insert Share Records Failed: invalid literal for int() with base 10: '336.0'
This change seems to make things work, but I am not familiar enough with the code to know if this is the correct solution.
--- a/mining/DB_Postgresql.py
+++ b/mining/DB_Postgresql.py
@@ -93,11 +93,11 @@ class DB_Postgresql():
if settings.DATABASE_EXTEND :
self.dbc.execute("select value from pool where parameter = 'round_shares'")
- round_shares = int(self.dbc.fetchone()[0]) + total_shares
+ round_shares = int(float(self.dbc.fetchone()[0])) + total_shares
self.dbc.execute("update pool set value = %s where parameter = 'round_shares'",[round_shares])
self.dbc.execute("select value from pool where parameter = 'round_best_share'")
- round_best_share = int(self.dbc.fetchone()[0])
+ round_best_share = int(float(self.dbc.fetchone()[0]))
if best_diff > round_best_share:
self.dbc.execute("update pool set value = %s where parameter = 'round_best_share'",[best_diff])
There is an issue with coin daemons that only recognize the scrypt_hash_hex and not the block_hash_hex when using the get block command.
Pools are getting 500 errors during the check to see if a submitted block was actually put on the block chain.
As a temporary solution I have passed the scrypt_hash_hex with the other 3 parameters to the submit block function in both bitcoin rpc modules. There needs to be changes in four spots. This quick "fix-hack" works with daemons that need the scrypt_hash_hex for get block, but I have not completely evaluated and made the changes with all the consideration needed. I believe all scrypt coins accept scrypt_hash_hex for the get block command , so perhaps that along with the block_hex is all that is needed to be passed.
I will work on a correct solution and submit a pull request when ready.
In the meantime , I could put up the 'hacked' version as a quick fix for those having trouble.
Support Multiple algorithms from 1 set of code such as sha256 and scrypt via a config option
Please ddd support quarkcoin and securecoin
coin : lottocoin, grandcoin ( scrypt/pow)
block summit fail caused by Final job validation fail.
failed blockhex has malformed string.
every failed block has log "ERROR template_registry # Final job validation failed!"
please see attached.
2013-12-22 23:11:00,690 INFO template_registry # Yay, share with diff above 100000
2013-12-22 23:11:00,690 INFO template_registry # We found a block candidate! 0000000028326580e4253fa3abbfe11a6d755568d3b6f7bee970151db633ab0b
2013-12-22 23:11:00,691 INFO bitcoin_rpc # Submitting Block with Submit Block
2013-12-22 23:11:00,691 INFO bitcoin_rpc # ['01000000e3e01f09392ae3f561c1ea467dda3a1b96ccd2691551c332fcc6c5ac18dcac80b0d4e99719359ccb9ebfae1b4a6770ac6c7705916757e266ecaa3b15123bacbcd3f2b6524cd8331c0006a7ed0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff2602b071062f503253482f04d4f2b65208f8000058060000000d2f7374726174756d506f6f6c2f0000000001009a912d230100001976a9144fe0da24aa998d5f1ad7fb2042c4aa4062de2cb588ac00000000']
2013-12-22 23:11:00,692 INFO interfaces # a1be765f8031543ffd504f6ffb2903e1b96a62bf75ff95e50f444ebee39370c7 (417369) valid icarus.4
2013-12-22 23:11:00,694 ERROR bitcoin_rpc # Submit Block call failed, trying GetBlockTemplate
Traceback (most recent call last):
File "/opt/stratum-mining-lottocoin/lib/bitcoin_rpc.py", line 48, in submitblock
resp = (yield self._call('submitblock', [block_hex,]))
Error: 404 Not Found
2013-12-22 23:11:00,869 INFO interfaces # Block a1be765f8031543ffd504f6ffb2903e1b96a62bf75ff95e50f444ebee39370c7 ACCEPTED
2013-12-22 21:59:05,199 INFO template_registry # Yay, share with diff above 100000
2013-12-22 21:59:05,200 INFO template_registry # We found a block candidate! 00000000149181f8da8e8c5f17ca2a62236e67e29f3bc51be83a27400ce1a867
2013-12-22 21:59:05,201 ERROR template_registry # Final job validation failed!
2013-12-22 21:59:05,201 INFO bitcoin_rpc # Submitting Block with Submit Block
2013-12-22 21:59:05,201 INFO bitcoin_rpc # ['01000000df0f5f06c357172fc52b91dbb861b404092f6b5333ed0e7df7aa97b1b9776da41b5e7080c157bda52c149b0612bbc3668db9df528234e24a9b86c2c3e9223cc7f6e1b652718c251c001233490201000000010000000000000000000000000000000000000000000000000000000000000000ffffffff26022871062f503253482f04f7e1b65208f8000059070000000d2f7374726174756d506f6f6c2f000000000100773f111b0400001976a9144fe0da24aa998d5f1ad7fb2042c4aa4062de2cb588ac000000000200000001e2cb151f065753860b5087017da56cfc67f76bee6a0b337ad63f863bb6bbbd26000000006c493046022100fca0e57a5d5e1fa1e64897d0abbbc4165a5cb476d39e6504d9fc7352f5f7550c022100e53b0f77000327eae29827cb777d0306851f73cfe0320b49d49729d75403e4ed012103f66f52f6869c375c6c3af5ba0084e64dead15f6a403479e0521d6bbc6371ae1bffffffff02161f634d0b0000001976a914cf6c36b52d03817d09cf0bea4d5154c0c760e9ca88ac2cfdd909080000001976a914e5983d692d624cf512692ae3dc733daec225fc9388ac00000000']
2013-12-22 21:59:05,202 INFO interfaces # fcfa5f2c2ad905b5ddf6165fdd72b212c2d546c4f9ca75c13c7e6bf81aecc7cb (815667) valid icarus.1
2013-12-22 21:59:05,204 ERROR bitcoin_rpc # Submit Block call failed, trying GetBlockTemplate
Traceback (most recent call last):
File "/opt/stratum-mining-lottocoin/lib/bitcoin_rpc.py", line 48, in submitblock
resp = (yield self._call('submitblock', [block_hex,]))
Error: 404 Not Found
2013-12-22 21:59:05,222 ERROR bitcoin_rpc # Both SubmitBlock and GetBlockTemplate failed. Problem Submitting block 500 Internal Server Error
Traceback (most recent call last):
File "/opt/stratum-mining-lottocoin/lib/bitcoin_rpc.py", line 52, in submitblock
resp = (yield self._call('getblocktemplate', [{'mode': 'submit', 'data': block_hex}]))
Error: 500 Internal Server Error
013-12-22 22:01:35,243 INFO template_registry # Yay, share with diff above 100000
2013-12-22 22:01:35,243 INFO template_registry # We found a block candidate! 0000000004a968c8db925a25fe1a0fdf616c158d53e0c1f6dc8834cb57b74073
2013-12-22 22:01:35,244 ERROR template_registry # Final job validation failed!
2013-12-22 22:01:35,245 INFO bitcoin_rpc # Submitting Block with Submit Block
2013-12-22 22:01:35,245 INFO bitcoin_rpc # ['01000000eec7d1c9fecc7e1de331024a9495609cf0d043a0122b319455fc241883a88cea9ede45fe226ff72397301205fc7bc14985c8e3b83655cd6ec593ff657f1036eaace2b652a2ad231c000a18e70b01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff26022f71062f503253482f04ade2b65208f8000038020000000d2f7374726174756d506f6f6c2f000000000100faad5c960000001976a9144fe0da24aa998d5f1ad7fb2042c4aa4062de2cb588ac00000000020000000161bbfbc713e424ac91ce63d521bface69412a6a52706ec6a713b8790d877955f000000006c493046022100dabbf45db80692daa328ac8e1429e7b1faad18e042933c08d0dd46dbab86ecbc022100812424320acd9876917af2ddb210aea0874137555fa3920e7fe58a0d24c6b093012103bd3e2fda572ceb78542fe5d2c3aa5e2a48f624509252868131d61d64d181671dffffffff02faee80284b0300001976a9141357a9751f1cdc6734d76fb5346b5473e5e65b3488ac066640d01a0000001976a9148160802bc931ff49aa7309aa4671a8363dc9436e88ac00000000020000000158920cbe8eff3121c64797764f39ea76a074267068c1538a8ff4ab3c3b10d266000000006c493046022100b8bc975534a53cd1fbfd965452c6f6b91a46c551b3ebaf872e0ddd3d343d594b022100dd4e99c2c85b4591889ba4d539af60487e14ac7403d928316d117bc73bd4b46f01210274552120ef15d82d1de192c845054f161fdd1f055a8ac1c147f305689bc42950ffffffff02d9421505710200001976a914c99f898efb3122fa062996c0f119a7164b4d0f8288ac745be2d19c0000001976a914ac08dc30cefe02d933237a94cdce7f5d37e4f62488ac00000000020000000108cd38849a66617107276ec735b7fb1764e56a596d0b6a2f054bd7692a2227ea000000006b4830450220034515e0a27d1bc96e4eb4219bcbc38ecfea02fa24870003c3c7ffb0775ef0de022100b96fcd7bab2e3fe5ce8ad271358b7fa9b8e67b97d3c2977d6ab40f3759341478012102ab862cae8bcdfdf355e48d36d5129c69827c3945ea9582ce8ed8142a841a10c0ffffffff0292865fa4270200001976a914361b49cec0fe1fc2e5d043f6e19e9a25de3e1b4e88ac5ff3374d380000001976a914c150d6d14f750fac66b3cf9161d5521e1ff51f4a88ac000000000200000001860b0f77625a3bc464cef20402c48502a323c4fc5fa432d47734d30e1ded5738000000006b48304502200eac5e026456933fb5a42894ff5934dd9e9e010a573c204aa2a380d8f764f8f5022100ba505997de703643b8c5f2730ba358fd9ac7e9e9325623cb4d7ed2d31130008301210391d7b5993a265df0a9d7284f0692140e38e92eb3c1af69679635b2bb3bd08d34ffffffff026e56955f1b0200001976a91447ba90adddda4bfee7ba68d27b67c31e48e8bd3588acdb9f70c1170000001976a91489c898428c0aa47cbb9b669e2823b3fe7e353bec88ac000000000200000001cc710e666313dc1971da06f142686e30a5778b30e59935b347bb55cf90365e1b000000006c493046022100faf0ecbcda737b3154a433318ee196eafde6349f1eb3533e9a4eeb4418c1bbe0022100f6e566618d6cc80221ec8eec97fbe11d9c158c8fb73fdd4b20c04846f1f22d94012103941bc9f3d311f754319dd078ce95d1381db101e8d8c1a7ab3b6e6a40feb72e93ffffffff02d6e09139b80100001976a9147cfa50f1413830d742221f469ceeb212ee7337f688ac30234d21750000001976a914e41a6db9da9613bf5c1621a919683f89aa7b8b2888ac0000000002000000012e595d9f76209920aa93e87cd459d73173a1ec33bdf411308dac4f3f0a61d700000000006b48304502210083ac3d42ac02538404d8403eb68009afc9b3dfcda3c5f8bff0a8604d65e749aa0220734443dbb00e3352a9c8250ec9e0131a0e3b8487cbd472bd4893abee9439c170012102ba59cb466cde814b38819ec6075445eb379f5cdf73585c502e47c5bba7d079f3ffffffff02f66e8ee6800100001976a9148bf73e3a0f3ff2f5bd96e643718faaddfca4ace288ac3dd7a0188c0000001976a914e5b55fdd8fe988cdcbe49e6641cc2344611d1b0188ac000000000200000001d09016b5b131add3f3032d0d88fb0a98b993f21b1a994ee8986b511ab04d4beb000000006b483045022100cf0b266c38a8bcfd41b32081fec265b62bbe48ddbc95c1659ac989bc8ccab4c902200f09dc9c883fd28147c106fe9c5d858d8b36d39e9642686f082e7f8a4e2d72ea0121035a8fb02dff71c0366d15ae3f401c223003e1c0c0e16189707d9c2e68dd578c20ffffffff02894cb20aa40000001976a914d56dabf90b30a719bf4e91f6d4950a3bca42afa688ac124a7ece3c0000001976a91461f3858d5b1628bb439c62a2e6bf30424ec74c8688ac000000000200000001ed3e317ee879a3504433f6d5f163d8104f19e1da0a4d2ef600f95f4af563e40c000000006b483045022100dea2bbe3b99cbee83ae8762b992bd2c16b8d7d403ddc6e6b631b27af53ced920022034feeed71f15a2a3e5407b8117d2e160420f8db8d3c58c6e8dc6798f1d0bcfdd0121021caffec6a1d79de7770892c2d00a2f97096471051dab2b79748c5e6149fbb010ffffffff025dd5c52f040000001976a9141d65161753c65fd323f9b065e252f29b8a775f5288ac423f5272710000001976a914a9c2a929815ea7369eda0fdd55e85d7cf6934f4c88ac0000000002000000011820d49621a409ae163f2a4ffe4db9e1d647136ae42c9d9b6d0fdc37f8a05c61000000006b48304502210080f1e3b7e086471d634a96a9a7340b66b580aa86bd9d6a7b9ab0ad95ff6035df02206332e66b0d7cfc2dab19319a70963240833ed825173cb231def5d2f2e44e54c3012102d41bd5bba81187ce4574c36f92f410971255a1df1333548b6d781f4379082fceffffffff023adcca8b540000001976a91452556219e2436360985e61d9ae71d755eb3734a988ac9b0082a7180000001976a9140f19647adc55bba3e66937710dcfcd0592d610dd88ac00000000020000000145c7c504236346797d6ae5f0f529dbf04f2eea14d6147c4b4acc45b1e3c4c7ea000000006b483045022100a3ebe6ecf839cb117e058cf58a7b803dbdf7e56617fc2297cefe3a6b2df26137022070d908b50a1e26334647fd70551e674c9146d6022b7061a20da5e387a3411fad012102a9c38cc6fb1b26679155dfc31aaa89f746365399d2b7441a9e5b32322885a042ffffffff026432deaf530000001976a9145c98281b475bf1a47e5a0d40b2dae0973425cfad88ac76591d0c190000001976a914837180713a9b0380857c2a295f631591d2cdd6fa88ac00000000']
2013-12-22 22:01:35,246 INFO interfaces # ccd2b603660b2513ac3883fc1d59b98d0255a01870be48a3dcd6990b6e542e82 (3598850) valid icarus.6
2013-12-22 22:01:35,247 ERROR bitcoin_rpc # Submit Block call failed, trying GetBlockTemplate
Traceback (most recent call last):
File "/opt/stratum-mining-lottocoin/lib/bitcoin_rpc.py", line 48, in submitblock
resp = (yield self._call('submitblock', [block_hex,]))
Error: 404 Not Found
2013-12-22 22:01:35,250 INFO template_registry # None
2013-12-22 22:01:35,250 INFO template_registry # New template for ea8ca8831824fc5594312b12a043d0f09c6095944a0231e31d7eccfec9d1c7ee
2013-12-22 22:01:35,252 INFO subscription # BROADCASTED to 25 connections in 0.001 sec
2013-12-22 22:01:35,252 INFO template_registry # Update finished, 0.003 sec, 11 txes
2013-12-22 22:01:35,253 ERROR bitcoin_rpc # Both SubmitBlock and GetBlockTemplate failed. Problem Submitting block 500 Internal Server Error
Traceback (most recent call last):
File "/opt/stratum-mining-lottocoin/lib/bitcoin_rpc.py", line 52, in submitblock
resp = (yield self._call('getblocktemplate', [{'mode': 'submit', 'data': block_hex}]))
Error: 500 Internal Server Error
2013-12-23 00:53:07,895 INFO template_registry # Yay, share with diff above 100000
2013-12-23 00:53:07,895 INFO template_registry # We found a block candidate! 000000001851786af453e625cf26db4197e17c8d868cc621fa0e2ffa8d702e5a
2013-12-23 00:53:07,897 ERROR template_registry # Final job validation failed!
2013-12-23 00:53:07,897 INFO bitcoin_rpc # Submitting Block with Submit Block
2013-12-23 00:53:07,897 INFO bitcoin_rpc # ['0100000011af82379641b735b7f2648ad1990c1f11e16cc8d6b124fd5a14f12c693b162fc5ccd3d370979380ac160a9be8904c540bb099ecae2c82ebd100d03390cee042c90ab752cf06221c009431860301000000010000000000000000000000000000000000000000000000000000000000000000ffffffff26027d72062f503253482f04ca0ab75208f8000039030000000d2f7374726174756d506f6f6c2f0000000001002a9215d30000001976a9144fe0da24aa998d5f1ad7fb2042c4aa4062de2cb588ac00000000020000002a0a1b7b3b6735481a52a95851e137f32729ef838321084eb1862894a637970d95000000004948304502207007ea0ffeb530182692a1d173a68e5e93c8921a68615ecd8b58c8ee9b53535a0221008f8d53eef8d116d245e46478267dc6274d9bd54437d32a9888fae0f7e4b7284801ffffffff3684b6a8f68f0a3b60dbdf69c3ec9f4c6958a10a137cebd8de273dc58d8d631700000000494830450221009024029cdd84c6c32fa3a4d819002062f8f840c3fa96201fbcfe207f935b008702205b6decc2cbb648d7aaad867197ce688311fee5ff23f0876165d57a235255265f01ffffffff4327fc9796a0649e4225487ab20e99f898105c259e47bd3584b65c1e3c012985000000004948304502201edf0b60c9e1de085602ebfd2449ee0eabbeb1bc0c842c1c0fc13ded6897a1b702210083852506ebd13593f3cb4ab60ac0743a7c34e07648266573da56b48a6bc058d301ffffffff445f85c9429bc2eaf1d1f22c4179bfd1aa1e41bac7e501f9d3cf1f2296c42d4f000000004a493046022100a81094957482ac02852e396759268eebe4012f8b822d1282dca8ec22d325e334022100e62670bc9e4a411ad31b1d66e0b0d87f8e7bcc51f6bd86d4d7d7d3fdb87e17b601ffffffff44ee0fb74142ae3b060c7cc8420025c5b09c687e79a598f08101c1a74e6f7dba000000004a493046022100d6782705b551acff62ec10106fef585fe4dd34b359a6becf3b20b7abbc114c9c022100fd633c737cdf8cb3a693e5db2b496a2d7e08625798718678020a51c96680d27c01ffffffff495cee9a55735ae1de35673b9b83d1a3ec104eeb6afd792a74b366613cfd646500000000494830450221009b7526e2cf02a01028e10932af03c706827530237d6ea2774f270cbb8bd4fa3b022056157f992acc641605d474bf3b101710726e0efd8c7f6455562565cb2344c4d601ffffffff4e415bb8c310a98c855b82e0a6ef46ba666880e9456ae837813a0548c783f9c700000000484730440220116f1d5479b41f08f13c1b23522bd829c6983d24beb4650e44e140624e29a4ca02207513ddd96e2dc3b05b8e4cfebb37469987e35bef52dde4a538d551b783e68f1d01ffffffff57b8e7f8bfad0c96142c0cfc57c32f4315924d6617da298966148a385e9cf32e0000000049483045022100920368762548209d5af7f2aa0b6a3e222b6cb685f24b2da938e236db901bf8b402202a075da7b0bc533a3104627d24aa13c735050cab547b7f44fd0bf578f0c73c3f01ffffffff57f2736876c724ae958b6a27821ef359bfb5f6d867a4cacae82787c1e5a461c6000000004a493046022100e01f5287f3624a71ae18a05b7259eb1f7c6c09da4b87baeff7ec185495bcdd4b0221008b9d46fc5f22f9a1f3695d5347bfe3a26777cb2c19ed0372590a24f76f3f93c801ffffffff5a0bc08c4c1277f0da158d20b54f6430583283532dcc839a93ccab8916bcb2570000000049483045022074770850428802e451d5b512f07cb0e8eb3aef133e61291b774198b7fd630dc1022100d879e640c4fa3b88dc9536a5e1bf2de4dcafd2af4774be6acac4653daa0dd20901ffffffff5b9b2aceb1299bac81d5efe66ed86af131ea77f91a46c62f26650b8ebadffb920000000049483045022038de8924cd0149882b8ef141a3a4d084f14733d6e7ef439bc7c7a8fc129dc4d9022100842bebc863cf3010c9085c33c9378c322075221c27c936c8ac0b9ddabf6a95ca01ffffffff5ebe21f189e20a43ba046f281d8c970d029ff5e98f3edadb22c54a2a97db53880000000049483045022100917ee2fc16d2a36a738ced0c90625799a8a558fcff3c0096006b73f8253372ed02204ef96d817a41711648c14ef7d122f719c49820ddbeba25d16cd088ab4e07ff7201ffffffff68f4e77d254266b976f7ae1695c51c8cbddaf7b433f868cd68f10166b3c48db9000000004a4930460221009a5d727d6b12765e7940451791fe04dffbfd4a3b974c4c9b47abab05c6ea4c92022100fdd490e029dcb590f910152a38ef462adb30b84f47251c0c0d7ce88bc209c5aa01ffffffff6ab4a57f8a9d08eb94bfe4bceb5aebd06302f3d44c56b85cd6a7288e5fd4ab100000000049483045022100a0ccef7368b68ee177ffd17955d1665e207e1e83ecf2551c886c6ea042b4bf5902206dccf61ff798294bf87e28db253f09485268f6da825bc3541d1bc8dd859f6dc501ffffffff71a478c14aaf80b7ec48cc848965910f451e1321854a0f835cb7d60c7c509b71000000004948304502206b0913632df26e7ecb43c033e89de45e9251bc49a0bf7abb127bf5e456ca697d022100f8cceed1ca7fa4bed0751f577de8ce1fb2ea9825977ab89cf752c9fe5f771ed201ffffffff76b19c7e0bcea158c11f5525f8d4ced4290312009c30fe42efb8f2f0daf8567e000000004948304502204559af531fb621574be7676101f4c675c241e650ac5b9184892d7a7c6c0767d702210088bc7da220376126fb77f8af61c9b400da01446e8cfee4d2d195499a8ff9a2b501ffffffff8447f248662dc3b2f4e7c7d2bf23ecfb8bcfddef53f517b136cdc8adc342350d0000000049483045022070484acb61c1a8d420e70c970757b34e2a41f8146731712c7208722c5f9232cb022100ded5ea92bee48f9ed45342d223b17fc316b25c32f6a93a3381181d9eb14579f401ffffffff87342b266ebcfbc2a7dd52b34ae631e4aead345be539bf9af3364e8268ff2dd80000000049483045022100d56cedf9cb0d9e1c692ad57b6e6331c7d3b9fd826b70a625ed167f49e8fcade60220436522f4652140017ce8bfc678895ca8b49bca8137fcba18c63895f0a1e6319c01ffffffff88732cd7224c65eb3dd47be6a6b4ae6154c702be2d7accfd0e36e7013dac4fbf00000000484730440220397d96491ceccab9c663972dfb1acc4e8f11635595b5342e61ea5dea6a9c855102207927ce097a8638369801964a8b12c244a84039d6583c435a9e3dbcb44e55b9b301ffffffff889ebae43759c9d2269afd29c01c5a1d9a31736690d87d4196a78defa3f2b70a000000004a493046022100c3a1be3c5d82265881824a1e7c0ef1ce31c7b53359d2550a1ee12674022d16c602210088b708b4d6a0b992607334526bbb22dfdf20427b87c3552579855182a9d5da7f01ffffffff8c6f27c7417eaf39dc5b1443d36cd8ca712f12b0ed12085125ee2b99accc2067000000004a493046022100a0cce18ac24d7d763fef07b7288ad348d943c74dcd7828a75ec1339b62af221e022100f46ecaf82cd70ad10145fcad909a64ed8dd1654947fdc90bc608f72b148d155101ffffffff9c81cd3c0c93af6a5c0832a0993ea8d5a55e83dff82519b1b88f0de0eabedc330000000049483045022100dc5844e9ab3046118cefa494c9f1b8f9bec5a6183212a71136ffcf87a06fcb2b02207e51bc21b5756f5235073a86b6c176e580146198fd0ef34ebc6293892d00dc8001ffffffffa0f458a5f8f89243cf7f0db53d291316e4aecc0af45e313321a21900e537c82c000000004a493046022100ca3262ee31a4bc001e07673b1969ec0827afa8a591506d9bafe038a93533b9f80221008a3fdd465122d0cb9bae7d501d2202a9b833fef604384d6b51c5f7a9ec81160001ffffffffa25578b2466bd8203352d38143cd556ab35ae8b27708c24c798fdff951e5dee900000000484730440220607b9b627e515c52a20ee7280d4f21b52673d17520e8dec526248a8f563eb0d802203372448a3b1a91d3feb274c1b9f72c18a8ea1a216dd7ad57053c087141b61ef301ffffffffa32554e5adc8f41d901c945466de05247390523cdaa660068f1cbffebc5fabfe000000004a493046022100a85f41b68d746a7a127da9a78a7e4fb683fc70d813546847c3ce79625ad6f04a022100fc5c24042c45b1bca380fb9beab278ec7a58a1f3316dac9f6c6841d2239b469b01ffffffffb03cb6e079fbe034094fdf29b7cf80986bb31ec5c83d0a986c62041bfbc24f3b000000004948304502210098bdc96b087e941bd7f1ba973aad8b0f0168075d9e4fe9911a68af5eb1e37c1d02206cdda06e13441c70c60b3fbddc3a0e295c0751ee915a307b6db5d372c27cb22a01ffffffffb05ec100f598339dbe04a90b4324c38e6e87c2de0d91b70c4f88dd1572e89c62000000004a49304602210080a945eb0b648b0582148c2bb6919cf455e951d8d5db8708f2f9b8c5f4f75132022100c6fd498de8ba2f45d2c8b33cea8dec05c79df81213f6f6e421f5ab0af82fc4ea01ffffffffb43b5cdc08bd63619485c5a31fc6372e37e4d933cd8d7d0cf765cda2ab914d51000000004948304502201cae6c57411b6c1838473f7683080527e22580ae67f05aa5b81ca13b306d551102210088a6b2d0d53acef2ae50996eb9b3196c085d5dd4e4a472ebd61611000e9c66a001ffffffffc4ec9db151dd8ff7fffcabc311952971699a1e0302ecb240b461fc46388226c0000000004a493046022100ec7661e14c65b972a932d9bab878b5a1b9d8560c301f485a85994bff2ce732b10221009d4e41953353f0f59479488cd0eb03b5d8b20ff40c6ef8f974e5268afc95314b01ffffffffc8cf7a103bf97a34b6af9ef5fc19f12dfdf34c4f5771c06a645e041a90282abf0000000048473044022047a4049abda2cef6e0588d45b9dcd5090c1c90fdae157a209b99271761f42ec5022046bc079f683bce3572f24a8325a7c9d63daf2eb1c5d2e53603be162a01be68e701ffffffffcace0d924f71ba32596b714cdd6b98b534e73582d6dcdafca64f484247bee094000000004847304402200b36c0b44d1ad8e83e64c1e8f33e41634fda190c947834e13ef9c271d628f468022052ba50e7a35769d6a067f65ede157d47885309dc8675e262d12f076919b99ab201ffffffffcbae131f85b09f4d220b60d275099d7d5ac27bcb2d5b5541d2113fa993ded6f600000000484730440220119e5210835bc698d0f2044c21968bebf97c2663075f6897277c493e760fef64022061322e6a77ce408f86692ed8b2436c629dd5f30c227c26aae8aac2e0b3a8c5f701ffffffffcde6a67a388abf64bcfc114ae9a76de9132e92ea8db01409ee9c9f9e03dcddca000000004a493046022100e8d11b6d303c570fdccb201996507ce3305d9cfd0f103a37d8e4d2976ca7ba18022100d673cd47c6497c054b38d45633edfbb610fc1085f334c006ef019ce862e13e4801ffffffffd7aa3c610d4ee2a5cdf9187457ce00413ac75da4a7c4c61beef5f12be4896d56000000004847304402200552f36ce3db0eedd1e8117390a61102786cfdab50705b8bd6321c84daf7705202204a5f3d8418b928b3a2c8421988924fdf94a1ca4d146bafc7b9465ede5ac063fd01ffffffffe64742e7c67945e00827e18c346d1d7418fc521ba843e9a7e98a8bd1d09b2996000000004948304502203dc8206bcc13b17c69aa3f5a72169db043cc192124d776b42911d6c26265b6110221008c76fbac7c002245393505ff242a415ed029e812422bebf4c2c0c8a8843262c401fffffffff0335b26a74e8294ba60739a1d7913c565516d94caa0ee602824440b0db27c8f0000000049483045022002458a00ff305b8d40d26437ae11d0fce1532572d998f8cfdeb0ecdeeba26267022100f1991efc9f76abaa3233a4e95bf3b2a7f823adb23869c2b3044397555a3e4d4301fffffffffc806005087d5e2078af874ecfa13488e234b60b21601aaa441f7f109cdc5b140000000049483045022100f5939fae9bd316add5cd89ecd8bdd27a7467af1e3185fefc857bd56d0c8c667e0220618bb3215b0c448297881ec3b6439257ca0d516b56921778627c1647b088208f01ffffffff34ed5657028535fd123985b9df7572f638247f546da50f0cb16b76609970d985000000004a493046022100fe9a2ac21933e30be799b9e7326267395dfb2a478b7d4f3f5455f25b52064175022100b409a340fea7c3dd2e0babbfe8954104896965cfcaf7b0615ffedd7b96888ea001ffffffff25dd3b68b2d2cc3c5bc5e4b4af0d84acdc93ad991d46632992b10a22bfe76a1e000000004a493046022100bc764bc2121d8c5c6b991928850a2baac5f47a82916e56f5f4d8bcdf7d9efa95022100921cdee9894e0414c0419d180aa96b6a608f920e8a3052cae9cba4380c39638c01ffffffff275322e15f932a26580659efad81dbe0ff059f8c3d64d56230b0aca161e439e90000000049483045022100f33c08f829124fbb4d64f93ad5285f6194e18192d99a2aa95cdd9aab7b585f0202203a632659a91b21cb4f1aa863a7dbc2adb208772d8e510d7a4fb9c9ab0fc83e6101ffffffff0c9a7827e43aa6f2d39ddaace07838fa95bad79bf04d26dec786a981b450e3da000000004a493046022100bcfeddbdd131e337660cf1f13ef1b2f2157904e0dbf77302f40c643af37847b8022100ef0efe03232dcb6881a18019b6cdaf229d96f6677ba614b6576be991707afa6a01ffffffff138cf626eb9d2f7766dcabe8547ae228514e468479c112a2c07673d4c6523e0f000000004847304402206de411d2d2368d7bd1b1056b1b49eba661c1d733acb5b9ef712cfe742028d4cf0220243ef51440c5e54c5eae250498327a9cc82afaeca9eaf3d61a969b813906078a01ffffffff02c0c62d00000000001976a91488109e3630330ba7baa55d6b9c0cbbe5cf971c9888ac00406352bfc601001976a9140e263d4c43db8933b0334725c568a3759691ef8d88ac0000000002000000018d5fe7594486aac19e87dc6ac5aa8b7d45bb1140cdd0c5e20ccc332fe8dc9854000000006b483045022076f1df012d60b3692f7372dfa4c746c3de716ade5fd80ec73d5f511a114436cc0221009d992ac0dad9fd0f9e5b845b6ece48d66e33b0ef3802c945d1f2bf44305ee741012102f7ba5596fa25587c94c05067bd39b7a1df258a395cd1abad23701dec4335a5bdffffffff02c813b339050000001976a9146fe4a7a736c5a0fe89554fd3dfd7a7e6370abc1488aca99ff0b1090000001976a91466be8a7cf56e191e3060f78d699e5b056bd554a388ac00000000']
2013-12-23 00:53:07,898 INFO interfaces # feff919cdb89b470aa1b73937b19296ffa5de7422743a5f82d6469c7836199fe (689891) valid icarus.7
2013-12-23 00:53:07,900 ERROR bitcoin_rpc # Submit Block call failed, trying GetBlockTemplate
Traceback (most recent call last):
File "/opt/stratum-mining-lottocoin/lib/bitcoin_rpc.py", line 48, in submitblock
resp = (yield self._call('submitblock', [block_hex,]))
Error: 404 Not Found
2013-12-23 00:53:07,902 ERROR bitcoin_rpc # Both SubmitBlock and GetBlockTemplate failed. Problem Submitting block 500 Internal Server Error
Traceback (most recent call last):
File "/opt/stratum-mining-lottocoin/lib/bitcoin_rpc.py", line 52, in submitblock
resp = (yield self._call('getblocktemplate', [{'mode': 'submit', 'data': block_hex}]))
Error: 500 Internal Server Error
2013-12-23 00:58:21,083 INFO template_registry # Yay, share with diff above 100000
2013-12-23 00:58:21,084 INFO template_registry # We found a block candidate! 00000000134c5505cd8ae0a49e1746aad81e8bfc426a6ee335dc95b4784e748c
2013-12-23 00:58:21,085 ERROR template_registry # Final job validation failed!
2013-12-23 00:58:21,086 INFO bitcoin_rpc # Submitting Block with Submit Block
2013-12-23 00:58:21,086 INFO bitcoin_rpc # ['010000004de6015a607a9df1ba6a7b86d2be63952fd891cfcf80a5dfbe2d3a1dcd8c2dff47d59395410a07a805d100888619f4c4d678a55e1f2a05b7f36ad06cbfc935a7f90bb7524ced1e1c0012a5ce0a01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff26028972062f503253482f04fa0bb75208f8000038060000000d2f7374726174756d506f6f6c2f0000000001000b685f140000001976a9144fe0da24aa998d5f1ad7fb2042c4aa4062de2cb588ac000000000200000001d0269f3fe594c000a4e7a40f1ebac301db33bc2b03122b48dd4e3484e3e586fd000000006c493046022100f8454379d4ce8dd1b948b394480e40511c2c7bd667b2d1a49e4fd8873354a17c022100d27beee44311026db3e9048f5924ddaabcc8e1aba6eb2e5a21674d0ac41a2a2401210206ad3fa3cb8adace19681d9f4af81b8654491c94aeb237c8cc3ee15459545a9effffffff02c3baa709010000001976a9149e863e786de0670fb2124f43c5d5ecec9244410288acf0c757d9dc0100001976a91484dd42973da01ab49e951f4d814c95842d2cff9088ac000000000200000001fe59af58a66a1c75ec6126a62eb6a9082b83006eebcff0ca59dc25b0edb152a9000000006b483045022100cca376a998025b6fee68141517e0fc8ca21efd502167900462a39adae6cb15e40220297894dd52600809ac26d75ba72275ed4d49513265c771a9cbb2b1962ab47aca012103fea52a0b8e41d0d7daca382f0f6fc65dc62e8606b15a91a1c0cd35b1b30fa5e6ffffffff02a1072bcdd80000001976a9142e39df4ff8d0346bcdbc645f1d776bac9a113a2988ac86c0bb48170000001976a914e1298b560059d5b992ecd7a5a3c7446934b3fc8688ac000000000200000001349ca695d1ab0a0f1bf6169c960d626ad433436f957fbc356814361ee3a037f2000000006a473044022050d4ae3885643cc10e8f7dd2ce863e75afa524173ba926eb6d685aa715d41e17022012422b7da0633e2d16def39ad482b50c625ee178d5b71afdc14f5dbc9ffe599a0121039073555f6bc82fad2df29ac4290b9df5252a1e4c064cd2df88a4b291299730d3ffffffff026805dc5ae40000001976a914c49d0b79b1a4b2ba11b086df3856ef9fc87fd54f88acb6e5cd42220000001976a914ac08dc30cefe02d933237a94cdce7f5d37e4f62488ac000000000200000001750f6c11a03dd359c140adebab008ac52dabf8045fc32441c085db545cbdb7c6000000006b48304502210082796bd2ca789eb8b9113a781f721aefdb3c6b4cf34abb8f8d906834d3d7298f0220238926d48e4b0109ee1ea264c74a22e2801120b6ea264e43b2b4ef8a60e6a4730121026f16531d854adc94cfd042119fc38082785aef5aeea75ce2f7691487ef0d9c8affffffff026730212a950000001976a914bce82eda7082c0c518d2533e706af244d34e8e3488ac5ae7d4b8170000001976a91455a8db95d29ec4a8ab10c534f0fa398d85b7062288ac000000000200000007f5916dfd437cf99ce907ed29dd5b97edbe53fb832b7354af93008f5bcf37f665000000006b483045022100b107aa3e5e5a242e694a99699348082bb01f9ce77666eb0863e4f84fd9559e4a02206467d8e12b425c974967fe9877df7c44cd282e5adbaa733df1d53ddf7a2b1bc50121032d0e5db89dd1cfc6dc9f85fcad58d471c2b767dde8476dbdbee0632a7e2902ebffffffffce37de3d48a909479ac011decc9a42bad6c98fd6ea1a141c70418cfef01e7b98000000006b4830450220602d9aa237be9b00e6b9e29aaa165a38e46c5e8cb1f7137af6a5943bb81e0c10022100a0f8810ce51c7ae37fb6ce1784d61cdbf28f8f5e1be03fdd62c7c2859c239cf5012102a902eac0bb3a8524d91a41b8f951fe15b56f0b65d1ddaf555af3f38735cf886affffffffca51faa21179b8289eda0bf30c47dafad0a33db89563aefe4fab9127b115df83000000006b48304502210096ca12b8f476e0bdd15555eb6fe2245203e9afba65cec2e3ad03ae71a9b9dbfd02202ad3d174f945f57f2a7a2988865768ea566e3353f0aeb55413e2be023bc5cbc90121038f57428b455a39314c07a84d4939f66f6818d318ddaec81e006beafed372e618ffffffff044c45e7884a97c1613555b2155bbab78c9b1ff7803bd4aed0f481e17475b5b6000000006b48304502200aef49ca7292091c98335b4615141a6219458669c319de1081ac325541ff61b0022100a6c12f63057314b4afc28dc2e54d539a019f58fa5e60a31669e852b785d6276c012102b3a9c8bd671a04d74876fd24df86ce7b31b60436e09761472bb4110b8501f770ffffffff6ee553d4dc09ef8f3e0a6c3839bec40ef9ef7f10f674e24f3700d3d0f44193f9000000006c493046022100eab6be49fe8a934e4bf6093d942153fa4d9af56a008a76c60b2b16aeb14170af022100f7208f70575002eb29a7aae1b576006d1c137135b0990edc3bf107a840e59b48012103dd5432ec7e21237fc0b25cd5022dd9225533e41a58d7b8e1e2c5f6c676512096ffffffffd4fa825ec2b3e0f44ea4d87c0cc1c38d80750e924ae32a16983e443b15bf0272000000006b4830450221009dc9e01b3f88f2494f04c0dc40b58f862c1b18f2619053444f63afeb358cb7da02203c684057416cb1e1f6bc93bc9d94ebc26f1776c4c800c5861ab32f67319b3e9f012102e3077529845efef172491f8a0672814930eb9abbbc3b976d7b88d0bef8ea424affffffff8cdaad1c0ad3f4ad56360932dcaa047c6c44b149fa89a31ab7fd6b3ad42407e6000000006b483045022056fc9bc4095201fd2bb2dd3062a71cd1fcdc720b368c768f8baa1e31c30a879a022100de12d73603aa36baba0449d5d739f542af7cf790b643d9dbe8de171db861222f012103badda00e8c2dafea062c5a73b9573bf94b7c7ab6a221bccc53be1e94816cd60fffffffff02c27b6901000000001976a91481ccbec9fe08ce90e85672ed7c7da054caaebef188acdbac92682f0200001976a9147110244d76a8b0afad991903a6322082e89da98388ac000000000200000001ef7a0798ae2b1e0be79ede50703762ef50742acdffc1b690376c150ae26bd424000000006c493046022100ba5ecf8dbbd4057b8c73b1a65f8bf0d3702076274537c66ac615d48d032482f0022100cbe0507393c984a6e1106d15c767110eaf72317c5a08fd2e03f69ab48d3792690121032863a1e543e66912431237ca5fe96343151607e7ba699da3926e3f5b24ca70b0ffffffff021468d5303d0000001976a9140c16c5a8ab90249a57001a2c78d5726deda58bda88acf5f30af4460000001976a914e06236f8c61bfde31d2b94169586310cfd9b354488ac000000000200000001e81c14a4359594bac5f837abe7b636dddeebd46519698b3c5630d7a3b7d99e64000000006b48304502206ee24ae36589f4c58ca92255d9f1db42dbd96cc5b73b04404b31822fa5fb784c022100c99bbbf6a9101672c7e89585e9f758fc6179c68bc2ab22817b61ba0600930f89012102687fd10310f395f99f274640b55c507566596531159eb0dd7076cd9805c8417bffffffff0217f16ec7220000001976a9142b33a322d547fe10fc6bed5c31ee83f5b4e77d7b88acbf071b7b190000001976a914de9e8e33d96dfc7d0c5ef546dda9b560d35b440188ac0000000002000000026c54a9bca6ecfddb5578623b6c8d4464cbb2b373575cc44715cd318a1c4997c5000000006b4830450220585eea2ebdab44c1efba58fb35280f575d91384f2ff9aca1c77d17bbd3b3efca022100943fdfb7676808379636a9d4a53c21f38121ac27f73d9977fe2969f0308aa3bc0121027153eafa1e24cf9b05e7de54b29a3b484ba71296736b4328f93b4941af960223ffffffff44bf6500d823d0abaaf4b9ed63f38c524bc9aa0ac3da92e0c606d6450b2ec5f0000000006c4930460221009e9599723c07b5c1caf53ec66b4fbeb82f104f64c39f6e8528232ef2bc57180c022100f7d97f6971750dc810b8baf02d9c8f9be1ad760246387484bf0ebe70cb43f8160121026e5d6c50c7f0e4a30a94cbc05367d04f5a3b435cccd9e950bedd184cd0e9017bffffffff0293297fda090000001976a914dd42c19d2338eac18218774ac52a31da6925b13f88ac09ca6462190000001976a91460aec92042231de4585510f1d57ff6d32d6dc3a888ac00000000020000000246beb2df59fa2f39eef8d5bbe38a7796d2611a39dfbe19f8a5fbd0838c97e1d9000000006c493046022100a16d1eabd969e2c39e7b0f23a2030d10abf01d344129d91662317cc3cb128577022100c8fc753893b09cc70f749322409f5870cc6af5fa337dfeca0f894e3985334fac012103ecd28106af96440095000e3a918359662173991ff1df16e83eaffec5f2a28da3ffffffff2c12ac0b20409f624e3a3089470a845acedd1f7dba06913d380d5af50100b78b000000006c49304602210090a5ae0610b87526ca86c14c9293aad4acd41e71fba175d0326710b08abf972d022100e68423ec45f9a9d8a20ad63e047da97cf3bbdb5440edd80f428fa821dcb1c93901210242bf7cb086992a2ec34f465f3165a2a7894d2a744c88db1830443bc5378a8278ffffffff022abcafc2020000001976a914c1808c4bd9e83ce3a386b39448a1f6d3b587740488acf21ba24b170000001976a9146d08e118f24226ec36b2b913fca9851ff1fee9e988ac00000000']
2013-12-23 00:58:21,087 INFO interfaces # 08ecaa6202bc2989290eade6490454b8bfafd953ec962c72e6ae06c82df7bff2 (869354) valid icarus.6
2013-12-23 00:58:21,089 ERROR bitcoin_rpc # Submit Block call failed, trying GetBlockTemplate
Traceback (most recent call last):
File "/opt/stratum-mining-lottocoin/lib/bitcoin_rpc.py", line 48, in submitblock
resp = (yield self._call('submitblock', [block_hex,]))
Error: 404 Not Found
2013-12-23 00:58:21,114 ERROR bitcoin_rpc # Both SubmitBlock and GetBlockTemplate failed. Problem Submitting block 500 Internal Server Error
Traceback (most recent call last):
File "/opt/stratum-mining-lottocoin/lib/bitcoin_rpc.py", line 52, in submitblock
resp = (yield self._call('getblocktemplate', [{'mode': 'submit', 'data': block_hex}]))
Error: 500 Internal Server Error
Im having a few users that have big farms with wird worker setups, that request lower diff than what vardiff is giving to them.
How can i go and give them a fixed diff for their workers?
Coin: Betacoin
The Betacoin is running local, and i'dont know what i have do wrong.
But i'get this error!!!!! and no client can connect.
twistd -ny launcher.tac
2013-12-16 07:18:27,119 DEBUG bitcoin_rpc # Logging initialized
2013-12-16 07:18:27,119 DEBUG interfaces # Logging initialized
2013-12-16 07:18:27,119 DEBUG DBInterface # Logging initialized
2013-12-16 07:18:27,119 DEBUG DBInterface # DB_Mysql INIT
2013-12-16 07:18:27,119 DEBUG DB_Mysql # Logging initialized
2013-12-16 07:18:27,122 DEBUG DB_Mysql # Connecting to DB
2013-12-16 07:18:27,128 DEBUG DB_Mysql # Checking Database
2013-12-16 07:18:27,129 DEBUG DBInterface # DBInterface.clearusercache called
2013-12-16 07:18:27,129 DEBUG subscription # Logging initialized
2013-12-16 07:18:27,129 DEBUG mining # Logging initialized
2013-12-16 07:18:27,130 DEBUG work_log_pruner # Logging initialized
2013-12-16 07:18:27,130 DEBUG mining # Logging initialized
2013-12-16 07:18:27,130 DEBUG block_updater # Logging initialized
2013-12-16 07:18:27,130 DEBUG template_registry # Logging initialized
2013-12-16 07:18:27,131 DEBUG bitcoin_rpc_manager # Logging initialized
2013-12-16 07:18:27,132 DEBUG halfnode # Logging initialized
2013-12-16 07:18:27,133 DEBUG coinbaser # Logging initialized
Unhandled error in Deferred:
Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/twisted/application/service.py", line 405, in loadApplication
application = sob.loadValueFromFile(filename, 'application', passphrase)
File "/usr/lib/python2.7/dist-packages/twisted/persisted/sob.py", line 210, in loadValueFromFile
exec fileObj in d, d
File "launcher.tac", line 36, in
mining.setup(on_startup)
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1181, in unwindGenerator
return _inlineCallbacks(None, gen, Deferred())
--- ---
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1039, in _inlineCallbacks
result = g.send(result)
File "/root/stratum-mining/mining/init.py", line 33, in setup
bitcoin_rpc = BitcoinRPCManager()
File "/root/stratum-mining/lib/bitcoin_rpc_manager.py", line 26, in init
settings.COINDAEMON_TRUSTED_PASSWORD)
File "/root/stratum-mining/lib/bitcoin_rpc.py", line 17, in init
self.bitcoin_url = 'http://%s:%d' % (host, port)
exceptions.TypeError: %d format: a number is required, not str
2013-12-16 07:18:27+0100 [-] Log opened.
2013-12-16 07:18:27+0100 [-] twistd 11.1.0 (/usr/bin/python 2.7.3) starting up.
2013-12-16 07:18:27+0100 [-] reactor class: twisted.internet.epollreactor.EPollReactor.
2013-12-16 07:18:42,142 DEBUG DBInterface # run_import_thread current size: 0
2013-12-16 07:18:57,156 DEBUG DBInterface # run_import_thread current size: 0
^C2013-12-16 07:19:08+0100 [-] SIGINT Detected, shutting down
2013-12-16 07:19:08,093 DEBUG DBInterface # DBInterface.do_import called. force: yes, queue size: 0
2013-12-16 07:19:08+0100 [-] Main loop terminated.
2013-12-16 07:19:08+0100 [-] Server Shut Down.
and here the config:
CENTRAL_WALLET = 'xxxxxxxxxxxxx' # local coin address where money goes
COINDAEMON_TRUSTED_HOST = 'localhost'
COINDAEMON_TRUSTED_PORT = '9555'
COINDAEMON_TRUSTED_USER = 'xxxxxxxxxx'
COINDAEMON_TRUSTED_PASSWORD = 'xxxxxxxxxxxxxxxxxx'
COINDAEMON_ALGO = 'sha256d'
COINDAEMON_Reward = 'POW'
COINDAEMON_SHA256_TX = 'yes'
DEBUG = False
LOGDIR = 'log/'
LOGFILE = None # eg. 'stratum.log'
LOG_ROTATION = True
LOG_SIZE = 10485760 # Rotate every 10M
LOG_RETENTION = 10 # Keep 10 Logs
#30 is enough for small installation, for real usage
THREAD_POOL_SIZE = 300
ENABLE_EXAMPLE_SERVICE = False
HOSTNAME = 'xxxxxxxxxx'
LISTEN_SOCKET_TRANSPORT = 3333
LISTEN_HTTP_TRANSPORT = None
LISTEN_HTTPS_TRANSPORT = None
LISTEN_WS_TRANSPORT = None
LISTEN_WSS_TRANSPORT = None
PASSWORD_SALT = 'xxxxxxxxxx'
DB_MYSQL_HOST = '10.10.2.3'
DB_MYSQL_DBNAME = 'emampos'
DB_MYSQL_USER = 'root'
DB_MYSQL_PASS = 'nospam4me'
DB_LOADER_CHECKTIME = 15 # How often we check to see if we should run the loader
DB_LOADER_REC_MIN = 10 # Min Records before the bulk loader fires
DB_LOADER_REC_MAX = 50 # Max Records the bulk loader will commit at a time
DB_LOADER_FORCE_TIME = 300 # How often the cache should be flushed into the DB regardless of size.
DB_STATS_AVG_TIME = 300 # When using the DATABASE_EXTEND option, average speed over X sec
# Note: this is also how often it updates
DB_USERCACHE_TIME = 600 # How long the usercache is good for before we refresh
USERS_AUTOADD = False # Automatically add users to db when they connect.
# This basically disables User Auth for the pool.
USERS_CHECK_PASSWORD = False # Check the workers password? (Many pools don't)
COINBASE_EXTRAS = '/stratumPool/' # Extra Descriptive String to incorporate in solved blocks
ALLOW_NONLOCAL_WALLET = True # Allow valid, but NON-Local wallet's
PREVHASH_REFRESH_INTERVAL = 5 # How often to check for new Blocks
# If using the blocknotify script (recommended) set = to MERKLE_REFRESH_INTERVAL
# (No reason to poll if we're getting pushed notifications)
MERKLE_REFRESH_INTERVAL = 60 # How often check memorypool
# This effectively resets the template and incorporates new transactions.
# This should be "slow"
INSTANCE_ID = 31 # Used for extranonce and needs to be 0-31
VDIFF_X2_TYPE = False # powers of 2 e.g. 2,4,8,16,32,64,128,256,512,1024
VDIFF_FLOAT = False # Use float difficulty
POOL_TARGET = 1 # Pool-wide difficulty target int >= 1
VARIABLE_DIFF = False # Master variable difficulty enable
USE_LITECOIN_DIFF = False # Set the maximum difficulty to the litecoin difficulty.
DIFF_UPDATE_FREQUENCY = 86400 # Update the litecoin difficulty once a day for the VARDIFF maximum
VDIFF_MIN_TARGET = 16 # Minimum Target difficulty
VDIFF_MAX_TARGET = 1024 # Maximum Target difficulty
VDIFF_TARGET_TIME = 15 # Target time per share (i.e. try to get 1 share per this many seconds)
VDIFF_RETARGET_TIME = 120 # Check to see if we should retarget this often
VDIFF_VARIANCE_PERCENT = 30 # Allow average time to very this % from target without retarget
ALLOW_EXTERNAL_DIFFICULTY = False
SOLUTION_BLOCK_HASH = False # If enabled, enter the block hash. If false enter the scrypt/sha hash into the shares table
GW_ENABLE = False # Enable the Proxy
GW_PORT = 3333 # Getwork Proxy Port
GW_DISABLE_MIDSTATE = False # Disable midstate's (Faster but breaks some clients)
GW_SEND_REAL_TARGET = False # Propigate >1 difficulty to Clients (breaks some clients)
ENABLE_WORKER_BANNING = True # enable/disable temporary worker banning
WORKER_CACHE_TIME = 600 # How long the worker stats cache is good before we check and refresh
WORKER_BAN_TIME = 300 # How long we temporarily ban worker
INVALID_SHARES_PERCENT = 50 # Allow average invalid shares vary this % before we ban
NOTIFY_EMAIL_TO = '[email protected]' # Where to send Start/Found block notifications
NOTIFY_EMAIL_TO_DEADMINER = '' # Where to send dead miner notifications
NOTIFY_EMAIL_FROM = '[email protected]' # Sender address
NOTIFY_EMAIL_SERVER = 'localhost' # E-Mail Sender
NOTIFY_EMAIL_USERNAME = '' # E-Mail server SMTP Logon
NOTIFY_EMAIL_PASSWORD = ''
NOTIFY_EMAIL_USETLS = False
2013-12-26 21:05:09+0100 [HTTPPageGetter,client] 2013-12-26 21:05:09,193 DEBUG stats # Logging initialized
2013-12-26 21:05:09+0100 [HTTPPageGetter,client] 2013-12-26 21:05:09,204 DEBUG protocol # Logging initialized
2013-12-26 21:05:09+0100 [HTTPPageGetter,client] 2013-12-26 21:05:09,205 DEBUG socket_transport # Logging initialized
2013-12-26 21:05:09+0100 [HTTPPageGetter,client] 2013-12-26 21:05:09,209 DEBUG http_transport # Logging initialized
2013-12-26 21:05:09+0100 [HTTPPageGetter,client] 2013-12-26 21:05:09,226 DEBUG irc # Logging initialized
2013-12-26 21:05:09+0100 [HTTPPageGetter,client] Loading of signing key 'None' failed, protocol messages cannot be signed.
2013-12-26 21:05:09+0100 [HTTPPageGetter,client] Cannot initiate SSL context, are SSL_PRIVKEY or SSL_CACERT missing?
2013-12-26 21:05:09+0100 [HTTPPageGetter,client] This will skip all SSL-based transports.
2013-12-26 21:05:09+0100 [HTTPPageGetter,client] SocketTransportFactory starting on 9111
2013-12-26 21:05:09+0100 [HTTPPageGetter,client] Starting factory <stratum.socket_transport.SocketTransportFactory instance at 0x2f8bbd8>
2013-12-26 21:05:09+0100 [HTTPPageGetter,client] Unhandled error in Deferred:
2013-12-26 21:05:09+0100 [HTTPPageGetter,client] Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1071, in _inlineCallbacks
result = g.send(result)
File "/home/stablecoin/stratum-mining-new/mining/init.py", line 98, in setup
on_startup.callback(True)
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 381, in callback
self._startRunCallbacks(result)
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 489, in _startRunCallbacks
self._runCallbacks()
--- ---
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 576, in _runCallbacks
current.result = callback(current.result, _args, *_kw)
File "/usr/local/lib/python2.7/dist-packages/stratum-0.2.12-py2.7.egg/stratum/server.py", line 87, in setup_finalize
http.setServiceParent(application)
File "/usr/lib/python2.7/dist-packages/twisted/application/service.py", line 186, in setServiceParent
self.parent.addService(self)
File "/usr/lib/python2.7/dist-packages/twisted/application/service.py", line 308, in addService
service.privilegedStartService()
File "/usr/lib/python2.7/dist-packages/twisted/application/internet.py", line 105, in privilegedStartService
self._port = self._getPort()
File "/usr/lib/python2.7/dist-packages/twisted/application/internet.py", line 133, in _getPort
'listen%s' % (self.method,))(_self.args, *_self.kwargs)
File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 489, in listenTCP
p.startListening()
File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 980, in startListening
raise CannotListenError(self.interface, self.port, le)
twisted.internet.error.CannotListenError: Couldn't listen on any:8000: [Errno 98] Address already in use.
Hi Ahmed
When I enable postgresql in the stratum config and try and run up stratum It crashes out with this error. Do you have any ideas why this is failing. Have you got this working with a postgresql database?
Error:
'module' object has no attribute 'DATABASE_EXTEND'
All the best
C
Hello,
I've successfully submitted my first block then after that, nothing has been submitted. Not sure what's going on and I have some weird stuff on the output. Can you please look at it?
Could you please tell me what PASSWORLD_SALT is ... I don't see it in the conf.py file.
File "/root/stratum-mining/mining/DB_Mysql.py", line 19, in init
raise ValueError("%s isn't set, please set in config.py" % setting_name)
exceptions.ValueError: PASSWORD_SALT isn't set, please set in config.py
Failed to load application: PASSWORD_SALT isn't set, please set in config.py
Hi Ahmed!
I'm trying to adapt your program to work in Mpos with several e-coins
I did it with Sexcoin and it works!
Now I'm trying do it with Peercoin, it is a POS coin, but I have an issue because the coin have not implemented the "getblocktemplate" method, Do you know what I can do?
Thanks in advance!
Hi !
Is this a problem ? Having this in the log multiple times:
2013-12-26 05:48:12,740 DEBUG mining # miner.4 (3, 0, False, False, 1388054576) 0.00% work_id(435) job_id(7) diff(0.000000)
2013-12-26 05:48:12,743 ERROR protocol # [Failure instance: Traceback: <type 'exceptions.ZeroDivisionError'>: long division or modulo by zero
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/protocol.py:192:dataReceived
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/protocol.py:238:lineReceived
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/services.py:13:_handle_event
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/services.py:81:call
--- ---
/usr/lib/python2.7/dist-packages/twisted/internet/defer.py:137:maybeDeferred
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/services.py:78:_run
/home/user/stratum-mining/mining/service.py:138:submit
/home/user/stratum-mining/lib/template_registry.py:252:submit_share
/home/user/stratum-mining/lib/template_registry.py:155:diff_to_target
]
None
2013-12-26 05:48:17,347 INFO block_updater # Checking for new block.
Can you tell me what difficulty shoud i set, when im running 2 stratum pools, one for litecoin second for betacoind and i have MPOS frontend? thank you
This is more of a question to understand VARDIFF for scrypt and SHA256 pools rather than an issue.
I am using your stratum mining package for all of my pools (Scrypt and SHA256) with the below default settings for both my SHA256 and scrypt pools:-
POOL_TARGET = 16
VARIABLE_DIFF = True
USE_COINDAEMON_DIFF = False
DIFF_UPDATE_FREQUENCY = 86400
VDIFF_MIN_TARGET = 15
VDIFF_MAX_TARGET = 1000
VDIFF_TARGET_TIME = 30
VDIFF_RETARGET_TIME = 120
VDIFF_VARIANCE_PERCENT = 20
I can't help to think that these settings are incorrect for my SHA256 pools? Pool target of 16/Minimum target of 15 sounds like a scrypt difficulty rates?
The reason I ask this question is because my front end (MPOS) displays the difficulty figure of 15 to my users for all of my SHA256 pools.
The pools are working ok with the above settings - I'm a little bit of a perfectionist and would like to know if the settings are correct for my SHA256 pools? Your help would be much appreciated.
Assigning worker IDs to clients with Vardiff works fine for normal workers (your regular miners that connect directly to the pool) however when you have miners who connect with Stratum Proxy this fails.
The problem is that when there are several hundred machine connecting to a pool with a stratum proxy there are multiple jobs and the code fails. Is there anyway code can be re-worked to cater for miners who connect using Stratum Mining Proxies to the pool.
Hi ahmed, I set up stratum-mining quarcoin, installed stratum, stratum-mining-proxy, quarkcoin hash, but when i run my cpu miner on this stratum, only accepts my first share, others are "booo!", I change config, to be same numbers as quarkcoin has. I dont know where is the problem.
Found a block, and noticed on the console the following error
2013-12-23 05:26:06,458 INFO template_registry # Yay, share with diff above 100000
2013-12-23 05:26:06,459 INFO template_registry # We found a block candidate! 00000000000afb26f3c74ab1f4a2fef224f1e7ed6f2b93c3b2c1811c1e7e82db
2013-12-23 05:26:06,478 INFO bitcoin_rpc # Submitting Block with Submit Block
2013-12-23 05:26:06,478 INFO bitcoin_rpc # ['01000000ab7a85edbd990868c522bb9c24ac8c48f8b3323001e3fd18ae39b60429f42faebb9fa83a3898c85831dbc27626e4d30c8855607340757
102fd27df5904f4240fa80fb85278ca001c00421236b701000000010000000000000000000000000000000000000000000000000000000000000000ffffffff2602e15e062f503253482f04b10fb85208f
--------------8<---------------
01976a9149f2318a52621e6c5c58c26e1a23b4709ea4a901e88ac70901ac2040000001976a91400aee9a66b7b3dac7343ff51a0855b399fdc4b9e88ac00000000']
2013-12-23 05:26:06,503 INFO interfaces # 3ccea4639a07aa64363dccca552edea5f5ac84a8753654a287dc3893ac56f78d (391118939) valid headsex.miner01
2013-12-23 05:26:06,548 ERROR bitcoin_rpc # Submit Block call failed, trying GetBlockTemplate
Traceback (most recent call last):
File "/home/danny/stratum-mining/lib/bitcoin_rpc.py", line 48, in submitblock
resp = (yield self._call('submitblock', [block_hex,]))
Error: 404 Not Found
2013-12-23 05:26:06-0500 [HTTPPageGetter,client] Hit Block_template.py
2013-12-23 05:26:06-0500 [HTTPPageGetter,client] hit template registry
2013-12-23 05:26:06,772 INFO template_registry # None
2013-12-23 05:26:06,772 INFO template_registry # New template for ae2ff42904b639ae18fde3013032b3f8488cac249cbb22c5680899bded857aab
2013-12-23 05:26:06,773 INFO subscription # BROADCASTED to 3 connections in 0.000 sec
2013-12-23 05:26:06,773 INFO template_registry # Update finished, 0.034 sec, 224 txes
2013-12-23 05:26:06,774 INFO proxy # New job e9 for prevhash ed857aab, clean_jobs=False
2013-12-23 05:26:06,828 INFO interfaces # Block 3ccea4639a07aa64363dccca552edea5f5ac84a8753654a287dc3893ac56f78d ACCEPTED
2013-12-23 05:26:06,829 INFO DBInterface # Updating Found Block Share Record
2013-12-23 05:26:06,829 INFO DBInterface # Inserting 8 Share Records
Using dogecoind from dogecoin github
I get captioned msg when running:
twistd -ny launcher.tac
However I can not find default 'DATABASE_EXTEND' option in config.py?
I have a very strange problem.
If I use more than 1 worker for mining at this pool that I set up (using this stratum software), all other workers will get REJECTED: (-2, u"Job 'xxx' not found", None) error.
If one worker has submitted a share for a certain job, that worker will be able to continue submitting shares, but shares from all my other workers will get rejected.
This continues until the next block where only the first worker to submit a share is able to continue submitting shares.
Does anyone have a solution for this problem?
Let say we have a new table
--------------------------------------------
worker_id | diff | enabled
--------------------------------------------
Mpos will add a row for each worker.
Stratum will first look in that table if there is a row for a worker, if there is, use that diff, if there is not, use vardiff (or whatever stratum is setup to).
Taking into account the enabled
flag that helps not having to delete each worker's row when someone does not want to use manual diff anymore.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.