Fetching contributors…
Cannot retrieve contributors at this time
187 lines (135 sloc) 7.31 KB
* MerkleRootMismatch reported when a non-final blocks/blk*.dat ends in
a NUL span. Ignore the span.
* Block/tx blacklist.
* Consider allowing unlimited script length.
* UnicodeEncodeError on non-ASCII MySQLdb connect params.
* Bugs affecting bytea hashin?
File "Abe/", line 1539, in import_block
tx['tx_id'] = store.import_tx(tx, pos == 0)
File "Abe/", line 1875, in import_tx
store.intin(tx['lockTime']), len(tx['tx'])))
File "Abe/", line 418, in sql
store.cursor.execute(cached, params)
IntegrityError: duplicate key value violates unique constraint "tx_tx_hash_key"
Failed to catch up {'blkfile_number': 1, 'dirname': '/home/bitcoin/.bitcoin', 'c
hain_id': None, 'id': Decimal('1'), 'blkfile_offset': 434255480}
Traceback (most recent call last):
File "Abe/", line 2220, in catch_up
File "Abe/", line 2243, in catch_up_dir
while (True):
File "Abe/", line 2359, in import_blkdat
chain_ids = frozenset([] if chain_id is None else [chain_id])
File "Abe/", line 1655, in import_block
(block_id, txin_id, oblock_id))
File "Abe/", line 418, in sql
store.cursor.execute(cached, params)
TransactionRollbackError: deadlock detected
DETAIL: Process 8102 waits for ShareLock on transaction 3744470; blocked by pro
cess 20041.
Process 20041 waits for ShareLock on transaction 3744468; blocked by process 8102.
HINT: See server log for query details.
CONTEXT: SQL statement "SELECT 1 FROM ONLY "public"."block" x WHERE "block_id" OPERATOR(pg_catalog.=) $1 FOR SHARE OF x"
* Compress standard txout scripts by representing them as a pubkey_id
and script type. Multi-signature outputs require thought; leave
pubkey_id null and retain the script for starters.
* Support new script types. Fix the firstbits table on upgrade.
Recent non-zero outputs showing as Unknown:
Bitcoin 140921, 64:f816...d335 CHECKSIG.
Bitcoin 141460, 76:4c55...652e CHECKSIG. Various in Bitcoin 150951:
Bitcoin 154012, 8:04678afd04678afd DROP SHA256 32:894e...e95c EQUAL,
redeemed with 7:04678afd0467.
Bitcoin 163685, raw 142a9bc5447d664c1d0141392a842d23dba45c4f13b175.
Bitcoin 164467, 1 65:04cc...8ac4 65:0461...42af 2 CHECKMULTISIG,
multisig script, redeemed with 0: 71:3044...2b01.
Bitcoin 165116, raw
Bitcoin 168910, DUP DUP DUP.
Bitcoin 170052, HASH160 20:19a7...960e EQUAL, pay-to-script-hash,
redeemed with 37:5121...51ae.
Bitcoin 170766, 3 DROP DROP 1, redeemed with 1.
Bitcoin 170877, MIN 3 EQUAL, redeemed with 1:03 1:03.
* Highlight any objects that are not in a main chain as such. In
particular, don't imply that an output was "redeemed" when the
redeeming transaction is not in the chain.
* Write a test suite. Include reorgs, duplicate coinbases, and upgrades.
* JSON/JSONP support in /q functions.
* Search by firstbits.
* Show firstbits on address history page.
* Consider adjusting statistics for duplicate coinbase transactions.
* Avoid duplicate in/out points on block pages by using DISTINCT or
equivalent. This affects blocks common to more than one chain.
* Consider fixing: /block/HASH returns "Block not found" for block not
in any chain.
* Defunct abe.fcgi processes not letting exit. Unseen in a while.
* Bitcoin 140176 failed to catch up: str(exception) == "1". Should
probably limit the kinds of exceptions that catch_up converts to
* Test for a portable "begin transaction" and use it.
* Consider retesting SQL flavour every time on startup.
* Add search by date/time within chain.
* Show auxiliary proof-of-work data.
* Consider porting to libbitcoin.
* Use explicit constraint names.
* Speed up initial load by disabling unneeded constraints temporarily.
* Consider showing amount of time ago along with or instead of
absolute times.
* Separate HTML from data access.
* Consider denormalization for performance: prevout_hash in txin,
pubkey_hash in txout, etc.
* Factor the coin-days destroyed feature as an optional add-on. Work
begin in branch no-statistics.
* Slight variation in CoinDD et al. among sites indicates a bug.
Possibly fixed and due to corrupt data.
* Clean up and document limits on search result size.
* Admin interface to delete chains, etc.
* Add a tool to upload transactions if bitcoind supports it.
* Perhaps write a validation module to check db data. Begun as
* Abstract SQL into the DataStore class.
* Report block size, raw blocks, average transactions per block, fees
per block, ...
* Report the Merkle branch of a particular transaction to support SPV.
* Test as multithreaded or forking server.
* Perhaps support searching by hash/address non-initial substring.
* /q functions:
latesthash hextarget
decimaltarget probability hashestowin
nextretarget estimate
avgtxsize avgtxvalue avgblocksize
interval eta avgtxnumber
addressfirstseen mytransactions
* BTC-specific /q functions:
bcperblock changeparams
totalbc(future block numbers)
* Perhaps create a compatibility mode.
* Perhaps show nethash interval statistics on the chain summary page.
* Perhaps create an "SQL script" DataStore subclass that outputs flat
* Context-sensitive help as on
* Simplify the process of adding new chains.
* Present Namecoin name operations as an optional add-on.
* Extract info from MultiCoin config files.
* Perhaps add coin tracking features: allow the administrator to
specify "interesting" (e.g., suspected fraudulent) transactions and
addresses, then add a hyperlink from objects linked to them.
* Perhaps track and report coin difficulty as proposed by casascius:
* Perhaps track and report collectible transaction bytes: size of
transactions whose outputs are all spent, minus Merkle shrubbery
needed to verify the rest.
* Perhaps support email notification about address activity.