Bitcoin Forum

Other => Beginners & Help => Topic started by: John Tobey on November 07, 2011, 04:44:19 PM



Title: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on November 07, 2011, 04:44:19 PM
This is a Newbies-friendly copy of: https://bitcointalk.org/index.php?topic=22785.0

!!! Announcing Abe, the open-source block chain browser !!!

While theymos' Bitcoin Block Explorer (http://blockexplorer.com/) has served us well, there are benefits that can only be had by an open-source version of this critical Bitcoin infrastructure.

  • Privacy: you can view information without revealing your interest in it.
  • Extensibility: you can add features that you want.
  • Trust: you can audit the source code.
  • Reliability: you can run it on your own server free of charge.

Abe provides much of Block Explorer's interface, including the list of recent blocks, a search tool, and detailed block, transaction, and address history pages.  Abe can also present multiple currencies such as Bitcoin, Namecoin, Tenebrix, and whatever FooCoin tomorrow may bring.  Abe lets you page back and forth in the block list and presents some new statistics like Average Coin Age.

Abe's interactive performance approaches Block Explorer's, though it is untested under BBE loads.  Abe supports a subset of Block Explorer's API.

Source code on Github: https://github.com/bitcoin-abe/bitcoin-abe
Demonstration site: http://abe.john-edwin-tobey.org/ (a 512MB VPS, can't handle heavy loads)
Requirements: Python and an RDBMS; tested with PostgreSQL, SQLite, MySQL, Oracle, ODBC, and DB2.
Donations: 1PWC7PNHL1SgvZaN7xEtygenKjWobWsCuf (BTC) and NJ3MSELK1cWnqUa6xhF2wUYAnz3RSrWXcK (NMC).

Enjoy!

December 6, 2012: Version 0.7.2 (https://github.com/bitcoin-abe/bitcoin-abe/blob/v0.7.2/CHANGES.txt) released.
August 31, 2011: Version 0.6 (https://github.com/bitcoin-abe/bitcoin-abe/blob/v0.6/CHANGES.txt) released.
August 16, 2011: Version 0.5 (https://raw.github.com/bitcoin-abe/bitcoin-abe/v0.5/CHANGES.txt) released.
July 15, 2011: See changes since July 4 (https://raw.github.com/bitcoin-abe/bitcoin-abe/v0.4/CHANGES.txt).


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: akaihola on March 20, 2013, 04:39:43 AM
Does the "trim spent outputs" feature in the no-statistics branch mean that you can't see the total amount of BTC received for each account?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on March 20, 2013, 02:09:01 PM
Does the "trim spent outputs" feature in the no-statistics branch mean that you can't see the total amount of BTC received for each account?
Yes, that information is lost.  All you see is total received minus total sent.  It would be possible to store the total received by each address, but it would only be a lower bound on the real value, since addresses themselves are trimmed when empty.

Any particular use case in mind?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: akaihola on April 12, 2013, 06:16:39 AM
Does the "trim spent outputs" feature in the no-statistics branch mean that you can't see the total amount of BTC received for each account?
Any particular use case in mind?

Tracking the total amount received for a bunch of addresses.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: ttsda on April 16, 2013, 08:26:54 PM
I loaded the blockchain to an Abe sqlite DB, but now I want to use Postgres.
Is there a way to convert the sqlite DB to pg, or do I have to rescan the whole blockchain again?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on April 16, 2013, 08:54:41 PM
I loaded the blockchain to an Abe sqlite DB, but now I want to use Postgres.
Is there a way to convert the sqlite DB to pg, or do I have to rescan the whole blockchain again?
This would be a nice feature but is not supported currently.  If you have good SQL skills and a few hours to spare, I can outline the steps.  But if you can afford to wait for the reload, that will be much easier.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: ttsda on April 16, 2013, 09:37:49 PM
If you have good SQL skills and a few hours to spare, I can outline the steps.  But if you can afford to wait for the reload, that will be much easier.

Please do! I think I can do it if you give me a few instructions :)


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on April 17, 2013, 12:12:43 AM
If you have good SQL skills and a few hours to spare, I can outline the steps.  But if you can afford to wait for the reload, that will be much easier.

Please do! I think I can do it if you give me a few instructions :)
Answered via PM.  If anything useful results from this exercise, one of us will post it.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: mullick on June 15, 2013, 12:36:52 PM
Any chance this would be easy enough to adapt for a newbie with a tutorial? I have only ever done a hello world and simple calculator in java but get enough to follow simple directions enough. I could offer someone a few Ltc to make a tutorial. I may be way out of my league he but It's worth a shot


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: pointychimp on June 17, 2013, 09:22:29 PM
I keep getting a "RuntimeError: maximum recursion depth exceeded" error. It happens every time I start abe up, and every time I access a page the error shows up in the console. I start abe with the following command:

python -m Abe.abe --config abe-my.conf

and the (censored) contents of abe-my.conf are as follows:

dbtype MySQLdb
connect-args {"user":"*****","db":"*****","passwd":"*****"}
upgrade
host *****
port 2750
datadir = /****/****/.bitcoin


What more info do you need, if any? Is there something in python I have to change?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on June 18, 2013, 02:27:43 AM
I keep getting a "RuntimeError: maximum recursion depth exceeded" error. It happens every time I start abe up, and every time I access a page the error shows up in the console.
This has been on the to-do list (https://github.com/jtobey/bitcoin-abe/blob/master/TODO.txt) for a long time.  I'll give it another look, but as I recall, it would take the better part of a day to code and test.

First, run Abe once with --rescan in case that solves it.  If you know Python, you can try sys.setrecursionlimit(300000) as suggested here (http://stackoverflow.com/questions/8177073/python-maximum-recursion-depth-exceeded).  (Replace 300000 with a few more than the number of blocks in your chain, or try lower numbers until either success or another kind of crash.)

I think this happens when the block files are "very" out of sequence: when a sequence of 1000 or more blocks all occur before one of their common ancestors.  Could this be the case with your block files?  Maybe this is normal for the latest Bitcoin versions, which I have not tested.  Is there anything unusual about how your block files were created, or did you download the chain again after running Abe the first time?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: bongwater on June 18, 2013, 02:34:39 AM
Open source block explorer? can you explain what this is?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: macintosh on June 18, 2013, 04:18:43 AM
lovin this idea, goodluck


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on June 18, 2013, 02:14:58 PM
Open source block explorer? can you explain what this is?
https://en.bitcoin.it/wiki/Block_chain_browser


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: pointychimp on June 18, 2013, 04:45:20 PM
I keep getting a "RuntimeError: maximum recursion depth exceeded" error. It happens every time I start abe up, and every time I access a page the error shows up in the console.
This has been on the to-do list (https://github.com/jtobey/bitcoin-abe/blob/master/TODO.txt) for a long time.  I'll give it another look, but as I recall, it would take the better part of a day to code and test.

First, run Abe once with --rescan in case that solves it.  If you know Python, you can try sys.setrecursionlimit(300000) as suggested here (http://stackoverflow.com/questions/8177073/python-maximum-recursion-depth-exceeded).  (Replace 300000 with a few more than the number of blocks in your chain, or try lower numbers until either success or another kind of crash.)

I think this happens when the block files are "very" out of sequence: when a sequence of 1000 or more blocks all occur before one of their common ancestors.  Could this be the case with your block files?  Maybe this is normal for the latest Bitcoin versions, which I have not tested.  Is there anything unusual about how your block files were created, or did you download the chain again after running Abe the first time?


I don't think I did anything unusual. I think I did copy block files from one of my computers to my server in order to speed up the chain download time. Problem is I don't remember if I did that before running abe for the first time or after. I'm currently letting abe rescan. If this doesn't work, I might just bite the bullet, remove everything from the mySQL database, delete my .bitcoin/ directory, download the blockchain the conventional way, and try again.

Thanks for the help. I'll try to remember to report back if I ever get this solved!


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: macintosh on June 18, 2013, 04:51:47 PM
thank you for this!


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: coinpipe on June 25, 2013, 07:03:16 PM
Thanks for ABE. I've been trying it out with a few different alt-coins. I could do with a hand understanding address_version.

For most coins it seems to be obvious, just the unicode of the first character of an address. But some coins have addresses like this (feathercoin in this example)

6nh62XDjhbqjjit78jfStECNcHz89xbNeq
72HzQ77Xbpg67MadosyWDjd5YZsVHz4Npt

etc...

I've tried settings an address_version of "\u0036" (a unicode '6') and this seems to work fine, however I'm worried that is not right. Is \u0036 ok, or should I do something else?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on June 25, 2013, 07:17:37 PM
Thanks for ABE. I've been trying it out with a few different alt-coins. I could do with a hand understanding address_version.

For most coins it seems to be obvious, just the unicode of the first character of an address. But some coins have addresses like this (feathercoin in this example)

6nh62XDjhbqjjit78jfStECNcHz89xbNeq
72HzQ77Xbpg67MadosyWDjd5YZsVHz4Npt

etc...
Plugging it into decode_address, for example:

http://explorer.doubloons.net/chain/Doubloons/q/decode_address/6nh62XDjhbqjjit78jfStECNcHz89xbNeq

gives "0e" as the hex version byte for both those addresses, so I would think it is "\u000e".


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: coinpipe on June 25, 2013, 07:31:27 PM
Ah got it! Thanks a bunch.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: pointychimp on July 13, 2013, 04:40:01 PM
Hey I've been having more luck since starting fresh with abe and the blockchain. I'm trying to get abe to use RPC but it always says either "catch_up_rpc: abort" or "Exception: RPC load failed." The bitcoin client is the first time I've ever seen RPC so I am very unfamiliar with it. It does seem, however to be a better way for abe to update the database instead of reading the blockfiles over and over again.

So my question is this. How do I make it work? I have a ~/.bitcoin/bitcoin.conf which contains the rpc username and password, and told it to listen for rpc on port 8332 (plus other settings). That port is correctly forwarded in my router. In abe.conf I have (among other things)

datadir += [{
        "dirname": "/home/<myname>/.bitcoin",
        "loader": "rpc",    # See the comments for default-loader below.
        "chain": "Bitcoin"
      }]


Is there any more information you need? Is there someway I can tell abe to connect to bitcoind with RPC over a specific port?

Thanks for your help.

Matt


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on July 24, 2013, 04:24:50 AM
Is there any more information you need? Is there someway I can tell abe to connect to bitcoind with RPC over a specific port?

Sorry for the delayed reply.  Please post the last few lines of output before "catch_up_rpc: abort" or "Exception: RPC load failed."  Have you run Bitcoin with -reindex since adding txindex to bitcoin.conf?

RPC is slower for the initial load, I think over twice as slow as blockfiles.  Once caught up, it usually inserts blocks faster than the blockfile method, since RPC has already loaded most transactions by the time the block comes (assuming that you arrange for it to catch up frequently).

Abe normally does not "read the blockfiles over and over again": it stores the current position in the database.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: katriel on July 24, 2013, 03:59:33 PM
Abe is really terrific! I used it to create a transaction network and play around with that.

However, on my machine I left it running (writing to a SQLite database) for I think about two weeks and only got about 18 months into the blockchain (2.4 million transactions). The readme says it typically takes several days to get through the chain--is there something I'm probably doing wrong?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on July 24, 2013, 04:21:50 PM
Abe is really terrific! I used it to create a transaction network and play around with that.

Good to hear!

However, on my machine I left it running (writing to a SQLite database) for I think about two weeks and only got about 18 months into the blockchain (2.4 million transactions). The readme says it typically takes several days to get through the chain--is there something I'm probably doing wrong?

I don't use SQLite for the full block chain, so I don't really know.  One user, K1773R, reported a fast load with the database file in tmpfs (RAM).  (https://bitcointalk.org/index.php?topic=22785.msg2639709#msg2639709)  I think K1773R uses SQLite.  If your system has enough memory, you could try that.  Abe takes a lot of space, though.  I estimate 4-5 times the size of all block files combined.  (~/.bitcoin/blocks/blk00???.dat in Unix)  You can reduce this somewhat by setting keep-scriptsig=false or by using the no-statistics branch and default-trim-depth.  See the comments in abe.conf for what those options entail.

K1773R mentioned possibly distributing the SQLite file via torrent: https://github.com/jtobey/bitcoin-abe/issues/15


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: johntawaki on July 24, 2013, 05:07:04 PM
nice one, but I heard it's not working for some new coins, such as Diamond (DMD).


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on July 24, 2013, 05:43:46 PM
nice one, but I heard it's not working for some new coins, such as Diamond (DMD).
Yes, several new coins trace their ancestry to PPCoin and need the "ppcoin" branch in Git.  See: https://github.com/jtobey/bitcoin-abe/issues/19

Another one, CopperLark, has its own format, which the "copperlark" branch handles.

Ideally, Abe would automatically detect among known variants and handle them without code changes.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: internetbitcoins on August 13, 2013, 11:13:58 PM
Hi,

I run
Code:
python -m Abe.abe --config abe-my.conf --commit-bytes 100000 --no-serve
but 2 or 3 times I had to restart the server, so now in the block table, I check on block_id and there are some missing blocks.

Is there a way to recover them without restart all the process of reading all the blocks on the blockchain??
For example, any way to launch the
Code:
python -m Abe.abe --config abe-my.conf --commit-bytes 100000 --no-serve
only for missing ids?

Thanks in advances and for Abe!


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on August 14, 2013, 01:47:19 PM
I run
Code:
python -m Abe.abe --config abe-my.conf --commit-bytes 100000 --no-serve
but 2 or 3 times I had to restart the server, so now in the block table, I check on block_id and there are some missing blocks.

block_id is not the same as block number (a.k.a. block_height).  The gaps in block_id are not a problem.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: unick on August 22, 2013, 11:40:07 PM
Hey John Tobey, I am trying to set up the explorer for the DMD coin, I've read the issue about PPcoin branches, could you give any help on setting this up for DMD?

thanks


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on August 23, 2013, 12:54:23 AM
Hey John Tobey, I am trying to set up the explorer for the DMD coin, I've read the issue about PPcoin branches, could you give any help on setting this up for DMD?

thanks
Sure, just post how far you got and any detailed error message.  If the transactions have a new format, we may need to find how the coin's source code serializes CTransaction.  Bitcoin example: src/core.h line 194 (https://github.com/bitcoin/bitcoin/blob/481d89979457d69da07edd99fba451fd42a47f5c/src/core.h#L194).


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: unick on August 23, 2013, 03:23:01 AM
Hey John Tobey, I am trying to set up the explorer for the DMD coin, I've read the issue about PPcoin branches, could you give any help on setting this up for DMD?

thanks
Sure, just post how far you got and any detailed error message.  If the transactions have a new format, we may need to find how the coin's source code serializes CTransaction.  Bitcoin example: src/core.h line 194 (https://github.com/bitcoin/bitcoin/blob/481d89979457d69da07edd99fba451fd42a47f5c/src/core.h#L194).



This is the error message I get when trying to read the block chain

Code:

root@blockchains:/var/www/blockchain/bitcoin-abe/Abe# python -m Abe.abe --config abe-my.conf --commit-bytes 100000 --no-serve
failed to load /root/.Diamond/bitcoin.conf: [Errno 2] No such file or directory: u'/root/.Diamond/bitcoin.conf'
catch_up_rpc: abort
Opened /root/.Diamond/blk0001.dat
Exception at 72056513853653130
Failed to catch up {'blkfile_offset': 0, 'blkfile_number': 1, 'chain_id': Decimal('9'), 'loader': None, 'dirname': u'/root/.Diamond', 'id': 24L}
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/Abe/DataStore.py", line 2637, in catch_up
    store.catch_up_dir(dircfg)
  File "/usr/local/lib/python2.7/dist-packages/Abe/DataStore.py", line 2895, in catch_up_dir
    store.import_blkdat(dircfg, ds, blkfile['name'])
  File "/usr/local/lib/python2.7/dist-packages/Abe/DataStore.py", line 3022, in import_blkdat
    b = store.parse_block(ds, chain_id, magic, length)
  File "/usr/local/lib/python2.7/dist-packages/Abe/DataStore.py", line 3053, in parse_block
    d['transactions'].append(deserialize.parse_Transaction(ds))
  File "/usr/local/lib/python2.7/dist-packages/Abe/deserialize.py", line 88, in parse_Transaction
    d['txIn'].append(parse_TxIn(vds))
  File "/usr/local/lib/python2.7/dist-packages/Abe/deserialize.py", line 46, in parse_TxIn
    d['sequence'] = vds.read_uint32()
  File "/usr/local/lib/python2.7/dist-packages/Abe/BCDataStream.py", line 71, in read_uint32
    def read_uint32 (self): return self._read_num('<I')
  File "/usr/local/lib/python2.7/dist-packages/Abe/BCDataStream.py", line 110, in _read_num
    (i,) = struct.unpack_from(format, self.input, self.read_cursor)
OverflowError: Python int too large to convert to C long


I am not sure if this is what you are looking for

https://github.com/diamondcoinproject/diamondcoin/blob/dd388c28bf89abeaaad761982bb4d04f18995c27/src/serialize.h#L59


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on August 23, 2013, 09:22:56 PM
I am not sure if this is what you are looking for

https://github.com/diamondcoinproject/diamondcoin/blob/dd388c28bf89abeaaad761982bb4d04f18995c27/src/serialize.h#L59

Close enough, it's here, and the new field is strTxComment: https://github.com/diamondcoinproject/diamondcoin/blob/dd388c28bf89abeaaad761982bb4d04f18995c27/src/main.h#L452-462

I've downloaded some of the DMD chain and got Abe to load it, but only over RPC, since this coin uses strange block hashing rules.  Loading from the blockfile resulted in only Block 0 being displayed, since Abe could not link any block to its parent.  Also, I had to disable verification and make Abe trust the RPC server's block hashes.  (If you have info about the differences between DMD and Bitcoin block hashing, I may be able to fix this.)

Please pull branch "diamond", copy Diamond.conf as bitcoin.conf, add "rpcport=17772" to that file if not already present, and use a config such as this:

Code:
datadir [{"dirname":"/root/.Diamond", "chain":"Diamond", "code3":"DMD", "address_version":"\u005a"}]
default-loader rpc


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: tacoman71 on August 23, 2013, 10:48:59 PM
You should make a newbie friendly .exe version of this that they can just double click to install.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on August 23, 2013, 11:07:22 PM
You should make a newbie friendly .exe version of this that they can just double click to install.
I have too little time.  I would happily show another developer around, should one wish to package it nicely.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: b!z on August 24, 2013, 08:01:42 AM
Very cool. This looks like a good way to view the blockchain without relying on an external site.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: unick on August 26, 2013, 07:46:22 PM
I am not sure if this is what you are looking for

https://github.com/diamondcoinproject/diamondcoin/blob/dd388c28bf89abeaaad761982bb4d04f18995c27/src/serialize.h#L59

Close enough, it's here, and the new field is strTxComment: https://github.com/diamondcoinproject/diamondcoin/blob/dd388c28bf89abeaaad761982bb4d04f18995c27/src/main.h#L452-462

I've downloaded some of the DMD chain and got Abe to load it, but only over RPC, since this coin uses strange block hashing rules.  Loading from the blockfile resulted in only Block 0 being displayed, since Abe could not link any block to its parent.  Also, I had to disable verification and make Abe trust the RPC server's block hashes.  (If you have info about the differences between DMD and Bitcoin block hashing, I may be able to fix this.)

Please pull branch "diamond", copy Diamond.conf as bitcoin.conf, add "rpcport=17772" to that file if not already present, and use a config such as this:

Code:
datadir [{"dirname":"/root/.Diamond", "chain":"Diamond", "code3":"DMD", "address_version":"\u005a"}]
default-loader rpc


I am having the following error

Code:
RPC data not understood: block hash mismatch
Failed to catch up {'blkfile_offset': 0, 'blkfile_number': 1, 'chain_id': Decimal('9'), 'loader': None, 'dirname': u'/root/.Diamond', 'id': 36L}
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/Abe/DataStore.py", line 2635, in catch_up
    raise Exception("RPC load failed")
Exception: RPC load failed
Abe initialized.

I have pulled the diamond branch from the repository
I have cp Diamond.conf. to bitcoin.conf (making sure the rpc port was on 17772)
change abe-my.conf accordingly

while the server listens... I can't seem to have the RPC loaded... did I miss something ?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on August 26, 2013, 08:28:06 PM
Code:
RPC data not understood: block hash mismatch

Are you sure you are using the latest from the diamond branch?  These changes should be reflected in your Python files:

https://github.com/jtobey/bitcoin-abe/commit/829890b0c3bd2599e66108c24d90d16a5a1b0ea8

In particular, the part about "block hash mismatch" should appear commented out.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: unick on August 27, 2013, 06:58:25 AM
yep, Git tells me I'm up to date and I have manually checked for those changes and everything is there.

any thing else?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on August 27, 2013, 03:19:31 PM
yep, Git tells me I'm up to date and I have manually checked for those changes and everything is there.

any thing else?

Perhaps you have an older version installed on your system?  Otherwise, I don't see how Abe could produce that message.  What does this show:
Code:
python -c 'import Abe.abe; print Abe.abe;'


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: unick on August 27, 2013, 03:48:42 PM
yep, Git tells me I'm up to date and I have manually checked for those changes and everything is there.

any thing else?

Perhaps you have an older version installed on your system?  Otherwise, I don't see how Abe could produce that message.  What does this show:
Code:
python -c 'import Abe.abe; print Abe.abe;'


This is the output

Code:
<module 'Abe.abe' from '/usr/local/lib/python2.7/dist-packages/Abe/abe.pyc'>


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on August 27, 2013, 04:12:26 PM
This is the output

Code:
<module 'Abe.abe' from '/usr/local/lib/python2.7/dist-packages/Abe/abe.pyc'>

This means you are getting the previously installed version.  You want the one from from 'Abe/abe.py'.  Either install the new version (as root, python setup.py install) or set PYTHONPATH to the git clone directory (bitcoin-abe, not the Abe subdirectory).  Normally, sys.path starts with an empty string, so if you "cd" to the correct directory, Python should find the local modules.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: internetbitcoins on August 28, 2013, 04:39:11 PM
I run
Code:
python -m Abe.abe --config abe-my.conf --commit-bytes 100000 --no-serve
but 2 or 3 times I had to restart the server, so now in the block table, I check on block_id and there are some missing blocks.

block_id is not the same as block number (a.k.a. block_height).  The gaps in block_id are not a problem.


Hi, thanks. Finally I can return to the abe staff today. I launched the web server and I can get the data. For example, for this one:
http://localhost:2750/chain/Bitcoin/q/getreceivedbyaddress/19vDdUsaiQrra5CDDKNn8yooai2pF3XU6A
I get 0.43250932

And on http://blockexplorer.com/address/19vDdUsaiQrra5CDDKNn8yooai2pF3XU6A
I get 0.47998327

So I think there is something not updated on my database.

On launching abe web server I get this error:

Code:
python -m Abe.abe --config abe-my.conf
no chain_id
catch_up_rpc: abort
Opened /xx/xx/.bitcoin/blocks/blk00074.dat
Exception at 87267839
Failed to catch up {'blkfile_offset': 87139457, 'blkfile_number': 100074, 'chain_id': None, 'loader': None, 'dirname': '/xx/xx/.bitcoin', 'id': Decimal('1')}
Traceback (most recent call last):
  File "Abe/DataStore.py", line 2637, in catch_up
    store.catch_up_dir(dircfg)
  File "Abe/DataStore.py", line 2895, in catch_up_dir
    store.import_blkdat(dircfg, ds, blkfile['name'])
  File "Abe/DataStore.py", line 3025, in import_blkdat
    store.import_block(b, chain_ids = chain_ids)
  File "Abe/DataStore.py", line 1737, in import_block
    tx['tx_id'] = store.import_and_commit_tx(tx, pos == 0)
  File "Abe/DataStore.py", line 2259, in import_and_commit_tx
    tx_id = store.import_tx(tx, is_coinbase)
  File "Abe/DataStore.py", line 2193, in import_tx
    pubkey_id = store.script_to_pubkey_id(txout['scriptPubKey'])
  File "Abe/DataStore.py", line 2573, in script_to_pubkey_id
    for opcode, data, i in deserialize.script_GetOp(script):
  File "Abe/deserialize.py", line 236, in script_GetOp
    opcode |= ord(bytes[i])
IndexError: string index out of range
Abe initialized.
Listening on http://localhost:2750

Any idea? Thanks (again) in advance!


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on August 28, 2013, 08:56:17 PM
Code:
  File "Abe/deserialize.py", line 236, in script_GetOp
    opcode |= ord(bytes[i])
IndexError: string index out of range

Please pull and try the latest code.  This was fixed a few days ago.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: internetbitcoins on August 28, 2013, 09:43:09 PM
Code:
  File "Abe/deserialize.py", line 236, in script_GetOp
    opcode |= ord(bytes[i])
IndexError: string index out of range

Please pull and try the latest code.  This was fixed a few days ago.


Thanks, I'll do it.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: unick on August 28, 2013, 11:58:48 PM
This is the output

Code:
<module 'Abe.abe' from '/usr/local/lib/python2.7/dist-packages/Abe/abe.pyc'>

This means you are getting the previously installed version.  You want the one from from 'Abe/abe.py'.  Either install the new version (as root, python setup.py install) or set PYTHONPATH to the git clone directory (bitcoin-abe, not the Abe subdirectory).  Normally, sys.path starts with an empty string, so if you "cd" to the correct directory, Python should find the local modules.


that did it... I'm updating the chain so everything seems to run smooth... I'll keep you posted if I ever find out about what you were talking earlier.

thanks a bunch :)


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: internetbitcoins on August 30, 2013, 06:17:01 PM
Code:
  File "Abe/deserialize.py", line 236, in script_GetOp
    opcode |= ord(bytes[i])
IndexError: string index out of range

Please pull and try the latest code.  This was fixed a few days ago.


Hi again, just to say thank you. I did it and it worked.

Cheers.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: brishtiteveja on September 06, 2013, 04:25:45 AM
Hi,
  I just started using Abe. But I am not being able to run the server on my macbook i.g. 127.0.0.1:2750 is showing no connection. I was using sqlite database. And I was reading other users are creating their own abe-my.conf file. Why did you create that and what it contains.. I am sorry if these questions sound silly and pretty basic. Would you please show me a direction? My sqlite database hasn't been complete. But It gathered nearly 200000 blocks.Do I need to wait till it finishes? Or am I missing some fundamentals? Thank you.

My terminal results:

MacBook-Pro:bitcoin-abe zehadyzbdullahkhan$ python -m Abe.abe --dbtype=sqlite3 --connect-args=abe.sqlite --port 2750
no chain_id
catch_up_rpc: abort
Opened /Users/zehadyzbdullahkhan/Library/Application Support/Bitcoin/blocks/blk00018.dat
block_tx 192674 5701191
block_tx 192674 5701192
block_tx 192674 5701193
............................................


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on September 06, 2013, 03:53:51 PM
MacBook-Pro:bitcoin-abe zehadyzbdullahkhan$ python -m Abe.abe --dbtype=sqlite3 --connect-args=abe.sqlite --port 2750
no chain_id
catch_up_rpc: abort
Opened /Users/zehadyzbdullahkhan/Library/Application Support/Bitcoin/blocks/blk00018.dat
block_tx 192674 5701191
block_tx 192674 5701192
block_tx 192674 5701193
............................................

Until it finishes loading, this process will not serve HTTP requests.  I suggest you run two processes, a dedicated loader and a dedicated server.

Window 1:
python abe.py --dbtype=sqlite3 --connect-args=abe.sqlite --port 2750 --datadir '[]'

Window 2:
while true; do python abe.py --dbtype=sqlite3 --connect-args=abe.sqlite --no-serve; sleep 10; done

"--datadir []" makes it skip loading and start serving immediately.  "--no-serve" makes it exit immediately after loading all blocks, and the while-loop makes it check again after a pause.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: brishtiteveja on September 08, 2013, 04:07:47 AM
Hi Tobey, thank you so much. It worked really great. The database is still updating after days... I wish it gets done quickly. I am watching the ToDo list now. Abe is really great.Hope I can contribute in some way.  :)


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: dashingriddler on September 11, 2013, 05:21:59 AM
Hello i am facing the issue at block 256522
here is the error i m getting. after getting this error, i deleted my block chain files and loaded the entire block chain again but no use. any help greatly appreciated.

bitcoin@CoinMonk:~/Abe$ python -m Abe.abe --config abe-my.conf --no-serve
no chain_id
catch_up_rpc: abort
Opened /xxx/xxx/.bitcoin/blocks/blk00080.dat
Exception at 30434958
Failed to catch up {'blkfile_offset': 30096859, 'blkfile_number': 100080, 'chain_id': None, 'loader': None, 'dirname': '/xxx/xxx/.bitcoin', 'id': Decimal('1')}
Traceback (most recent call last):
  File "Abe/DataStore.py", line 2637, in catch_up
    store.catch_up_dir(dircfg)
  File "Abe/DataStore.py", line 2895, in catch_up_dir
    store.import_blkdat(dircfg, ds, blkfile['name'])
  File "Abe/DataStore.py", line 3025, in import_blkdat
    store.import_block(b, chain_ids = chain_ids)
  File "Abe/DataStore.py", line 1740, in import_block
    if tx['unlinked_count'] > 0:
KeyError: 'unlinked_count'


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on September 12, 2013, 04:32:45 PM
  File "Abe/DataStore.py", line 1740, in import_block
    if tx['unlinked_count'] > 0:
KeyError: 'unlinked_count'

Thanks, I think I have fixed this.  Please pull and try the latest code.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: dashingriddler on September 13, 2013, 04:07:37 AM
  File "Abe/DataStore.py", line 1740, in import_block
    if tx['unlinked_count'] > 0:
KeyError: 'unlinked_count'

Thanks, I think I have fixed this.  Please pull and try the latest code.

I started from a snapshot about 1 month ago and loaded the rest of block chain and Abe continued and did catch up completely this time. I dont know why i did not face any issue this time though.
I am afraid to touch the scripts now. But i will as soon as i face any other issue and let u know here.

Thank you for your attempt to solve my issue.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: triggermage on October 21, 2013, 09:31:03 PM
Hey guys, trying to run Abe for the first time on Ubuntu 12.10 the command python -m Abe.abe --config abe-my.conf --commit-bytes 100000 --no-serve returns:

http://img202.imageshack.us/img202/1536/1xn0.png

Anyone have a clue?

Thank you very much!


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: bitbudget on November 06, 2013, 08:24:23 PM
We are looking for a python developer who would setup the Bitcoin Abe script on our server and modify it for our needs.
Long term cooperation is also an option.


Please email us at hr@bit-b.com with your offers.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: internetbitcoins on December 04, 2013, 07:47:31 PM
Hi again,

since my last message Abe was working ok, but some days ago I was expecting a very slow response.

For example, for the command wget
wget http://localhost:2750/chain/Bitcoin/q/addressbalance/1EweSrwuG6av7Lsk9fHzRbo91cavBDbNQM

I get this log
Code:
--2013-12-04 09:30:09--  http://localhost:2750/chain/Bitcoin/q/addressbalance/1EweSrwuG6av7Lsk9fHzRbo91cavBDbNQM
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:2750... connected.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.

--2013-12-04 09:30:24--  (try: 2)  http://localhost:2750/chain/Bitcoin/q/addressbalance/1EweSrwuG6av7Lsk9fHzRbo91cavBDbNQM
Connecting to localhost (localhost)|127.0.0.1|:2750... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1 [text/plain]
Saving to: '1EweSrwuG6av7Lsk9fHzRbo91cavBDbNQM'

Finally, I got the balance after the second try, but in some cases I have 16 or more...and I need ABE to retrieve about 350 Bitcoin address balances every day, so I have to find a quickly way or find why is so slowly... same operation in blockchain.info api (with wget or curl via php) is very fast, so I think it has to be with my abe installation, but I don't know what happens. I restarted the server and killed old processes, but nothing happens.

With curl is even worst, I never get the value, always a 0 balance, I think because of the waiting time is too much.

Some ideas on what can be happening?
Any help will be appreciated. Thanks in advance and regards.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: internetbitcoins on December 05, 2013, 11:45:03 AM
My last restart of the server, right now, has this log:

Code:
...block_tx 273388 32443649
block_tx 273388 32443650
block_tx 273388 32443651
commit
Abe initialized.
Listening on http://localhost:2750
no chain_id
catch_up_rpc: abort
Opened /home/ubuntu/.bitcoin/blocks/blk00098.dat
127.0.0.1 - - [05/Dec/2013 11:41:43] "GET /chain/Bitcoin/q/addressbalance/1Q3sRVHTKzik5tB2ZxmvYR2pxk2ZE5PjFW HTTP/1.1" 200 1
no chain_id
catch_up_rpc: abort
Opened /home/ubuntu/.bitcoin/blocks/blk00098.dat
127.0.0.1 - - [05/Dec/2013 11:41:43] "GET /chain/Bitcoin/q/addressbalance/1Ns3UYRqRcwmNLrmm5rwfTD4HF5K2p2U1A HTTP/1.1" 200 1

I don't know if is relevant...Thanks again.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: phelix on December 10, 2013, 10:37:15 AM
We are considering using Abe for Namecoin. Is there a demo version online somewhere?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: Bale80 on December 10, 2013, 08:12:21 PM
Hi there,
and thanks for making this.

I'm currently trying to set up bitcoin-abe for Netcoin (https://github.com/netcoinproject/netcoin) and I'm having a bit of problems.
I'm running the latest from github and have added the following to Datastore.py:

  {"chain":"Netcoin",
     "code3":"NET", "address_version":"\x70", "magic":"\xfd\xb6\xa5\xdb"}

...
....
block_tx 4071 3398
Skipped 1 bytes at block end
Exception at 7099887448213790924

Failed to catch up {'blkfile_offset': 39107, 'blkfile_number': 1, 'chain_id': 9, 'loader': None, 'dirname': '/home/myuser/.netcoin', 'id': Decimal('32')}
Traceback (most recent call last):
  File "Abe/DataStore.py", line 2637, in catch_up
    store.catch_up_dir(dircfg)
  File "Abe/DataStore.py", line 2901, in catch_up_dir
    store.import_blkdat(dircfg, ds, blkfile['name'])
  File "Abe/DataStore.py", line 3028, in import_blkdat
    b = store.parse_block(ds, chain_id, magic, length)
  File "Abe/DataStore.py", line 3059, in parse_block
    d['transactions'].append(deserialize.parse_Transaction(ds))
  File "Abe/deserialize.py", line 92, in parse_Transaction
    d['txOut'].append(parse_TxOut(vds))
  File "Abe/deserialize.py", line 67, in parse_TxOut
    d['value'] = vds.read_int64()
  File "Abe/BCDataStream.py", line 72, in read_int64
    def read_int64  (self): return self._read_num('<q')
  File "Abe/BCDataStream.py", line 110, in _read_num
    (i,) = struct.unpack_from(format, self.input, self.read_cursor)
error: unpack_from requires a buffer of at least 8 bytes

Any ideas on what I'm doing wrong ?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: ddirt on January 27, 2014, 01:17:15 PM
Hi, hoping somebody can help me get Abe up and running for SolarCoin. I'm hitting this error


block 2082 already in chain 9
Exception at 69523
Failed to catch up {'blkfile_offset': 0, 'blkfile_number': 1, 'chain_id': 9, 'loader': None, 'dirname': '/home/ubuntu/.solarcoin', 'id': Decimal('30')}
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/Abe/DataStore.py", line 2639, in catch_up
    store.catch_up_dir(dircfg)
  File "/usr/local/lib/python2.7/dist-packages/Abe/DataStore.py", line 2897, in catch_up_dir
    store.import_blkdat(dircfg, ds, blkfile['name'])
  File "/usr/local/lib/python2.7/dist-packages/Abe/DataStore.py", line 3024, in import_blkdat
    b = store.parse_block(ds, chain_id, magic, length)
  File "/usr/local/lib/python2.7/dist-packages/Abe/DataStore.py", line 3055, in parse_block
    d['transactions'].append(deserialize.parse_Transaction(ds))
  File "/usr/local/lib/python2.7/dist-packages/Abe/deserialize.py", line 92, in parse_Transaction
    for i in xrange(n_vout):
OverflowError: Python int too large to convert to C long


I've tried using the PPCoin branch, no help.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: mapleshadow on January 29, 2014, 04:31:08 PM
datastore.py----------------------
    {"chain":"CinnamonCoin",
     "code3":"CIN", "address_version":"\x1c", "magic":"\xcd\xf2\xc0\xef"},

cin.conf--------------
default-loader = blkfile
dbtype MySQLdb
connect-args {"user":"abe","db":"abe_cin","passwd":"<xxx>"}
datadir = /home/xxx/.CinnamonCoin
upgrade
port 2755
host 12.10.2.222

shell------------
python -m Abe.abe --config config/cin.conf --commit-bytes 100000 --no-serve

error:
Opened /home/xxx/.CinnamonCoin/blk0001.dat
Chain not found for magic number dbc0dbf2 in block file /home/xxx/.CinnamonCoin/blk0001.dat at offset 0.

why?????????
Should not find cdf2c0ef thing?
Why instead to search dbc0dbf2?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: mapleshadow on January 29, 2014, 07:01:07 PM
ddl_implicit_commit=true
create_table_epilogue=''
Abe/DataStore.py:526: Warning: Converting column 'a' from VARCHAR to TEXT
  store.cursor.execute(stmt)
Abe/DataStore.py:526: Warning: Converting column 'b' from VARCHAR to TEXT
  store.cursor.execute(stmt)
max_varchar=4294967295
clob_type=LONGTEXT
Abe/DataStore.py:526: Warning: Converting column 'test_varbit' from VARCHAR to TEXT
  store.cursor.execute(stmt)
binary_type=hex
int_type=int
Created silly table abe_dual
sequence_type=mysql
limit_style=native
Abe/DataStore.py:526: Warning: Converting column 'txout_scriptPubKey' from VARCHAR to TEXT
  store.cursor.execute(stmt)
Abe/DataStore.py:526: Warning: Converting column 'txin_scriptSig' from VARCHAR to TEXT
  store.cursor.execute(stmt)
Opened /home/mapleshadow/.chncoin/blk0001.dat
block_tx 1 1
block_tx 2 2
block_tx 3 3


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: diwskwmx on February 08, 2014, 12:48:38 AM
datastore.py----------------------
    {"chain":"CinnamonCoin",
     "code3":"CIN", "address_version":"\x1c", "magic":"\xcd\xf2\xc0\xef"},

cin.conf--------------
default-loader = blkfile
dbtype MySQLdb
connect-args {"user":"abe","db":"abe_cin","passwd":"<xxx>"}
datadir = /home/xxx/.CinnamonCoin
upgrade
port 2755
host 12.10.2.222

shell------------
python -m Abe.abe --config config/cin.conf --commit-bytes 100000 --no-serve

error:
Opened /home/xxx/.CinnamonCoin/blk0001.dat
Chain not found for magic number dbc0dbf2 in block file /home/xxx/.CinnamonCoin/blk0001.dat at offset 0.

why?????????
Should not find cdf2c0ef thing?
Why instead to search dbc0dbf2?

I'm seeing the same thing with Coino.  I think its pulling dbc0dbf2 from the block file, not the Chain definition in Datasource.py.  It appears not to be reading the Datasource.py file at all.  Did you figure this out?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: diwskwmx on February 08, 2014, 01:04:57 AM
Ahh, I seem to have solved my problem, instead of using Datasource.py I put a section like this in to my abe.conf file.

datadir += [{
 "dirname" : "/root/.feathercoin",
 "chain" : "FeatherCoin",
 "code3" : "FTC",
 "address_version" : "u000e",
 "magic" : "u00fbu00c0u00b6u00db"
}]


It is now building the DB.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on February 20, 2014, 07:13:15 PM
I've been failing to receive topic reply notifications since mid-August.  Apologies for not noticing sooner.  If you posted a question since then and would like me to read it, please repost it or send me a link to it via PM.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: mitchellmint on February 25, 2014, 03:48:45 AM
Hi there,
and thanks for making this.

I'm currently trying to set up bitcoin-abe for Netcoin (https://github.com/netcoinproject/netcoin) and I'm having a bit of problems.
I'm running the latest from github and have added the following to Datastore.py:

  {"chain":"Netcoin",
     "code3":"NET", "address_version":"\x70", "magic":"\xfd\xb6\xa5\xdb"}

...
....
block_tx 4071 3398
Skipped 1 bytes at block end
Exception at 7099887448213790924

Failed to catch up {'blkfile_offset': 39107, 'blkfile_number': 1, 'chain_id': 9, 'loader': None, 'dirname': '/home/myuser/.netcoin', 'id': Decimal('32')}
Traceback (most recent call last):
  File "Abe/DataStore.py", line 2637, in catch_up
    store.catch_up_dir(dircfg)
  File "Abe/DataStore.py", line 2901, in catch_up_dir
    store.import_blkdat(dircfg, ds, blkfile['name'])
  File "Abe/DataStore.py", line 3028, in import_blkdat
    b = store.parse_block(ds, chain_id, magic, length)
  File "Abe/DataStore.py", line 3059, in parse_block
    d['transactions'].append(deserialize.parse_Transaction(ds))
  File "Abe/deserialize.py", line 92, in parse_Transaction
    d['txOut'].append(parse_TxOut(vds))
  File "Abe/deserialize.py", line 67, in parse_TxOut
    d['value'] = vds.read_int64()
  File "Abe/BCDataStream.py", line 72, in read_int64
    def read_int64  (self): return self._read_num('<q')
  File "Abe/BCDataStream.py", line 110, in _read_num
    (i,) = struct.unpack_from(format, self.input, self.read_cursor)
error: unpack_from requires a buffer of at least 8 bytes

Any ideas on what I'm doing wrong ?

I am having the same problem.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: tuxie01 on February 25, 2014, 05:20:29 PM
Hi there,

few days ago i setup a explorer for the Altcoin TheCypherfunk, i used the last git clone from abe.

Today i changed the design and also the css stylesheet with some new designfeatures. Actually i am working on a design useable on mobil devices like iPhone or iPad. If anybody is interessed i can send the changed files.

Cheers tuxie


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: Joori on March 02, 2014, 02:38:50 AM
Hi there,

few days ago i setup a explorer for the Altcoin TheCypherfunk, i used the last git clone from abe.

Today i changed the design and also the css stylesheet with some new designfeatures. Actually i am working on a design useable on mobil devices like iPhone or iPad. If anybody is interessed i can send the changed files.

Cheers tuxie

I'd be keen on checking those changes out. Been toying with the idea of adding some flare to the original design but have been bogged down with too many other things at work which has taken away what little time i've had free over the last few weeks.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: comedygold on April 02, 2014, 11:58:33 PM
I've been trying for hours to fix this...this is the error I get.
Code:
WSGIServer: missing FastCGI param REQUEST_METHOD required by WSGI!
WSGIServer: missing FastCGI param SERVER_NAME required by WSGI!
WSGIServer: missing FastCGI param SERVER_PORT required by WSGI!
WSGIServer: missing FastCGI param SERVER_PROTOCOL required by WSGI!

If I start Abe using its own server, it is fine. However, this is no good for me as I want to run it as a website.

I have googled for literally hours. I have tried everything I can find and anything I can think of. Sure I'm probably missing something stupid...any ideas?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: John Tobey on April 03, 2014, 05:52:46 AM
I've been trying for hours to fix this...this is the error I get.
Code:
WSGIServer: missing FastCGI param REQUEST_METHOD required by WSGI!
WSGIServer: missing FastCGI param SERVER_NAME required by WSGI!
WSGIServer: missing FastCGI param SERVER_PORT required by WSGI!
WSGIServer: missing FastCGI param SERVER_PROTOCOL required by WSGI!

If I start Abe using its own server, it is fine. However, this is no good for me as I want to run it as a website.

I have googled for literally hours. I have tried everything I can find and anything I can think of. Sure I'm probably missing something stupid...any ideas?

Assuming you have read the directions in README-FASTCGI.txt, can you get this sample FastCGI app to run?  https://docs.python.org/2/howto/webservers.html#setting-up-fastcgi

Abe runs the same way, using flup.server.fcgi.WSGIServer.


Title: Can't load Bitcoin blockchain into current version of Abe
Post by: salfter on April 17, 2014, 11:45:45 PM
I've let the current version grind away for a week or two, only to get stuck on importing the Bitcoin blockchain.  On block 234062, it fails pretty spectacularly.  I probably shouldn't have been running this branch anyway as it doesn't handle scrypt coins, but that still doesn't explain what's going horribly wrong.  I'm running bitcoind 0.9.1 and told it to verify the entire blockchain; it came back with nothing wrong.  All this is on a freshly setup Ubuntu Server LTS 14.04 box (had been running late betas or release candidates); I'm using PostgreSQL for the database.

What follows is what Abe.py spits out when I try to have it resume.  Take particular note of the line that starts with "InvalidOperation: Invalid literal for Decimal:"

Code:
Opened /home/bitcoind/.bitcoin/blocks/blk00057.dat
Exception at 74222644
Failed to catch up {'blkfile_offset': 73974221, 'blkfile_number': 100057, 'chain_id': 1, 'loader': u'blkfile', 'conf': None, 'dirname': '/home/bitcoind/.bitcoin', 'id': Decimal('1')}
Traceback (most recent call last):
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 2503, in catch_up
    store.catch_up_dir(dircfg)
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 2767, in catch_up_dir
    store.import_blkdat(dircfg, ds, blkfile['name'])
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 2899, in import_blkdat
    store.import_block(b, chain = chain)
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 1043, in import_block
    tx['tx_id'] = store.import_and_commit_tx(tx, pos == 0, chain)
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 1852, in import_and_commit_tx
    tx_id = store.import_tx(tx, is_coinbase, chain)
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 1819, in import_tx
    txin['prevout_hash'], txin['prevout_n'])
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 2431, in lookup_txout
    (store.hashin(tx_hash), txout_pos))
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 251, in selectrow
    return store._sql.selectrow(stmt, params)
  File "/home/bitcoin-abe/bitcoin-abe/Abe/SqlAbstraction.py", line 479, in selectrow
    ret = sql.cursor().fetchone()
  File "/usr/lib/python2.7/decimal.py", line 548, in __new__
    "Invalid literal for Decimal: %r" % value)
  File "/usr/lib/python2.7/decimal.py", line 3872, in _raise_error
    raise error(explanation)
InvalidOperation: Invalid literal for Decimal: 'N2615289K699B044\x1d()0O830L724.),)J893?96140657553\x1b-*(0271-\'*(B1800029000000000000\x1f\'+0000000000000198300000007O55200300006230600240271\x1e-0,\x14\'/.3857\x10)*)15840729001103843840\x10)*)44160752N2615289\'\'/+0)*.=76200*/2740B635\x19.,)*\'0-!/),;273\x1b-*(0271I984\x1a)(.002900000000\x1f\'+0000000000000198100000007O55200290006230600240271\x1e-0,\x13/*(3857\x10)*)1584072900072944\x10)*)0001N2615289\x1a-//3500\x1a*.*3855\x150,-C022K1570692\'0(-@632\x1b-*(0271,\'\'.?6200033\x1f\'+0000000000000197000000007O55200280006230600240271\x1e-0,\x13,.,3857\x10)*)15840728001103843840\x10)*)77227581N2615289++/,5124"/+-M3660(.+\x1f//-\x1a0/,2905J809L387\x1b-*(0271I984\x1d)/0002900000000\x1f\'+0000000000000196800000007O55200270006230600240271\x1e-0,\x13*(03857\x10)*)1584072800073968\x10)*)01235060N2615289\x1a+)(&+/(F6273830M762-\')/6303M616\x1e(.*H253\x1b-*(0271-\'*(15400019000000000000\x1f\'+0000000000000195700000007O55200260006230600240271\x1e-0,\x13\'-*3857\x10)*)15840727001103843840\x10)*)79552183N2615289\x10,(-N225;350\x14.(*!/\'\'\x1c*0)\x1e0))B096\x15-))0,++\x1b-*(0271I984\x12)/(002900000000\x1f\'+0000000000000195500000007O55200250006230600240271\x1e-0,\x12/\'.3857\x10)*)1584072700072944\x10)*)0010N2615289O735L399(\'..\x1d((+\x19\'/0F121\x15.\'(30330401=564\x1b-*(0271-\'*(15400027\x1f\'+0000000000000194400000007O55200240006230600240271\x1e-0,\x12,,(3857\x10)*)15840726001103843840\x10)*)64110414N2615289C936)\'0.8244\x14\').\x1a(\'("/(.\x1b+))8955\x17/(\'-)--\x1b-*(0271I984!-+(002800000000\x1f\'+0000000000000194200000007O55200230006230600240271\x1e-0,\x12)0,3857\x10)*)1584072600073968\x10)*)31240528N2615289H720#.*(\x16.+*//*/\x12)0.&0((D994\x120(+4527O578\x1b-*(0271-\'*(>0840030000000000000\x1f\'+0000000000000193100000007O55200220006230600240271\x1e-0,\x12\'*03857\x10)*)15840725001103844864\x10)**000110342000N2615289\x1c+\'*6181\x1f,/\'9522G25708662417\x14\',-;647;058\x1b-*(0271I984\x190-(00290000\x1f\'+0000000000000192900000007O55200210006230600240271\x1e-0,\x11./*3857\x10)*)1584072500072944\x10)*)0002N261528900)+;804B477@7914424*\'()/\')07315@653\x1a,0+\x1b-*(0271-\'*(O7480020\x1f\'+0000000000000191800000007O55200200006230600240271\x1e-0,\x11,).3857\x10)*)15840724001103842816\x10)*)1353N26152897715F954-)-0O006J217\x1000-D6270+,*P3482012\x1b-*(0271I984\x14*)00029000000000000\x1f\'+0000000000000191600000007O55200190006230600240271\x1e-0,\x11).(3857\x10)*)1584072400072944\x10)*)0005N2615289\x1b*./E6027019C927((+/))+,E252\x11-++P121@353\x1b-*(0271-\'*(17960027\x1f\'+0000000000000190500000007O55200180006230600240271\x1e-0,\x11\'(,3857\x10)*)15840723001103842816\x10)*)4139N2615289.*-*\x1a0\'/4581@285998700,,\x18..0\x1a0\'*!.--\'\',\'\x1b-*(0271I984\x180*.0029000000000000\x1f\'+0000000000000190300000007O55200170006230600240271\x1e-0,\x10.,03857\x10)*)1584072300072944\x10)*)0015N26152891718?622*+\'-C461G4892280\x17*0\'I843\x110.+#(++\x1b-*(0271,..,92200028\x1f\'+0000000000000189200000007O55200160006230600240271\x1e-0,\x10,\'*3857\x10)*)15840722001103844864\x10)**000105526935N2615289O22408047378,*\'*8260H851\x16/,.<398\x1e0\'/;362\x1b-*(0271I984\x1d\'**00290000\x1f\'+0000000000000189000000007O55200150006230600240271\x1e-0,\x10)+.3857\x10)*)1584072200073968\x10)*)00425000N2615289\x10.,+5075B074.-)-"-).\x12,(,\x17(.-\x1a+.03100\x1a(*/\x1b-*(0271%*,(P2590016000000000000\x1f\'+0000000000000187900000007O55200140006230600240271\x1e-0,P5283857\x10)*)15840721001103843840\x10)*)57608500N2615289\x1b+-)5701A740L6417682?624\x10+\'/\x16)(($/.-\x12/-.\x1b-*(0271I9845890003000000000\x1f\'+0000000000000187700000007O55200130006205000240271\x1e-0,P2723857\x10)*)1584072100072944\x10)*(5000N2615289\x11*)*O734\x1d,**\x1f,\'+K890L4130*\'(6478J3450(/\'\x1b-*(0271-\'*(=3160029\x1f\'+0000000000000186600000007O55200120006230600240271\x1e-0,P0163857\x10)*)15840720001103843840\x10)*)78957435N26152897715F954-)-0O006J217\x1000-D6270+,*P3482012\x1b-*(0271I984\x14*)0002900000000\x1f\'+0000000000000186400000007O55200110006230600240271\x1e-0,O7603857\x10)*)1584072000072944\x10)*)0005N2615289?487),*\'\x12)*.%)//L546\x17*\'-;282D896\')\'/.-0\'\x1b-*(0271#,,0%+/*0028\x1f\'+0000000000000185300000007O55200100006230600240271\x1e-0,O5043857\x10)*)15840719001103844864\x10)**000102971291N2615289:547\x15\'-*%(.(;651;302E072K942\x14/)\'H572I257\x1b-*(0271I984/.)(00280000\x1f\'+0000000000000185100000007O55200090006230600240271\x1e-0,O2483857\x10)*)1584071900072944\x10)*)0005N26152893591-),*H434-/-0:3080837L4699006!,\'*(+,*\x1b-*(0271-\'*(@1320029\x1f\'+0000000000000184000000007O55200080006230600240271\x1e-0,N9923857\x10)*)15840718001103843840\x10)*)10047500N2615289#,(.I994F752/*((E565\x19...\x18+\'0#.*\'3450!/+-\x1b-*(0271I9848450002400000000\x1f\'+0000000000000183800000007O55200070006230600240271\x1e-0,N7363857\x10)*)1584071800072944\x10)*(5000N26152897838H044\x15)-(<022\x1f/(/J540<982"..(\'0)0;905\x1b-*(0271)0,0\'\'(00018\x1f\'+0000000000000182700000007O55200060006230600240271\x1e-0,N4803857\x10)*)15840717001103843840\x10)*)32034000N2615289?035\x190)0$(),+(.(I210L796G865!0*/J922F237\x1b-*(0271I984/0..002800000000\x1f\'+0000000000000182500000007O55200050006230600240271\x1e-0,N2243857\x10)*)1584071700073968\x10)*)00016000N26152891697\x12(\'(*.(\'F519$/\'\'%)(+>96438804531D382\x1b-*(0271-\'*(E7640005000000000000\x1f\'+0000000000000181800000007O55200040006230600240271\x1e-0,M9683857\x10)*)15840716001103843840\x10)*)08087999N2615289\x18.,/F076>3295301&./,\x1e(/--.+0/)))3656\x10/*-\x1b-*(0271-\'*(#-0(000800000000\x1f\'+0000000000000181600000007O55200030006230600240271\x1e-0,M7123857\x10)*)1584071600073968\x10)*)08104001N2615289N57332932756M3416154C887A189\x15+*.O292G173\x1b-*(0271:112#(./0025000000000000\x1f\'+0000000000000180900000007O55200020006230600240271\x1e-0,M4563857\x10)*)15840715001103843840\x10)*)00377000N26152894092E546=3440.**2011 --/C385#\')/A910\x17.(,\x1b-*(0271-\'*(-+(0003000000000\x1f\'+0000000000000180600000007O55200010006205000240271\x1e-0,M2003857\x10)*)1584071500072944\x10)*)0800N26152891679H0210./)F632\x13(-($))+,/-0$+-(6311O963\x1b-*(02717808\x13,-)003500760000\x16)-*742200000000052022648176819600000000\x18*,00096\x18*,(0016\x13,000096\x18*\'*0096\x18),,0096\x18)\'.0096\x18(,00096\x18(((0096\x130/*0096\x18\'-*0096\x14\'.00096\x18\'(,0096\x14))*0096\x170-.0096\x170(00096\x17/.(0096\x13+\'.0096\x17/)*0096\x17..,0096\x17.).0096\x17-.00096\x17-*(0096\x17,/*0096\x17,*,0096\x12,0(0096\x17+/.0096\x13*,00096\x17+*00096\x13//.0096\x17*0(0096\x17*+*0096\x17)0,0096\x12,+*0096\x17)+.0096\x12-*00096\x17(000096\x12.*,0096\x17(,(0096\x13)-*0096\x17(\'*0096\x12-/.0096\x17\',,0096\x17\'\'.0096\x160,00096\x13*((0096\x160((0096\x14).(0096\x16/-*0096\x14(.,0096\x16/(,0096\x16.-.0096\x16.(00096\x16-.(0096\x16-)*0096\x12+0,0096\x16,.,0096\x120.,0096\x16,).0096\x16+.00096\x12./*0096\x16+*(0096\x13-+.0096\x16*/*0096\x16**,0096\x16)/.0096\x13)(,0096\x16)*00096\x13-0,0096\x16(0(0096\x14*(00096\x16(+*0096\x16\'0,0096\x16\'+.0096\x12/*(0096\x150000096\x13.0(0096\x150,(0096\x150\'*0096\x15/,,0096\x15/\'.0096\x15.,00096\x14().0096\x15.((0096\x15--*0096\x15-(,0096\x13\')*0096\x15,-.0096\x13,,(0096\x15,(00096\x12/.00096\x15+.(0096\x13.+*0096\x15+)*0096\x13\'.(0096\x15*.,0096\x13,\'*0096\x15*).0096\x15).00096\x15)*(0096\x120).0096\x15(/*0096\x13((00096\x15(*,0096\x13(-.0096\x15\'/.0096\x130*,0096\x15\'*00096\x14\'*(0096\x1400(0096\x140+*0096\x14/0,0096\x14/+.0096\x14.000096\x13+,,0096\x14.,(0096\x13/*00096\x14.\'*0096\x14-,,0096\x14-\'.0096\x14*-.0096\x14,,00096\x14,((0096\x14+-*0096\x14+(,009600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037640001@432(/.+P598\'.,0B211G698N740B226\x18/-+?119I741=7973024\x18-(\'?6644675?0240005000000000000000037620001@432\'/,\'K837E360<639\x11,0--**)\x1d+,*\x1b,*//*()\x1d/\',:412"*)-\x18.*)3319\x1c*/(\x16*//0117000000000000000037550001@432\',0+A233\x11-*+$\'+(F179\x18/*\'\x110.+0\'.(8893&(()7077\x1d+0,E894<382E135\x14-*\'0147000000000000000036970001@432\'/,\'@127\x1c\',/\x1a-0(=772F653;155J800N870K477"/.+%+/\'D091L9654191C8260174000000000000000036790001@432((\'-\x180(,#*./G305A124=131\x1e0*0*)*)9958\x1a(*-\x1f-.0K96354991282%.,*\x1f\'-00203000000000000000036620001@432((\'-?698\x13-(()\'-)(.+.<895,+*.>560=237\x1d+0-,-.*/*00B741$.,.),)./(0-0160000000000000000036550001@432)(*\'@696L565(,\'+2504E587"\',())-,8184&-\'*\x1d,-,<800@507@056\'../&(0(0092000000000000000036200001@432)-+)\x17/+\'",/.@859I724\x13--/2500\x1b)-.L092\x1e,-+\x15,/)@322\x1e,(+0++,D862\x1d)*)0104000000000000000036180001@432*+(\'\x1d(/\'\x13+)/;6748730@812O890N908)+*,\x1b,\'-\x1f-0-B784\x12-,0L488*0+.H4780029000000000000000036120001@432*0))")*,\x1e\'--0*.*/))\'G0935535O2220874\x13(*-0(\'*>426M681?318B913%**.0121000000000000000035950001@432(/.+\x16)/+F301M768I426\x12,.\'2122\x18/,0$0(\'O383\x1b),,#*.\'\x1e\'-/*0++-()\'74470251000000000000000035870001@432*(,+,//)\x12-).\x1a),.E674-.)\'7646\x11\'(,0.\',=103@604\x16++* )..0850\x13-/)#--,0243000000000000000035720001@432*---$,(+%-*,0235%0+(\x15-*)>261\x16--/38149352\x12-(,\x15)\'(%0//\x1d)-*E769$.0-0030000000000000000035680001@432*0))()\'(\x11/)\'),*.+,0+6786%\',-1264\x16/-* *0,\x1e00\'\'*.\'J550<038 ((.\x11/(*0188000000000000000035580001@432*0)),((+\x11.\'+%)*,\x15(.\'3538@435\x1f.*-?0481799N923/0.+\x11.+\'D138,-*,,*-*0078000000000000000035560001@432)*/-3380C4100087"/0\'\x160,/0)-(\x1f\'..H479\x14.-*E308 \'*.0871*(0(\x1d,,.C0280044000000000000000035510001@432((\'-5791I77759250)-+")/0\x1d(-.!.(0\x1e*++O9790+00O169E523H445\x1b)+(57460025000000000000000035260001@432(*-)-*\'.>196\x13/0(\x18.\'*E693=250\x17+-+7918O314J641-+(*+/)-7848.0.+/\'/,0139000000000000000035230001@432\',0+,\'*)G855\x18.\'0\x19+./\x12*)*F564A642\x1b))(@599H203!0)0H399+.((E694H1730241000000000000000035080001@432\'\'/)N140H317?2800*(+4618987297142534\x1a,*(\x14(+\'L008#*,/\x1a0(01948\x130/*0249000000000000000034960001@432++*+H7570537C8925058O141,.00\x12+,\'B594$*0(\x1500/\x1e\'/-0167E307\x17))\'#)+\'0225000000000000000034820001@432*---\x17,**>477@459(\'\'+L517\x14))-%+).D819 -.-\x1a)\'\'7896*.*0/\'+*:353?2710233000000000000000034590001@432*+(\' +))+)+((/,-2799\x1b,*(G715I665E160\x1c0\'\'\'-\'/\x1e.0,-\'/*O129\x12/,-82480113000000000000000034570001@432&,.\':283&+)* -\')(/+)N968O7756747$+,,N336\x15/,\'C8221518\x16()/\x140\'+D9370026000000000000000034490001@432)(*\'\x15+/.\x1000.<1135190B258\x12),,\x11+\'-\'00+"0*-/+0//*/-=335\x1a/*+&)\'\'+0(,0133000000000000000034430001@432)*/-O875G725F545(+,))\'..\x1f0(0,.-0*(/)&*,\':964\x12/-,;9500916\x10+00G0530243000000000000000034390001@432*+(\'I575&0-(\x1e.//N8984840D727J695=148:519(-).0061?577H069\x19.-,N1430146000000000000000034170001@432)/0/4623\x11)\')*-+,E6929981:431:250"*./%/,)>399B672\x1b,\'\'2423\x14.(-B7130251000000000000000034130001@432+-0\'F787"\')(B652\x13,0-,,*/+),+N893&\'0)>271\x15+\'( +/\'\x1b-\'.\x11+/*\x1f*\'/\x10+\'.0011000000000000000033930001@432\',0+35717717\')(+>368H2933002\x1c++0O7920(+)0*..:800O407N247(*)().,*0191000000000000000033790001@432+(./0.0*3410>116G828\x1b0.-..-/4517!*,+\x1e*.\'\'\'*,M217L254\x17)-(L921C5150197000000000000000033630001@432&/)-*-.-+(\')E959\x10-0(\x12/)((\'(0A426K519\x16((,\x14,,(N246F0217720F954\x14++*0205000000000000000033420001@432+(./P3982823:430N2910980<418\x19.\')7239;755J461E553E946\x14.//),\')83370208000000000000000033410001@432&/)-<9694489\x19*--\x13+\'\'&).\'A8605228=148O657\x13-0)\x1b)++0030\x17/))\x13(0*N2720097000000000000000033280001@432*(,+D7859683J6208773\x1e-.) \'*0\x18+*(&(-/#0-(\x16-/)M817\x17)\'0\x1a0*\'\x18(0.=0980068000000000000000033230001@432(-(/<364\x11\'*.\x1f,-(\x19.-,@353F1172114\x14,+0<081\x12*0.E893J115\',/*\'.,-85070056000000000000000033190001@432\'\'/)K915D621\x1c+-/N342!,,\'\x16)+.\x13+0\'L258=955K734L466#/\'.=221)/-.G8510249000000000000000033180001@432(*-)3823<481E025I516C392=631J125\x1c++\'3845#.*,?218@147"(*(#),/B0550061000000000000000033140001@432)*/-\x1d.--)(/*@427\x12*,0&(+01976@7407021P1464639A399>065B916H654$\',(0097000000000000000033110001@432+-0\'!,.-N453J9473725\x12+/.A797\x15.)/3359L659\x17\'(*\'+/)O794\x10+\'/A033K8320189000000000000000031680001@432+0+-L074\x1b(*0%.+(?492F528\'/.(N139<586=881C087\x1c))/.-0-<8046882\x14-,.0221000000000000000025250001@432+0+-#,*/\x18+/-E138\x1e\'()\x150\'*\x1b(,*#../%+/(3464&.0,8195J63669855909<2860218000000000000000032290001@432+0+-0\')*\'),(1336*/*+%)*/\x19(\'(=93834263846\x1b+((@087\x13/0\'*\'+/O652\x1e\'-*0015000000000000000028430001@432+-0\'#-.*/,(-/00\'P091C510\x14)-,H321<808J547\x15)(0\x130)- \')-P585\x1d(,(C9400122000000000000000023350001@432+-0\'6801B951G096D234\x1d\')*\x17\'*-E708:947>931\x13)\'-+,,,\x10-/, )*+F574;1550113000000000000000032110001@432+-0\'>938,)-)4008\x1f-\'0\x160(-\x1c,.)>749/.0*E422\x1b+/0,++,8648\x1c--/6112\x13\'\'00019000000000000000028030001@432+-0\'A713\x1b.((+,.,1003\'.-*$+(.G554?318%\'**A427I9920352!),.%\',/\x1d**,0065000000000000000025660001@432++*+ *(0P736\x17\',(F698K075",/0**\'0\x1b+/(\x1a((/\x1c)\'+\x17(.,\x15-+-P251$,/,06920088000000000000000028700001@432++*+I983\x17\'/,\x10/+(J927%-(-9811O33324852892\x1d/*,\x14),/\x1d-0\'F245,\'\'+!.+,0198000000000000000032580001@432++*+\x11*).#,\'(4975!)0+O399\x1c*-\'H53125477213(\'//L919I4077615#),+ *.+0057000000000000000024490001@432++*+4891\x13+/.\x160\')3293L028B942>818P268/*,-F4608511(/,* \',(A194#,.,0064000000000000000032960001@432+(./.+(-\x16)//A356J147G774C1010.0-%/,/$.0)O6543618-*\'0\x19(*\'\x18))),-,)0104000000000000000028090001@432+(./$*0()*0,)\'/\'*),+L241,\'*+\x1c,,/K9350)++7449B535A529,,0*1699L7420020000000000000000025700001@432+(./#,*)I378 0,.\x1d\'0+E376\x12).(**(-\x13-/+L3656799B792,,)\'=792)...C9790121000000000000000028890001@432+(./\x13/*.6120L954>855:41006619301G819\x1d\'+*\x16(*)O0370+\'+J603\x1c+)(19460207000000000000000023930001@432*0)),\'.*)++.6773(,-\'(00)\x1c-..D176\x11-0*827894191229\x16)*)"))-,-(.\x12,,*0230000000000000000029250001@432*0))6271E195G549\x1e*+,1171\x11.-0%/0--\'\'-\x1e/\')C128/,.\'3173@798\x1e+\'-0*,(0129000000000000000026630001@432*0))\x180.+D1376093C366%,,)+*0)P193I0500105"*,)6544\x1f-*/>959\x1b(),:6660108000000000000000030840001@432*---\x17-)0\x16\',-E364\x150).\x1f./(\x1e00/63921332\x18*-*M5383121$\')-\'\'/)>759+.-\'01060000000000000000.24720001@432*---\x16)0*@174A047&\'0.\x17+0(\x1f+*)\x1d,+-\x14\'.\'K8616613O717H795L898J775;6460166000000000000000028900001@432*---@482\x18))-;382L0580301=4639736\x19//,>403\x11,,/5490N024\x11)(/4058\x10,-(0130000000000000000026160001'
Opened /home/namecoind/.namecoin/blk0001.dat
Opened /home/bitgemd/.bitgem/blk0001.dat
Exception at 72056513098678410
Failed to catch up {'blkfile_offset': 0, 'blkfile_number': 1, 'chain_id': 12, 'loader': u'blkfile', 'conf': None, 'dirname': u'/home/bitgemd/.bitgem', 'id': 446L}
Traceback (most recent call last):
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 2503, in catch_up
    store.catch_up_dir(dircfg)
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 2767, in catch_up_dir
    store.import_blkdat(dircfg, ds, blkfile['name'])
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 2889, in import_blkdat
    b = chain.ds_parse_block(ds)
  File "/home/bitcoin-abe/bitcoin-abe/Abe/Chain.py", line 90, in ds_parse_block
    d['transactions'].append(chain.ds_parse_transaction(ds))
  File "/home/bitcoin-abe/bitcoin-abe/Abe/Chain.py", line 83, in ds_parse_transaction
    return deserialize.parse_Transaction(ds)
  File "/home/bitcoin-abe/bitcoin-abe/Abe/deserialize.py", line 90, in parse_Transaction
    d['txIn'].append(parse_TxIn(vds))
  File "/home/bitcoin-abe/bitcoin-abe/Abe/deserialize.py", line 46, in parse_TxIn
    d['sequence'] = vds.read_uint32()
  File "/home/bitcoin-abe/bitcoin-abe/Abe/BCDataStream.py", line 71, in read_uint32
    def read_uint32 (self): return self._read_num('<I')
  File "/home/bitcoin-abe/bitcoin-abe/Abe/BCDataStream.py", line 110, in _read_num
    (i,) = struct.unpack_from(format, self.input, self.read_cursor)
error: unpack_from requires a buffer of at least 4 bytes


Title: Re: Can't load Bitcoin blockchain into current version of Abe
Post by: John Tobey on April 18, 2014, 01:07:55 PM
I've let the current version grind away for a week or two, only to get stuck on importing the Bitcoin blockchain.  On block 234062, it fails pretty spectacularly.  I probably shouldn't have been running this branch anyway as it doesn't handle scrypt coins, but that still doesn't explain what's going horribly wrong.  I'm running bitcoind 0.9.1 and told it to verify the entire blockchain; it came back with nothing wrong.  All this is on a freshly setup Ubuntu Server LTS 14.04 box (had been running late betas or release candidates); I'm using PostgreSQL for the database.

What follows is what Abe.py spits out when I try to have it resume.  Take particular note of the line that starts with "InvalidOperation: Invalid literal for Decimal:"

Code:
Opened /home/bitcoind/.bitcoin/blocks/blk00057.dat
Exception at 74222644
Failed to catch up {'blkfile_offset': 73974221, 'blkfile_number': 100057, 'chain_id': 1, 'loader': u'blkfile', 'conf': None, 'dirname': '/home/bitcoind/.bitcoin', 'id': Decimal('1')}
Traceback (most recent call last):
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 2503, in catch_up
    store.catch_up_dir(dircfg)
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 2767, in catch_up_dir
    store.import_blkdat(dircfg, ds, blkfile['name'])
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 2899, in import_blkdat
    store.import_block(b, chain = chain)
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 1043, in import_block
    tx['tx_id'] = store.import_and_commit_tx(tx, pos == 0, chain)
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 1852, in import_and_commit_tx
    tx_id = store.import_tx(tx, is_coinbase, chain)
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 1819, in import_tx
    txin['prevout_hash'], txin['prevout_n'])
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 2431, in lookup_txout
    (store.hashin(tx_hash), txout_pos))
  File "/home/bitcoin-abe/bitcoin-abe/Abe/DataStore.py", line 251, in selectrow
    return store._sql.selectrow(stmt, params)
  File "/home/bitcoin-abe/bitcoin-abe/Abe/SqlAbstraction.py", line 479, in selectrow
    ret = sql.cursor().fetchone()
  File "/usr/lib/python2.7/decimal.py", line 548, in __new__
    "Invalid literal for Decimal: %r" % value)
  File "/usr/lib/python2.7/decimal.py", line 3872, in _raise_error
    raise error(explanation)
InvalidOperation: Invalid literal for Decimal: 'N26...'

Yeah wow, it's a doozy!  As near as I can make out, lookup_txout is getting that 17kB string as its txout_pos argument, so import_tx must have got it in txin['prevout_n'], which it got from tx.  Since you are loading from blkfile, tx must have come from chain.ds_parse_block (DataStore.py Line 2889) and ultimately from deserialize.parse_Transaction.  That gets txin from parse_TxIn, which gets txin['prevout_n'] from BCDataStream's read_uint32 method, and ultimately from the standard struct.unpack_from function.  This whole code path is very common in Abe and must have run millions of times successfully during your load before the error.

I would really like to know whether struct.unpack_from returns a 17kB string and, if not, where my chain of reasoning fails.  If so, it seems like a serious Python bug, and I would like to create a minimal test case and report it.

Scrypt coin configuration could be patched in after the fact, so you are okay there.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: mile108 on April 29, 2014, 05:20:39 PM
If someone could make tutorial, it would be great  ::)


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: nxtar on May 21, 2014, 04:30:44 AM
I have tried all I know to get the fcgi module working under apache 2.4.7 Ubuntu 14.04

Here is my /etc/apache2/sites-available/abe.conf
Code:
<VirtualHost *:80>
        ServerName chain.distroblitz.co.in
        Alias /static/ /usr/local/lib/python2.7/dist-packages/Abe/htdocs
        Alias /robots.txt /usr/local/lib/python2.7/dist-packages/Abe/htdocs/robots.txt
        Alias /favicon.ico /usr/local/lib/python2.7/dist-packages/Abe/htdocs/favicon.ico
        Alias / /usr/lib/cgi-bin/abe.fcgi

        <Directory /usr/local/lib/python2.7/dist-packages/Abe/htdocs>
        Order allow,deny
        Allow from all
        Require all granted
        </Directory>

        <Directory /usr/lib/cgi-bin/>
        Order allow,deny
        Allow from all
        Require all granted
        </Directory>

        # Raise this if you get server errors mentioning "mod_fcgid:
        # read data timeout in 40 seconds"
        #FcgidIOTimeout 40

        # Uncomment to log Abe requests.
        ErrorLog /var/log/abe_error.log
        LogLevel info
        CustomLog /var/log/abe_access.log combined

</VirtualHost>

I have checked filesystem permissions and I am able to run the fcgi with
Code:
sudo -u www-data /usr/lib/cgi-bin/abe.fcgi
The output when run from the command line generates errors which I assume are caused by not running it with fcgi
Code:
Abe initialized.
WSGIServer: missing FastCGI param REQUEST_METHOD required by WSGI!
WSGIServer: missing FastCGI param SERVER_NAME required by WSGI!
WSGIServer: missing FastCGI param SERVER_PORT required by WSGI!
WSGIServer: missing FastCGI param SERVER_PROTOCOL required by WSGI!
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line 558, in run
    protocolStatus, appStatus = self.server.handler(self)
  File "/usr/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line 1118, in handler
    result = self.application(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/Abe/abe.py", line 191, in __call__
    if fix_path_info(env):
  File "/usr/local/lib/python2.7/dist-packages/Abe/abe.py", line 2059, in fix_path_info
    if pi[-1] != '/' and env['PATH_INFO'][-1] == '/':
IndexError: string index out of range
Content-Type: text/html

<body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#6622aa">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>&lt;type 'exceptions.IndexError'&gt;</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial">Python 2.7.6: /usr/bin/python<br>Wed May 21 00:27:41 2014</font></td></tr></table>

<p>A problem occurred in a Python script.  Here is the sequence of
function calls leading up to the error, in the order they occurred.</p>
<table width="100%" cellspacing=0 cellpadding=0 border=0>
<tr><td bgcolor="#d8bbff"><big>&nbsp;</big><a href="file:///usr/lib/python2.7/dist-packages/flup/server/fcgi_base.py">/usr/lib/python2.7/dist-packages/flup/server/fcgi_base.py</a> in <strong>run</strong>(self=&lt;flup.server.fcgi_base.CGIRequest object&gt;)</td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;&nbsp;556</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"""Runs&nbsp;the&nbsp;handler,&nbsp;flushes&nbsp;the&nbsp;streams,&nbsp;and&nbsp;ends&nbsp;the&nbsp;request."""<br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;&nbsp;557</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try:<br>
</tt></font></td></tr>
<tr><td bgcolor="#ffccee"><tt>=&gt;<small>&nbsp;&nbsp;558</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protocolStatus,&nbsp;appStatus&nbsp;=&nbsp;self.server.handler(self)<br>
</tt></td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;&nbsp;559</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;except:<br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;&nbsp;560</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;traceback.print_exc(file=self.stderr)<br>
</tt></font></td></tr>
<tr><td><small><font color="#909090">protocolStatus <em>undefined</em>, appStatus <em>undefined</em>, <strong>self</strong>&nbsp;= &lt;flup.server.fcgi_base.CGIRequest object&gt;, self.<strong>server</strong>&nbsp;= [Suspicious link removed]GIServer object&gt;, self.server.<strong>handler</strong>&nbsp;= &lt;bound method WSGIServer.handler of [Suspicious link removed]GIServer object&gt;&gt;</font></small></td></tr></table>
<table width="100%" cellspacing=0 cellpadding=0 border=0>
<tr><td bgcolor="#d8bbff"><big>&nbsp;</big><a href="file:///usr/lib/python2.7/dist-packages/flup/server/fcgi_base.py">/usr/lib/python2.7/dist-packages/flup/server/fcgi_base.py</a> in [Suspicious link removed]GIServer object&gt;, req=&lt;flup.server.fcgi_base.CGIRequest object&gt;)</td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;1116</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try:<br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;1117</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try:<br>
</tt></font></td></tr>
<tr><td bgcolor="#ffccee"><tt>=&gt;<small>&nbsp;1118</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;=&nbsp;self.application(environ,&nbsp;start_response)<br>
</tt></td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;1119</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try:<br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;1120</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;data&nbsp;in&nbsp;result:<br>
</tt></font></td></tr>
<tr><td><small><font color="#909090"><strong>result</strong>&nbsp;= None, <strong>self</strong>&nbsp;= [Suspicious link removed]GIServer object&gt;, self.<strong>application</strong>&nbsp;= &lt;__main__.Abe instance&gt;, <strong>environ</strong>&nbsp;= {'HOME': '/root', 'LANG': 'en_US.UTF-8', 'LOGNAME': 'distroblitz', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:d...*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:', 'MAIL': '/var/mail/distroblitz', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'PATH_INFO': '', 'PWD': '/home/distroblitz', 'PYTHONUNBUFFERED': '1', 'QUERY_STRING': '', ...}, <strong>start_response</strong>&nbsp;= &lt;function start_response&gt;</font></small></td></tr></table>
<table width="100%" cellspacing=0 cellpadding=0 border=0>
<tr><td bgcolor="#d8bbff"><big>&nbsp;</big><a href="file:///usr/local/lib/python2.7/dist-packages/Abe/abe.py">/usr/local/lib/python2.7/dist-packages/Abe/abe.py</a> in <strong>__call__</strong>(abe=&lt;__main__.Abe instance&gt;, env={'HOME': '/root', 'LANG': 'en_US.UTF-8', 'LOGNAME': 'distroblitz', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:d...*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:', 'MAIL': '/var/mail/distroblitz', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'PATH_INFO': '', 'PWD': '/home/distroblitz', 'PYTHONUNBUFFERED': '1', 'QUERY_STRING': '', ...}, start_response=&lt;function start_response&gt;)</td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;&nbsp;189</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;page['params']&nbsp;=&nbsp;urlparse.parse_qs(env['QUERY_STRING'])<br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;&nbsp;190</small>&nbsp;<br>
</tt></font></td></tr>
<tr><td bgcolor="#ffccee"><tt>=&gt;<small>&nbsp;&nbsp;191</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;fix_path_info(env):<br>
</tt></td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;&nbsp;192</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abe.log.debug("fixed&nbsp;path_info")<br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;&nbsp;193</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;redirect(page)<br>
</tt></font></td></tr>
<tr><td><small><font color="#909090"><em>global</em> <strong>fix_path_info</strong>&nbsp;= &lt;function fix_path_info&gt;, <strong>env</strong>&nbsp;= {'HOME': '/root', 'LANG': 'en_US.UTF-8', 'LOGNAME': 'distroblitz', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:d...*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:', 'MAIL': '/var/mail/distroblitz', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'PATH_INFO': '', 'PWD': '/home/distroblitz', 'PYTHONUNBUFFERED': '1', 'QUERY_STRING': '', ...}</font></small></td></tr></table>
<table width="100%" cellspacing=0 cellpadding=0 border=0>
<tr><td bgcolor="#d8bbff"><big>&nbsp;</big><a href="file:///usr/local/lib/python2.7/dist-packages/Abe/abe.py">/usr/local/lib/python2.7/dist-packages/Abe/abe.py</a> in <strong>fix_path_info</strong>(env={'HOME': '/root', 'LANG': 'en_US.UTF-8', 'LOGNAME': 'distroblitz', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:d...*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:', 'MAIL': '/var/mail/distroblitz', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'PATH_INFO': '', 'PWD': '/home/distroblitz', 'PYTHONUNBUFFERED': '1', 'QUERY_STRING': '', ...})</td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;2057</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pi&nbsp;=&nbsp;env['PATH_INFO']<br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;2058</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pi&nbsp;=&nbsp;posixpath.normpath(pi)<br>
</tt></font></td></tr>
<tr><td bgcolor="#ffccee"><tt>=&gt;<small>&nbsp;2059</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;pi[-1]&nbsp;!=&nbsp;'/'&nbsp;and&nbsp;env['PATH_INFO'][-1]&nbsp;==&nbsp;'/':<br>
</tt></td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;2060</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pi&nbsp;+=&nbsp;'/'<br>
</tt></font></td></tr>
<tr><td><font color="#909090"><tt>&nbsp;&nbsp;<small>&nbsp;2061</small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;pi&nbsp;==&nbsp;env['PATH_INFO']:<br>
</tt></font></td></tr>
<tr><td><small><font color="#909090"><strong>pi</strong>&nbsp;= '.', <strong>env</strong>&nbsp;= {'HOME': '/root', 'LANG': 'en_US.UTF-8', 'LOGNAME': 'distroblitz', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:d...*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:', 'MAIL': '/var/mail/distroblitz', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'PATH_INFO': '', 'PWD': '/home/distroblitz', 'PYTHONUNBUFFERED': '1', 'QUERY_STRING': '', ...}</font></small></td></tr></table><p><strong>&lt;type 'exceptions.IndexError'&gt;</strong>: string index out of range
<br><tt><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</small>&nbsp;</tt>args&nbsp;=
('string index out of range',)
<br><tt><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</small>&nbsp;</tt>message&nbsp;=
'string index out of range'


<!-- The above is a description of an error in a Python program, formatted
     for a Web browser because the 'cgitb' module was enabled.  In case you
     are not reading this in a Web browser, here is the original traceback:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line 558, in run
    protocolStatus, appStatus = self.server.handler(self)
  File "/usr/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line 1118, in handler
    result = self.application(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/Abe/abe.py", line 191, in __call__
    if fix_path_info(env):
  File "/usr/local/lib/python2.7/dist-packages/Abe/abe.py", line 2059, in fix_path_info
    if pi[-1] != '/' and env['PATH_INFO'][-1] == '/':
IndexError: string index out of range

-->

any advice is greatly appreciated


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: YarkoL on June 02, 2014, 06:15:14 PM
any advice is greatly appreciated

Add

Code:
Options +ExecCGI

to your cgi-bin directory configuration and restart apache.

Hope that helps


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: BitCoinDream on June 03, 2014, 10:14:09 AM
Can someone please point to any demo that is running on Abe ?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: xxTeDYxx on June 21, 2014, 03:26:08 PM
Hi I have a big problem three days I try to put it

Code:
root@vps74571:/home/plnc/bitcoin-abe#     python -m Abe.abe --config abe.conf --commit-bytes 100000 --no-serve
ddl_implicit_commit=true
create_table_epilogue=''
Abe/SqlAbstraction.py:468: Warning: Converting column 'a' from VARCHAR to TEXT
  sql.cursor().execute(stmt)
Abe/SqlAbstraction.py:468: Warning: Converting column 'b' from VARCHAR to TEXT
  sql.cursor().execute(stmt)
max_varchar=4294967295
No native type found for CLOB.
binary_type=binary
int_type=int
sequence_type=mysql
limit_style=native
Abe/SqlAbstraction.py:468: Warning: Converting column 'txout_scriptPubKey' from VARBINARY to BLOB
  sql.cursor().execute(stmt)
Abe/SqlAbstraction.py:468: Warning: Converting column 'txin_scriptSig' from VARBINARY to BLOB
  sql.cursor().execute(stmt)
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/plnc/bitcoin-abe/Abe/abe.py", line 2093, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/home/plnc/bitcoin-abe/Abe/abe.py", line 2087, in main
    store = make_store(args)
  File "/home/plnc/bitcoin-abe/Abe/abe.py", line 156, in make_store
    store = DataStore.new(args)
  File "Abe/DataStore.py", line 3275, in new
    return DataStore(args)
  File "Abe/DataStore.py", line 187, in __init__
    store.initialize()
  File "Abe/DataStore.py", line 841, in initialize
    chain = Chain.create(policy, **conf)
  File "Abe/Chain/__init__.py", line 21, in create
    mod = __import__(__name__ + '.' + policy, fromlist=[policy])
ImportError: No module named PLNcoin

Please HELP :<


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: bitcoinforhelp on June 21, 2014, 07:48:42 PM
nice project, thank you for doing it for bitcoin community


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: xxTeDYxx on June 23, 2014, 10:43:13 PM
Hiho =]

Where i can change name currency ? worldcoin to PLNcoin ?

http://37.187.225.10/

Please help !


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: supercointeam on June 27, 2014, 03:20:02 AM
We need block explorer or crawler for coming soon upgrade, we can donate some super. Can anyone help here?

https://bitcointalk.org/index.php?topic=618552.0 is our official topic.

The source updated for 1.3 and we need simple block crawler or explorer for v. 1.3


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: ratty on July 08, 2014, 01:21:25 AM
I'm setting up Abe for Gabencoin just for fun.
It is a scrypt coin, and I have the litecoin_scrypt module installed from https://github.com/CryptoManiac/bitcoin-abe.

When it tries to load the data it stops immediately with this error:

Code:
MerkleRootMismatch: Block header Merkle root does not match its transactions. block hash=c012dbbcf46d3fcf17e4d66292775c5e34e54df16c3c62d45af2917435080000

I don't even know what that means, does it think the data is corrupt? I tried deleting my copy of the blockchain and let it fully sync up again, then turned off the daemon, but I still get that error right away.

My config:

Code:
datadir = [{
        "dirname": "/home/gabencoin/.gabencoin",
        "chain":   "Gabencoin",
        "code3":   "GBN",
        "address_version": "\u0010" }]

In case the address_version is wrong, an example address is 7nAd9jmuvgxtzmSLJFirWCTyoYguf5mA9k and I believe that is version 10 in hex.

I'm not even sure what else to look at.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: xxTeDYxx on August 14, 2014, 06:53:33 PM
Who can install bitcoin-abe and fastcgi?
I must have it and I'll pay for the configuration!


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: xxTeDYxx on August 20, 2014, 01:19:06 PM
http://explorer.zaplnc.pl/ (http://explorer.zaplnc.pl/)

What wrong ?


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: rh1n0 on September 12, 2014, 05:46:00 PM
I am getting this error when trying to perform initial dataload for my coin, please help.

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/ubuntu/bitcoin-abe/Abe/abe.py", line 2096, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/home/ubuntu/bitcoin-abe/Abe/abe.py", line 2090, in main
    store = make_store(args)
  File "/home/ubuntu/bitcoin-abe/Abe/abe.py", line 156, in make_store
    store = DataStore.new(args)
  File "Abe/DataStore.py", line 3275, in new
    return DataStore(args)
  File "Abe/DataStore.py", line 205, in __init__
    store.init_chains()
  File "Abe/DataStore.py", line 481, in init_chains
    int(chain_decimals))
  File "Abe/Chain/__init__.py", line 21, in create
    mod = __import__(__name__ + '.' + policy, fromlist=[policy])
ImportError: No module named Apollocoin


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: YarkoL on September 12, 2014, 06:48:45 PM

ImportError: No module named Apollocoin

If you haven't defined Apollocoin chain, take a look at some
of the files in bitcoin-abe /Abe/Chain/ and write a similar python file
according to the coin specs. Note that you need to import ltc-scrypt module
if the coin is based on Litecoin. Then add your new chain to the Abe conf file.

Or just grab rpc-ace if you need something lightweight and have no need of the API
https://github.com/stolendata/rpc-ace


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: xxTeDYxx on September 16, 2014, 07:55:25 PM
I am getting this error when trying to perform initial dataload for my coin, please help.

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/ubuntu/bitcoin-abe/Abe/abe.py", line 2096, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/home/ubuntu/bitcoin-abe/Abe/abe.py", line 2090, in main
    store = make_store(args)
  File "/home/ubuntu/bitcoin-abe/Abe/abe.py", line 156, in make_store
    store = DataStore.new(args)
  File "Abe/DataStore.py", line 3275, in new
    return DataStore(args)
  File "Abe/DataStore.py", line 205, in __init__
    store.init_chains()
  File "Abe/DataStore.py", line 481, in init_chains
    int(chain_decimals))
  File "Abe/Chain/__init__.py", line 21, in create
    mod = __import__(__name__ + '.' + policy, fromlist=[policy])
ImportError: No module named Apollocoin

INstall ltc_scrypt ;)


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: menlatin on October 27, 2014, 09:44:41 PM
Maybe someone can help me?

When trying to index the blockchain for the first time with

Code:
 python -m Abe.abe --config abe-my.conf --commit-bytes 100000 --no-serve 

I get this

Code:


Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/vnc/cgi-bin/Abe/abe.py", line 2022, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/home/vnc/cgi-bin/Abe/abe.py", line 1973, in main
    args, argv = readconf.parse_argv(argv, create_conf())
  File "Abe/readconf.py", line 57, in parse_argv
    _include(set(), val, arg_dict, config_name, strict)
  File "Abe/readconf.py", line 119, in _include
    entries = read(rdr)
  File "Abe/readconf.py", line 198, in read
    js = scan_json(rdr)
  File "Abe/readconf.py", line 301, in scan_json
    return _scan_json_string(rdr)
  File "Abe/readconf.py", line 247, in _scan_json_string
    raise SyntaxError('End of file in JSON string')
  File "abe-my.conf", line 53
SyntaxError: End of file in JSON string


I'm pretty much a tard when it comes to all this and am learning as I go.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: YarkoL on October 27, 2014, 10:06:32 PM

am learning as I go.

That's great.

The troublemaker can be found at the bottom of the traceback.
It also shows you the file and line number. Compare that with
what is known to work and you'll get back on track.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: RichHans on November 11, 2014, 07:18:59 PM
Hi, we need in block explorer for WildWestCoin, who can help? Write in forum
https://bitcointalk.org/index.php?topic=607493.0 (https://bitcointalk.org/index.php?topic=607493.0)


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: Velkro on November 11, 2014, 09:38:11 PM
Kudos to you for this project, im sure this particular forum is fit for this announcement but anyway, GJ.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: CryptoCanary on August 14, 2015, 06:00:48 PM
Hi, I hope someone is still subscribed to this thread and can offer me some advise.

I am trying to change the markup on an existing and functional Abe. I just need to add some html and I found where I want to do the modifications in DEFAULT_TEMPLATE of abe.py

My question is, how do I make these changes go live? Do I need to recompile abe? I was advised by a colleague to restart the server and I did do so but, my changes are still not present in the live Abe.  ??? Of course I am being very careful to not break this already functional Abe and was hoping someone here could point me in the right direction.

I have read this and other threads, hours of googleing, digging through read me/docs and did not find the answer covered. Sorry for such a novice question and I do apologize if this is already documented somewhere. If so, I could not find it.  :(

Any help is greatly appreciated. Thanks in advance!


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: YarkoL on August 17, 2015, 07:58:43 PM

My question is, how do I make these changes go live? Do I need to recompile abe? I was advised by a colleague to restart the server and I did do so but, my changes are still not present in the live Abe.  ??? Of course I am being very careful to not break this already functional Abe and was hoping someone here could point me in the right direction.


It's been a while since I used Abe, but if memory serves -
Code:
python setup.py install
should make the changes live.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: Rumhocker on January 07, 2016, 11:20:03 PM
hello

Is there anyone how can help me setup an ABE for deutsche eMark?

Here are some eMark specs:

eMark are sha 256 coin and use POS like Peercoin
eMark use TX comment like Florincoin ( https://github.com/bitcoin-abe/bitcoin-abe/compare/master...jonnynewbs:Add-florincoin-comments (https://github.com/bitcoin-abe/bitcoin-abe/compare/master...jonnynewbs:Add-florincoin-comments) )

        chain.name = 'eMark'
        chain.code3 = 'DEM'
        chain.address_version = "\x35"
        chain.magic = "\xe4\xe8\xe9\xe5"
        chain.decimals = 6

rawtransaction for genesis_tx.py

     # eMark:
    if tx_hash_hex == "5def52f0e380a698fc529c4aa8c9810d79149a3b2d45b33bb262cb11e22cc5e9":
        return "01000000CF425852010000000000000000000000000000000000000000000000000000000000000 000FFFFFFFF1704FFFF001D020F270E446575747363686520654D61726BFFFFFFFF010000000000 000000000000000018746578743A654D61726B2067656E6573697320626C6F636B00"

I have tried https://github.com/bitcoin-abe/bitcoin-abe (https://github.com/bitcoin-abe/bitcoin-abe) and https://github.com/MatthewLM/PeercoinAbeExplorer (https://github.com/MatthewLM/PeercoinAbeExplorer) but nothing.
I work since 4 Days on that but i cannot read blockchain.
I have this error:
Opened /home/abe/.eMark/blk0001.dat
Chain 13 genesis tx: 01000000cf425852010000000000000000000000000000000000000000000000000000000000000 000ffffffff1704ffff001d020f270e446575747363686520654d61726bffffffff010000000000 0000000000000000
Exception at 201
Failed to catch up {'blkfile_offset': 0, 'blkfile_number': 1, 'chain_id': 13, 'loader': u'blkfile', 'conf': None, 'dirname': u'/home/abe/.eMark', 'id': 5L}
Traceback (most recent call last):
  File "Abe/DataStore.py", line 2543, in catch_up
    store.catch_up_dir(dircfg)
  File "Abe/DataStore.py", line 2850, in catch_up_dir
    store.import_blkdat(dircfg, ds, blkfile['name'])
  File "Abe/DataStore.py", line 2982, in import_blkdat
    store.import_block(b, chain = chain)
  File "Abe/DataStore.py", line 1088, in import_block
    raise MerkleRootMismatch(b['hash'], tx_hash_array)
MerkleRootMismatch: Block header Merkle root does not match its transactions. block hash=00000ac7a13fffb72c10f6fd9a773dcf3e8388b8ffc359cee2483b1236ebcda1

if i comment out "Verify Merkle Root then ABE read only the first 1270 blocks and then get this:
error: unpack_from requires a buffer of at least 4 bytes
i donīt know what i should do now.
Sorry for bad english  8)


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: mastertrader777 on June 02, 2016, 04:40:22 PM
Any other open source block explorers out there today?

I see these :

https://github.com/bitcoin-blockexplorer/old-blockexplorer-php

https://github.com/iquidus/explorer

https://github.com/blockcypher/explorer

Any word on those?

Cheers,

MasterTrader777


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: johan11 on June 02, 2016, 04:49:37 PM
Any other open source block explorers out there today?

I see these :

https://github.com/bitcoin-blockexplorer/old-blockexplorer-php

https://github.com/iquidus/explorer

https://github.com/blockcypher/explorer

Any word on those?

Cheers,

MasterTrader777

https://github.com/stolendata/rpc-ace/


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: mastertrader777 on June 02, 2016, 05:21:54 PM
Any other open source block explorers out there today?

I see these :

https://github.com/bitcoin-blockexplorer/old-blockexplorer-php

https://github.com/iquidus/explorer

https://github.com/blockcypher/explorer

Any word on those?

Cheers,

MasterTrader777

https://github.com/stolendata/rpc-ace/

Thank You!


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: xocel on June 28, 2016, 01:50:48 PM
Any other open source block explorers out there today?

I see these :

https://github.com/bitcoin-blockexplorer/old-blockexplorer-php

https://github.com/iquidus/explorer

https://github.com/blockcypher/explorer

Any word on those?

Cheers,

MasterTrader777

I'm the dev of iquidus exporer, i've been neglecting it a bit as of late due to workload etc, but it is used by many coins still, version 2.0 is also in the works.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: xxTeDYxx on July 01, 2016, 10:38:42 AM
Iquidus:
http://block.plncoin.org/

ABe:
http://explorer.plncoin.org/


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: SoolD on July 01, 2016, 05:32:38 PM
Iquidus:
http://block.plncoin.org/

ABe:
http://explorer.plncoin.org/

Between these two, which one is the best? thanks.


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: pjcltd on July 01, 2016, 06:11:18 PM
Iquidus:
http://block.plncoin.org/

ABe:
http://explorer.plncoin.org/

Between these two, which one is the best? thanks.

Iquidus Is a lot better

Thanks
Paul


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: xxTeDYxx on July 03, 2016, 05:35:19 AM
Iquidus:
http://block.plncoin.org/

ABe:
http://explorer.plncoin.org/

Between these two, which one is the best? thanks.

Iquidus have only latest 100 block, abe show all blocks.

IMHO - IQUIDUS ;)


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: johnjacksonbtc on July 18, 2016, 02:52:44 AM
I gave this a shot for Bitcoin blockchain and it actually works with python 2.7.12 amd64 version on Windows 7 x64. I am seeing a not updating entries, is that normal?
Code:
not updating block 93097 value_in: 220 != 218 + 1


Title: Re: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff
Post by: PremiumCodeX on July 28, 2016, 01:37:04 PM
Since your demonstration is offline as your site says, too, that you wrote in the thread, can I see it in performance before spending time on compiling it from source code? Or should I send you a private message / e-mail about it according to the text in your home page?