Pages:
Author

Topic: [ANNOUNCE] Abe 0.7: Open Source Block Explorer Knockoff - page 48. (Read 220986 times)

hero member
Activity: 481
Merit: 529
Your address for example http://abe.john-edwin-tobey.org/address/1PWC7PNHL1SgvZaN7xEtygenKjWobWsCuf
On my side, it only shows the first two transactions

I'm curious, is it always later transactions missing?  Could you have loaded only part of the block chain?  Is the current block number (reported on the home page) at least 133634?

I'm testing a setup partly like yours.  I have Python 2.7 for Windows under Wine but with a Linux MySQL server.  I've loaded about half the transactions so far, to Block 127735, not far enough to check the missing transactions to my donation address.  I'll try loading the rest tonight.

Thanks for the report.
-John
member
Activity: 147
Merit: 11
The day to rise has come.
abe.john-edwin-tobey.org is more than accurate, for some reason my main address [in localhost] shows no history ;(

I suspect it has to do with Python's treatment of binary data on Windows.  I'll say more when I've had time to investigate.  If you can post any addresses that have this problem, that may help.

Your address for example http://abe.john-edwin-tobey.org/address/1PWC7PNHL1SgvZaN7xEtygenKjWobWsCuf
On my side, it only shows the first two transactions
hero member
Activity: 481
Merit: 529
abe.john-edwin-tobey.org is more than accurate, for some reason my main address [in localhost] shows no history ;(

I suspect it has to do with Python's treatment of binary data on Windows.  I'll say more when I've had time to investigate.  If you can post any addresses that have this problem, that may help.
member
Activity: 147
Merit: 11
The day to rise has come.
The http is working fine.

I see alot of addresses have the right balances, but mine has 0 balance lulz

You didn't say if 0 was right. Smiley Let me know if there's a difference from BlockExplorer.com or abe.john-edwin-tobey.org.

I made a big update to the readme files.  I guess next will be Deb/RPM/MSI packaging.  But no promises on that. Smiley

abe.john-edwin-tobey.org is more than accurate, for some reason my main address [in localhost] shows no history ;(
hero member
Activity: 481
Merit: 529
The http is working fine.

I see alot of addresses have the right balances, but mine has 0 balance lulz

You didn't say if 0 was right. Smiley Let me know if there's a difference from BlockExplorer.com or abe.john-edwin-tobey.org.

I made a big update to the readme files.  I guess next will be Deb/RPM/MSI packaging.  But no promises on that. Smiley
member
Activity: 147
Merit: 11
The day to rise has come.
The http is working fine.

I see alot of addresses have the right balances, but mine has 0 balance lulz
legendary
Activity: 1232
Merit: 1076
hero member
Activity: 481
Merit: 529
I uncommented default-storage-engine=INNODB and commented out skip-innodb and BAM!! It seems to be working, i am seeing block_tx 1 1 <= tons of that

Excellent!  You might want to comment default-storage-engine back out and start over, especially if you are using this MySQL instance for anything other than Abe.

Starting over is optional, but Abe currently assumes database defaults won't change after it configures itself.  You could "fix" the installation with some SQL, though.  (Do this only if changing default storage engine.)
Code:
mysql> UPDATE configvar SET configvar_value = ' ENGINE=InnoDB' WHERE configvar_name = 'create_table_epilogue' AND configvar_value = '';
Query OK, 1 row affected (0.13 sec)
Rows matched: 1  Changed: 1  Warnings: 0

I appreciate your patience and generous contribution (doubling the donations to date!)  Hope the web server works on Windows, you may be the first.  I think FastCGI mode will need fixing, but if you do plain HTTP ("port NNNN") I expect it to work.

Now I must document the skip-innodb snag...
member
Activity: 147
Merit: 11
The day to rise has come.
Thanks.  Apparently this command failed:

mysql> CREATE TABLE abe_test_1 (a NUMERIC(12)) ENGINE=InnoDB;
Server version: 5.0.51b-community-nt-log MySQL Community Edition (GPL)
Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32
MySQL_python-1.2.3-py2.7

I uncommented default-storage-engine=INNODB and commented out skip-innodb and BAM!! It seems to be working, i am seeing block_tx 1 1 <= tons of that
legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man
Watching github and following thread Wink
hero member
Activity: 481
Merit: 529
Thanks.  Apparently this command failed:

mysql> CREATE TABLE abe_test_1 (a NUMERIC(12)) ENGINE=InnoDB;

I'm curious to know if the command succeeds outside of Abe.  Can you give me MySQL, MySQL-Python, and Python version numbers?  Do you know whether your database includes InnoDB support?  I've assumed that most do, but perhaps this needs documenting.

Thanks again for the report.
member
Activity: 147
Merit: 11
The day to rise has come.
You could also try configuring MySQL with "default-storage-engine=InnoDB" and restarting it, but it should not be necessary.  Abe is supposed to detect and override this default when needed.



Code:
SQL ROLLBACK
SQL ROLLBACK
SQL: DROP TABLE abe_test_1 ()
SQL ROLLBACK
SQL DDL: CREATE TABLE abe_test_1 ( abe_test_1_id NUMERIC(12) NOT NULL PRIMARY KE
Y, foo VARCHAR(10))
SQL ROLLBACK
SQL: SELECT MAX(abe_test_1_id) FROM abe_test_1 ()
SQL FETCHALL: ((None,),)
SQL: DROP TABLE abe_test_1 ()
SQL COMMIT
ddl_implicit_commit=true
SQL: DROP TABLE abe_test_1 ()
SQL ROLLBACK
SQL DDL: CREATE TABLE abe_test_1 (a NUMERIC(12))
SQL: INSERT INTO abe_test_1 (a) VALUES (4) ()
SQL COMMIT
SQL: INSERT INTO abe_test_1 (a) VALUES (5) ()
SQL ROLLBACK
SQL: SELECT a FROM abe_test_1 ()
SQL FETCHALL: ((Decimal('4'),), (Decimal('5'),))
SQL: DROP TABLE abe_test_1 ()
SQL COMMIT
SQL: DROP TABLE abe_test_1 ()
SQL ROLLBACK
SQL DDL: CREATE TABLE abe_test_1 (a NUMERIC(12)) ENGINE=InnoDB
SQL ROLLBACK
SQL: DROP TABLE abe_test_1 ()
SQL ROLLBACK
Traceback (most recent call last):
  File "abe.py", line 1748, in
    sys.exit(main(sys.argv[1:]))
  File "abe.py", line 1742, in main
    store = make_store(args)
  File "abe.py", line 108, in make_store
    store = DataStore.new(args)
  File "C:\abe\jtobey-bitcoin-abe-v0.5-17-g9fd704b\DataStore.py", line 1929, innew
    return DataStore(args)
  File "C:\abe\jtobey-bitcoin-abe-v0.5-17-g9fd704b\DataStore.py", line 99, in __init__
    store.initialize()
  File "C:\abe\jtobey-bitcoin-abe-v0.5-17-g9fd704b\DataStore.py", line 651, in initialize
    store.configure()
  File "C:\abe\jtobey-bitcoin-abe-v0.5-17-g9fd704b\DataStore.py", line 895, in configure
    store.configure_create_table_epilogue()
  File "C:\abe\jtobey-bitcoin-abe-v0.5-17-g9fd704b\DataStore.py", line 988, in configure_create_table_epilogue
    raise Exception("Can not create a transactional table.")
Exception: Can not create a transactional table.
hero member
Activity: 481
Merit: 529
Code:
Exception: Can not create a transactional table.

Hmm, it means Abe could not get rollback working, even with "engine=InnoDB".  I do not get this error with a Abe v0.5 and a fresh database.

I am this close | | to giving up ;(

I sent a little something onto your way, awesome projects like this should get lots of support to be better and continue rocking Grin
Thanks for your kind support.  I suggest grabbing the latest (commit 9fd704b8, which supports --log-sql) and running "python abe.py --config myabe.conf --log-sql --no-serve --datadir /"  Then paste me the last 10-20 lines, if you will.

You could also try configuring MySQL with "default-storage-engine=InnoDB" and restarting it, but it should not be necessary.  Abe is supposed to detect and override this default when needed.
member
Activity: 147
Merit: 11
The day to rise has come.
Code:
# Abe configuration file for MySQL
dbtype MySQLdb
connect-args {"user":"abe","host":"127.0.0.1","db":"abe","passwd":"Bitcoin"}
port 2750
upgrade
Ok now i get this  Huh
Code:
C:\abe>python abe.py --config myabe.conf
ddl_implicit_commit=true
Traceback (most recent call last):
  File "abe.py", line 1739, in
    sys.exit(main(sys.argv[1:]))
  File "abe.py", line 1733, in main
    store = make_store(args)
  File "abe.py", line 108, in make_store
    store = DataStore.new(args)
  File "C:\abe\DataStore.py", line 1927, in new
    return DataStore(args)
  File "C:\abe\DataStore.py", line 99, in __init__
    store.initialize()
  File "C:\abe\DataStore.py", line 651, in initialize
    store.configure()
  File "C:\abe\DataStore.py", line 893, in configure
    store.configure_create_table_epilogue()
  File "C:\abe\DataStore.py", line 986, in configure_create_table_epilogue
    raise Exception("Can not create a transactional table.")
Exception: Can not create a transactional table.


I am this close | | to giving up ;(

I sent a little something onto your way, awesome projects like this should get lots of support to be better and continue rocking Grin
hero member
Activity: 481
Merit: 529
I am running this on windows btw, could that be the problem?
Code:
    super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2005, "Unknown MySQL server host ''{user:root,host:127.0.0.1,db:abe,passwd:password}'' (11004)")

Yes, the command line parser does not recognise single-quote as a delimiter.  Try "./abe.py --config myabe.conf" where myabe.conf contains the following text, adjusted for your connection parameters:

Code:
# Abe configuration file for MySQL
dbtype MySQLdb
connect-args {"user":"abe","host":"127.0.0.1","db":"abe","passwd":"Bitcoin"}
port 2750
upgrade

I appreciate the feedback.  I will summarise this discussion in documentation to make it easier for the next person.
member
Activity: 147
Merit: 11
The day to rise has come.
Then run: ./abe.py --dbtype MySQLdb --connect-args '{"user":"abe","host":"127.0.0.1","db":"abe","passwd":"Bitcoin"}' --port 2750 --upgrade

Let me know how it goes.

I am running this on windows btw, could that be the problem?
Code:
    super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2005, "Unknown MySQL server host ''{user:root,host:127.0.0.1,db:abe,passwd:password}'' (11004)")
hero member
Activity: 481
Merit: 529
I can't get this to run on mysql or even pgsql.

How do i pass the host,user,pass,db again?

mysql> create database abe;
Query OK, 1 row affected (0.03 sec)

mysql> CREATE USER abe IDENTIFIED BY 'Bitcoin';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on abe.* to abe;
Query OK, 0 rows affected (0.00 sec)

mysql>

Then run: ./abe.py --dbtype MySQLdb --connect-args '{"user":"abe","host":"127.0.0.1","db":"abe","passwd":"Bitcoin"}' --port 2750 --upgrade

Let me know how it goes.
member
Activity: 147
Merit: 11
The day to rise has come.
I can't get this to run on mysql or even pgsql.

How do i pass the host,user,pass,db again?
hero member
Activity: 481
Merit: 529
Hey, someone gave me a donation for a chart I made about coin age (pretty interesting: https://bitcointalksearch.org/topic/m.459678) using bitcoin-abe.
Happy to see someone doing interesting things.  Thanks for the donation.  Smiley
full member
Activity: 133
Merit: 100
Hi Yanz,

This error
Code:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf3' in position 0: ordinal not in range(128)
is fixed in the latest commit.  Thanks!

But I don't think it explains the "lockup".  Are you sure Abe isn't just loading data?  For SQLite the full block chain can take a week or longer.  SQLite is okay for small, experimental block chains, though even there, you could wait hours.  (Optimization of the initial data load should be a high priority enhancement.  Currently, it's slow but simple, since it uses the same mechanism as the run-time new block import, which can not be optimized the way I have in mind.)

Let me know how it goes.

Thanks John!
The error is fixed with MySQL. Yeah, I figured the "lockup" was just loading data because I ran it against a local  sqlite database and it froze on me. So I switched to MySQL and now its fixed.
Pages:
Jump to: