Hi roundrobin, thanks for replying.
My coin is not PoS, it is PoW, so the error makes sense, and after all it is 'normal' it gives errors when trying to read block contents because Abe added them assigning them a wrong algorithm (SHA256D instead of Scrypt). In my case I also use blkfile and I don't set the policy in the abe.conf file, I instead created a default at the beggining of 'DataStore.py' (deleting the existing ones because I don't need them):
CHAIN_CONFIG = [
{"chain":"FirstCoin", "policy":"Sha256Chain",
"code3":"FST", "decimals":"8", "address_version":"\x00", "magic":"\xfa\xc3\xb6\xda"},
#{"chain":"",
# "code3":"", "address_version":"\x", "magic":""},
]
This way all those values (including address version and magic numbers) are inserted correctly in the 'chain' table.
Then I do:
>sudo python setup.py install
and then:
>sudo python -m Abe.abe --config abe.conf --commit-bytes 100000 --no-serve
Which loads all the blocks nicely into the DB and also all the fields I specified in DataStore-py to the 'chain' table, and then:
>sudo python -m Abe.abe --config abe.conf
Then I go the the web page, and the table with the blocks shows up, but when you click on a block the error I mentioned on my previous post occurs.
So could you ellaborate a bit more your reply? What did you change in the 'chain' table? Did you simply replaced 'Sha256Chain' to 'LtcScryptChain' in the the 'chain_policy' field of the 'chain' table? And then what should I do? I tried to simply replace that value in the 'chain' table, but didn't fix anything. I don't receive any errors when loading blocks to the database. So could please detail a bit more the process you are folllowing to get it working? This Abe thing is driving me mad, it should be a lot easier to set up a simple LTC clone.
Thanks in andvance.
Cheers!
No I replaced to Sha256Chain in chain_policy. But the way you do by making a proper entry in datastore.py works better, then you don't have to mess around with more stuff. are you sure that your "dirname" and "conf" points correctly? Did you remove old datastore.pyc before "setup.py install" so it recompiles the changed datastore instead of using the old one? Are you sure the pch_messagestart (script addr version) is correct, and the address version too? Really using $00 like bitcoin?
I set it up again by removing all precompiled files, database etc. and i did it like this:
My datastore.py entry:
{ "chain":"Somecoin", "policy":"Sha256Chain",
"code3":"SOM", "address_version":"\x12", "magic":"\x34\x56\x78\x90" },
My conf:
datadir = [{
"chain": "Somecoin",
"dirname": "/home/somecoin/.somecoin",
"conf": "somecoin.conf",
"loader": "blkfile",
"code3": "SOM"
}]
dbtype = sqlite3
connect-args = abe.sqlite
upgrade
port 8000
host 1.2.3.4
If you ahve no special needs then check out RPC ACE instead of Abe. i can't recommend it enough if you just want something very fast and easy to check so the blockchain works. None of the problems Abe comes with.
Thanks again for your replying,
dirname and conf are right, I more than triple checked them. I remove all the .pyc files I edit and also the whole abe db before retrying. Regarding to my script addr version and my address version, here is my entry in base58.h of the src of my coin:
class CBitcoinAddress : public CBase58Data
{
public:
enum
{
PUBKEY_ADDRESS = 0,
SCRIPT_ADDRESS = 5,
PUBKEY_ADDRESS_TEST = 26,
SCRIPT_ADDRESS_TEST = 196,
};
So, yes, like bitcoin, both values.
There's no policy setting in my .conf file, only dirname, chain, conf, loader (blkfile), and code3, although I thing they will be unnecessary since all of them are specified in the DataStore.py file.
But still getting the same error.
And another thing, is the 'ltc_scrypt module available from
https://github.com/CryptoManiac/bitcoin-abe' (as stated in the abe doc) functional? I have it installed, but it looks it is useless...
Any other thing you could have or be doing in a different way? My coin is a very straightforward LTC clone, so if yours is running fine, mine should also work...
Thanks roundrobin.
Cheers!