Pages:
Author

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

newbie
Activity: 7
Merit: 0
How does Abe handle network forks?

It chooses the longest chain by cumulative work, like the Bitcoin client.  This code could use a test suite, but it handles the 2013 fork, as far as I can tell.

Abe keeps orphan blocks and side chains and reuses them if they join the main chain.

Thanks for the info.

Another question, is it possible to set the magic address in the config and not DataStore.py? I would like to parse multiple blocks but have separate databases for them. It seems I can only do this by running separate instances of Abe.
hero member
Activity: 481
Merit: 529
Code:
Opened /home/nathan/.tekcoin/blk0001.dat
Exception at 183
Failed to catch up {'blkfile_offset': 0, 'blkfile_number': 1, 'chain_id': 8L, 'loader': None, 'dirname': u'/home/nathan/.tekcoin', 'id': 1L}
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 1756, in import_block
    raise MerkleRootMismatch(b['hash'], tx_hash_array)
MerkleRootMismatch: Block header Merkle root does not match its transactions. block hash=00000eaa8dd7e902871c444aeb415673b8244c6b7b1742ca398cefa60d87c4c1
Please see:
https://bitcointalksearch.org/topic/m.750417
full member
Activity: 155
Merit: 100
Thanks...
So I got to the ppcoin branch, and I merged...but I get a schema version error:

Code:
Exception: Can not upgrade from schema version Abe37 to Abe35

What happens when you try with a fresh database?


Code:
Opened /home/nathan/.tekcoin/blk0001.dat
Exception at 183
Failed to catch up {'blkfile_offset': 0, 'blkfile_number': 1, 'chain_id': 8L, 'loader': None, 'dirname': u'/home/nathan/.tekcoin', 'id': 1L}
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 1756, in import_block
    raise MerkleRootMismatch(b['hash'], tx_hash_array)
MerkleRootMismatch: Block header Merkle root does not match its transactions. block hash=00000eaa8dd7e902871c444aeb415673b8244c6b7b1742ca398cefa60d87c4c1
hero member
Activity: 481
Merit: 529
Thanks...
So I got to the ppcoin branch, and I merged...but I get a schema version error:

Code:
Exception: Can not upgrade from schema version Abe37 to Abe35

What happens when you try with a fresh database?
full member
Activity: 155
Merit: 100
OK, I think i found where to find the address and magic...but now i get the error

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

Code:
Opened /home/nathan/.tekcoin/blk0001.dat
Exception at 72056512226263178

The block format differs from Bitcoin's.  Please see: https://bitcointalksearch.org/topic/m.2796317


Thanks...
So I got to the ppcoin branch, and I merged...but I get a schema version error:

Code:
Exception: Can not upgrade from schema version Abe37 to Abe35
hero member
Activity: 481
Merit: 529
How does Abe handle network forks?

It chooses the longest chain by cumulative work, like the Bitcoin client.  This code could use a test suite, but it handles the 2013 fork, as far as I can tell.

Abe keeps orphan blocks and side chains and reuses them if they join the main chain.
hero member
Activity: 481
Merit: 529
OK, I think i found where to find the address and magic...but now i get the error

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

Code:
Opened /home/nathan/.tekcoin/blk0001.dat
Exception at 72056512226263178

The block format differs from Bitcoin's.  Please see: https://bitcointalksearch.org/topic/m.2796317
newbie
Activity: 7
Merit: 0
How does Abe handle network forks?
full member
Activity: 155
Merit: 100
OK, I think i found where to find the address and magic...but now i get the error

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

Code:
Opened /home/nathan/.tekcoin/blk0001.dat
Exception at 72056512226263178
Failed to catch up {'blkfile_offset': 0, 'blkfile_number': 1, 'chain_id': 11, 'loader': None, 'conf': None, 'dirname': u'/home/nathan/.tekcoin', 'id': 6L}
Traceback (most recent call last):
  File "Abe/DataStore.py", line 2692, in catch_up
    store.catch_up_dir(dircfg)
  File "Abe/DataStore.py", line 2950, in catch_up_dir
    store.import_blkdat(dircfg, ds, blkfile['name'])
  File "Abe/DataStore.py", line 3072, in import_blkdat
    b = chain.ds_parse_block(ds)
  File "Abe/Chain.py", line 59, in ds_parse_block
    d['transactions'].append(chain.ds_parse_transaction(ds))
  File "Abe/Chain.py", line 52, in ds_parse_transaction
    return deserialize.parse_Transaction(ds)
  File "Abe/deserialize.py", line 90, in parse_Transaction
    d['txIn'].append(parse_TxIn(vds))
  File "Abe/deserialize.py", line 46, in parse_TxIn
    d['sequence'] = vds.read_uint32()
  File "Abe/BCDataStream.py", line 71, in read_uint32
    def read_uint32 (self): return self._read_num('  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 4 bytes
hero member
Activity: 481
Merit: 529
Is it alright to delete the earlier transactions from the earlier blocks? I'm at block 24000+ and the MySQL table is taking up 60GB already. I would still like to keep the newer X tx though.

Please see: https://bitcointalksearch.org/topic/m.3114556


Thank you. Will the newer commits to master be merged into no-statistics? Are there any important changes since 6 months ago?

I merge changes from time to time or when people hire me to.  As far as I know, no-statistics can handle BTC "mainnet" as-is or with only small fixes from master.
newbie
Activity: 15
Merit: 0
Is it alright to delete the earlier transactions from the earlier blocks? I'm at block 24000+ and the MySQL table is taking up 60GB already. I would still like to keep the newer X tx though.

Please see: https://bitcointalksearch.org/topic/m.3114556


Thank you. Will the newer commits to master be merged into no-statistics? Are there any important changes since 6 months ago?
hero member
Activity: 481
Merit: 529
Is it alright to delete the earlier transactions from the earlier blocks? I'm at block 24000+ and the MySQL table is taking up 60GB already. I would still like to keep the newer X tx though.

Please see: https://bitcointalksearch.org/topic/m.3114556
newbie
Activity: 15
Merit: 0
Is it alright to delete the earlier transactions from the earlier blocks? I'm at block 24000+ and the MySQL table is taking up 60GB already. I would still like to keep the newer X tx though.
full member
Activity: 238
Merit: 100
I'm trying to set up an abe instance for a coin that is primarily proof-of-stake.  I see there were mods for NVC and Cash, do I need to add something similar? Any special config required for proof-of stake?

I would like to make these chain properties configurable.  In the meantime, you can do as I did for NVC and Cash.

In the read-me i noticed that the web interface doesn't understand proof of stake transactions.  Since this coin is going to be nearly all proof of stake will abe even work? 

I've removed that bit from README.  The block page now does say something about proof-of-stake, example: http://115.29.51.156:7703/chain/CashCoin/b/52705.  Thanks.


Ok great, Thanks for the reply. 
hero member
Activity: 481
Merit: 529
I'm trying to set up an abe instance for a coin that is primarily proof-of-stake.  I see there were mods for NVC and Cash, do I need to add something similar? Any special config required for proof-of stake?

I would like to make these chain properties configurable.  In the meantime, you can do as I did for NVC and Cash.

In the read-me i noticed that the web interface doesn't understand proof of stake transactions.  Since this coin is going to be nearly all proof of stake will abe even work? 

I've removed that bit from README.  The block page now does say something about proof-of-stake, example: http://115.29.51.156:7703/chain/CashCoin/b/52705.  Thanks.
full member
Activity: 238
Merit: 100
I'm trying to set up an abe instance for a coin that is primarily proof-of-stake.  I see there were mods for NVC and Cash, do I need to add something similar? Any special config required for proof-of stake?  In the read-me i noticed that the web interface doesn't understand proof of stake transactions.  Since this coin is going to be nearly all proof of stake will abe even work? 

Thanks for any advice you can give.
hero member
Activity: 481
Merit: 529
If you'd like a reply to a post in the last six months, please repost it or PM me. 

I think these posts are worth looking at:

https://bitcointalksearch.org/topic/m.3394513
https://bitcointalksearch.org/topic/m.3416641

I see 985c6346 tries to fix this.  Any problem after that commit?
sr. member
Activity: 426
Merit: 250
If you'd like a reply to a post in the last six months, please repost it or PM me. 

I think these posts are worth looking at:

https://bitcointalksearch.org/topic/m.3394513
https://bitcointalksearch.org/topic/m.3416641
hero member
Activity: 481
Merit: 529
Hi,

I am working on Crapples block explorer and get the following error upon running python -m Abe.abe --config abe.conf --commit-bytes 100000 --no-serve

Code:
Exception at 103
Failed to catch up {'blkfile_number': 1, 'dirname': u'/root/.crapples', 'chain_id': Decimal('8'), 'id': 2L, 'blkfile_offset': 0}
Traceback (most recent call last):
  File "Abe/DataStore.py", line 2422, in catch_up
    store.catch_up_dir(dircfg)
  File "Abe/DataStore.py", line 2475, in catch_up_dir
    store.import_blkdat(dircfg, ds, filename[0])
  File "Abe/DataStore.py", line 2599, in import_blkdat
    store.import_block(b, chain_ids = chain_ids)
  File "Abe/DataStore.py", line 1675, in import_block
    raise MerkleRootMismatch(b['hash'], tx_hash_array)
MerkleRootMismatch: Block header Merkle root does not match its transactions. block hash=e3328341fb132cdbd261ba75472d8e85a5db48b987bc8f13ea244fd470040000

Please see:
https://bitcointalksearch.org/topic/m.750417
member
Activity: 84
Merit: 10
Novahash Pools
Hi,

I am working on Crapples block explorer and get the following error upon running python -m Abe.abe --config abe.conf --commit-bytes 100000 --no-serve

Code:
Exception at 103
Failed to catch up {'blkfile_number': 1, 'dirname': u'/root/.crapples', 'chain_id': Decimal('8'), 'id': 2L, 'blkfile_offset': 0}
Traceback (most recent call last):
  File "Abe/DataStore.py", line 2422, in catch_up
    store.catch_up_dir(dircfg)
  File "Abe/DataStore.py", line 2475, in catch_up_dir
    store.import_blkdat(dircfg, ds, filename[0])
  File "Abe/DataStore.py", line 2599, in import_blkdat
    store.import_block(b, chain_ids = chain_ids)
  File "Abe/DataStore.py", line 1675, in import_block
    raise MerkleRootMismatch(b['hash'], tx_hash_array)
MerkleRootMismatch: Block header Merkle root does not match its transactions. block hash=e3328341fb132cdbd261ba75472d8e85a5db48b987bc8f13ea244fd470040000

my abe.conf:

Code:
dbtype MySQLdb
connect-args {"user":"root","db":"cheblockexplorer","passwd":"*****"}
port 2750
host 1.2.3.4
upgrade
datadir = [{
        "dirname": "/root/.crapples",
        "chain":   "Crapples",
        "code3":   "CHE",
        "address_version": "\u0088" }]

Could some one help please?



Pages:
Jump to: