It was the Bitcointalk forum that inspired us to create Bitcointalksearch.org - Bitcointalk is an excellent site that should be the default page for anybody dealing in cryptocurrency, since it is a virtual gold-mine of data. However, our experience and user feedback led us create our site; Bitcointalk's search is slow, and difficult to get the results you need, because you need to log in first to find anything useful - furthermore, there are rate limiters for their search functionality.
The aim of our project is to create a faster website that yields more results and faster without having to create an account and eliminate the need to log in - your personal data, therefore, will never be in jeopardy since we are not asking for any of your data and you don't need to provide them to use our site with all of its capabilities.
We created this website with the sole purpose of users being able to search quickly and efficiently in the field of cryptocurrency so they will have access to the latest and most accurate information and thereby assisting the crypto-community at large.
>>> 2012-12-29 15:10:46,080 JSONRPCHandler ERROR Error during JSON-RPC call: doJSON_getwork['00000002b3adf6e137be13xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Traceback (most recent call last):
File "/xxxxxxxxxxxxxxxxxx/eloipool12.py", line 573, in receiveShare
checkShare(share)
File "/xxxxxxxxxxxxxxxxxx/eloipool12.py", line 392, in checkShare
checkData(share)
File "/xxxxxxxxxxxxxxxxxx/eloipool12.py", line 353, in checkData
raise RejectedShare('bad-prevblk')
util.RejectedShare: bad-prevblk
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/xxxxxxxxxxxxxxxxxx/jsonrpcserver.py", line 200, in _doJSON_i
rv = getattr(self, method)(*params)
File "/xxxxxxxxxxxxxxxxxx/jsonrpc_getwork.py", line 44, in doJSON_getwork
return self.doJSON_submitwork(data)
File "/xxxxxxxxxxxxxxxxxx/jsonrpc_getwork.py", line 81, in doJSON_submitwork
self.server.receiveShare(share)
File "/xxxxxxxxxxxxxxxxxx/eloipool12.py", line 579, in receiveShare
logShare(share)
File "/xxxxxxxxxxxxxxxxxx/eloipool12.py", line 568, in logShare
i.logShare(share)
File "/xxxxxxxxxxxxxxxxxx/sharelogging/logfile.py", line 60, in logShare
logline = self.fmt.formatShare(share)
File "/xxxxxxxxxxxxxxxxxx/util.py", line 55, in formatShare
(stmt, params) = self.applyToShare(*a, **ka)
File "/xxxxxxxxxxxxxxxxxx/util.py", line 62, in applyToShare
params.append(f(share))
File "/xxxxxxxxxxxxxxxxxx/util.py", line 115, in
return lambda s: target2bdiff(subfunc(s))
File "/xxxxxxxxxxxxxxxxxx/util.py", line 44, in target2bdiff
bdiff = bdiff1target / target
TypeError: unsupported operand type(s) for /: 'int' and 'NoneType'
Traceback (most recent call last):
File "/xxxxxxxxxxxxxxxxxxxxx/jsonrpcserver.py", line 200, in _doJSON_i
rv = getattr(self, method)(*params)
File "/xxxxxxxxxxxxxxxxxxxxx/jsonrpc_getwork.py", line 44, in doJSON_getwork
return self.doJSON_submitwork(data)
File "/xxxxxxxxxxxxxxxxxxxxx/jsonrpc_getwork.py", line 81, in doJSON_submitwork
self.server.receiveShare(share)
File "/xxxxxxxxxxxxxxxxxxxxx/eloipool12.py", line 579, in receiveShare
logShare(share)
File "/xxxxxxxxxxxxxxxxxxxxx/eloipool12.py", line 568, in logShare
i.logShare(share)
File "/xxxxxxxxxxxxxxxxxxxxx/sharelogging/logfile.py", line 60, in logShare
logline = self.fmt.formatShare(share)
File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 55, in formatShare
(stmt, params) = self.applyToShare(*a, **ka)
File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 62, in applyToShare
params.append(f(share))
File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 115, in
return lambda s: target2bdiff(subfunc(s))
File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 44, in target2bdiff
bdiff = bdiff1target / target
TypeError: unsupported operand type(s) for /: 'int' and 'NoneType'
Traceback (most recent call last):
File "/xxxxxxxxxxxxxxxxxxxxx/jsonrpcserver.py", line 200, in _doJSON_i
rv = getattr(self, method)(*params)
File "/xxxxxxxxxxxxxxxxxxxxx/jsonrpc_getwork.py", line 44, in doJSON_getwork
return self.doJSON_submitwork(data)
File "/xxxxxxxxxxxxxxxxxxxxx/jsonrpc_getwork.py", line 81, in doJSON_submitwork
self.server.receiveShare(share)
File "/xxxxxxxxxxxxxxxxxxxxx/eloipool12.py", line 579, in receiveShare
logShare(share)
File "/xxxxxxxxxxxxxxxxxxxxx/eloipool12.py", line 568, in logShare
i.logShare(share)
File "/xxxxxxxxxxxxxxxxxxxxx/sharelogging/logfile.py", line 60, in logShare
logline = self.fmt.formatShare(share)
File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 55, in formatShare
(stmt, params) = self.applyToShare(*a, **ka)
File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 62, in applyToShare
params.append(f(share))
File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 115, in
return lambda s: target2bdiff(subfunc(s))
File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 44, in target2bdiff
bdiff = bdiff1target / target
TypeError: unsupported operand type(s) for /: 'int' and 'NoneType'
2012-12-27 20:11:24,359 JSONRPCHandler ERROR Traceback (most recent call last):
File "/xxxxxxxxxxxxxxx/jsonrpcserver.py", line 264, in handle_request
return self.doJSON(data, self.path[:3] == b'/LP')
File "/xxxxxxxxxxxxxxx/jsonrpcserver.py", line 223, in doJSON
data = data.decode('utf8')
File "/usr/lib/python3.1/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 213-215: invalid data
2012-12-27 21:18:40,371 JSONRPCHandler ERROR Error during JSON-RPC call: doJSON_submitblock['02000000579f07f9c10be136a4ab439144d1ad74b2e21e512xxxxxxxxxxxxxxxxxxxxxxxxxxH', {}]
Traceback (most recent call last):
File "/xxxxxxxxxxxxxxxxxx/jsonrpcserver.py", line 200, in _doJSON_i
rv = getattr(self, method)(*params)
File "/xxxxxxxxxxxxxxxxxx/jsonrpc_getblocktemplate.py", line 85, in doJSON_submitblock
data = bytes.fromhex(data)
ValueError: non-hexadecimal number found in fromhex() arg at position 166
### Settings relating to server identity
# Name of the server
ServerName = 'PT LTC Pool'
### Settings relating to server scaling/load
# Share hashes must be below this to be valid shares
# If dynamic targetting is enabled, this is a minimum
ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
# Automatically adjust targets per username
# 0 = disabled
# 1 = arbitrary targets
# 2 = power of two difficulties (zero bit counts)
DynamicTargetting = 0
# How many shares per minute to try to achieve on average
DynamicTargetGoal = 8
# Number of seconds hashrate is measured over
DynamicTargetWindow = 120
# Minimum and maximum of merkle roots to keep queued
WorkQueueSizeRegular = (0x100, 0x1000)
# Minimum and maximum of BLANK merkle roots to keep queued
# (used if we run out of populated ones)
WorkQueueSizeClear = (0x1000, 0x2000)
# Minimum and maximum of BLANK merkle roots to keep queued, one height up
# (used for longpolls)
WorkQueueSizeLongpoll = (0x1000, 0x2000)
# How long to wait between getmemorypool updates normally
MinimumTxnUpdateWait = 5
# How long to wait between retries if getmemorypool fails
TxnUpdateRetryWait = 1
# How long to sleep in idle loops (temporary!)
IdleSleepTime = 0.1
### Settings relating to reward generation
# Address to generate rewards to
TrackerAddr = 'LTC Address' # testnet
# Coinbaser command to control reward delegation
# NOTE: This example donates 1% of block rewards to Luke-Jr for Eloipool develo$
CoinbaserCmd = 'echo -e "1\\n$((%d / 100))\\LTC Address"'
### Settings relating to upstream data providers
# JSON-RPC server for getmemorypool
UpstreamURI = 'http://ltc user:ltc password@localhost:9332'
# Set to True if you want shares meeting the upstream target to wait for a
# response from the upstream server before logging them. Otherwise, for such
# shares, upstreamResult will always be True and upstreamRejectReason will
# always be None. Note that enabling this may cause shares to be logged out of
# order, or with the wrong timestamp (if your share logger uses the log-time
# rather than share-time).
DelayLogForUpstream = False
# Bitcoin p2p server for announcing blocks found
UpstreamBitcoindNode = ('127.0.0.1', 9333)
# Network ID for the primary blockchain
UpstreamNetworkId = b'\xFA\xBF\xB5\xDA'
# Secret username allowed to use setworkaux
#SecretUser = ""
# URI to send gotwork with info for every share submission
#GotWorkURI = ''
# Share hashes must be below this to be submitted to gotwork
GotWorkTarget = 0x00000000fffffffffffffffffffffffffffffffffffffffffffffffffffff$
# Aim to produce blocks with transaction counts that are a power of two
# This helps avoid any chance of someone abusing CVE-2012-2459 with them
# 1 = cut out feeless transactions; 2 = cut out even fee-included transactions $
POT = 2
# Avoid mining feeless transactions except to satisfy POT
# Note this only works if POT is in fact enabled in the first place
Greedy = False
### Settings relating to network services
# Addresses to listen on for JSON-RPC getwork server
# Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
# IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2
JSONRPCAddresses = (
('::ffff:poollink.no-ip.org', 9337),
)
# Addresses to listen on for Bitcoin node
# Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
# IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2
BitcoinNodeAddresses = (
('::ffff:poollink.no-ip.org', 9338),
)
# Addresses that are allowed to "spoof" from address with the X-Forwarded-For h$
TrustedForwarders = ('::ffff:127.0.0.1',)
# Logging of shares:
ShareLogging = (
{
'type': 'logfile',
'filename': 'share-logfile',
'format': "{time} {Q(remoteHost)} {username} {YN(not(rejectReas$
},
{
'type': 'sql',
'engine': 'postgres',
'dbopts': {
'host': 'localhost',
'database': 'pooldb',
'user': 'eloipool',
'password': 'somethingsecret',
},
'statement': "insert into shares (rem_host, username, our_resul$
},
{
'type': 'sql',
'engine': 'mysql',
'dbopts': {
'host': 'localhost',
'db': 'eloidb',
'user': 'dbuser',
'password': 'dbadmin',
},
'statement': "insert into shares (rem_host, username, our_resul$
},
{
'type': 'sql',
'engine': 'sqlite',
'dbopts': {
'database': 'share.db',
},
'statement': "insert into shares (remoteHost, username, rejectR$
},
)