Bitcoin Forum
April 16, 2024, 12:45:44 PM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: NovaCoin prerelease premine and other issues  (Read 4002 times)
tacotime (OP)
Legendary
*
Offline Offline

Activity: 1484
Merit: 1005



View Profile
February 14, 2013, 05:38:05 PM
Last edit: February 14, 2013, 05:49:29 PM by tacotime
 #21

Here you guys go

http://www.multiupload.nl/RPHLDYLTA9

open with sqliteman on unix

If you want to compile your own abe webserver, here are my hacks:

conf file:
Code:
datadir = [{
        "dirname": "/home/me/.novacoin",
        "chain":   "NovaCoin",
        "code3":   "NVC",
        "address_version": "\u0000" }]

datastore.py

after line 67
Code:
   {"chain":"NovaCoin",
     "code3":"NVC", "address_version":"\x37", "magic":"\xe4\xe8\xe9\xe5"},

later in the code, bypass doing hashes to make sure the merkle root is consistent (hack for litecoin/scrypt)
Code:
class InvalidBlock(Exception):
    pass
class MerkleRootMismatch(InvalidBlock):
    def __init__(ex, block_hash, tx_hashes):
        ex.block_hash = block_hash
        ex.tx_hashes = tx_hashes
    def __str__(ex):
        pass
        #return 'Block header Merkle root does not match its transactions. ' \
        #    'block hash=%s' % (ex.block_hash.encode('hex'),)

Code:
       # Verify Merkle root.
        if b['hashMerkleRoot'] != util.merkle(tx_hash_array):
            pass
            #raise MerkleRootMismatch(b['hash'], tx_hash_array)


deserialize.py

Check for nTime for all transactions, a feature that most other chains do not possess
Code:
def parse_Transaction(vds):
  d = {}
  start = vds.read_cursor
  d['version'] = vds.read_int32()
  d['nTime'] = vds.read_uint32()
  n_vin = vds.read_compact_size()
  d['txIn'] = []
  for i in xrange(n_vin):
    d['txIn'].append(parse_TxIn(vds))
  n_vout = vds.read_compact_size()
  d['txOut'] = []
  for i in xrange(n_vout):
    d['txOut'].append(parse_TxOut(vds))
  d['lockTime'] = vds.read_uint32()
  d['tx'] = vds.input[start:vds.read_cursor]
  return d
def deserialize_Transaction(d, transaction_index=None, owner_keys=None):
  result = "%d tx in, %d out\n"%(len(d['txIn']), len(d['txOut']))
  for txIn in d['txIn']:
    result += deserialize_TxIn(txIn, transaction_index) + "\n"
  for txOut in d['txOut']:
    result += deserialize_TxOut(txOut, owner_keys) + "\n"
  return result

These are kind of dirty hacks, but it runs for me

Code:
XMR: 44GBHzv6ZyQdJkjqZje6KLZ3xSyN1hBSFAnLP6EAqJtCRVzMzZmeXTC2AHKDS9aEDTRKmo6a6o9r9j86pYfhCWDkKjbtcns
"In a nutshell, the network works like a distributed timestamp server, stamping the first transaction to spend a coin. It takes advantage of the nature of information being easy to spread but hard to stifle." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1713271544
Hero Member
*
Offline Offline

Posts: 1713271544

View Profile Personal Message (Offline)

Ignore
1713271544
Reply with quote  #2

1713271544
Report to moderator
1713271544
Hero Member
*
Offline Offline

Posts: 1713271544

View Profile Personal Message (Offline)

Ignore
1713271544
Reply with quote  #2

1713271544
Report to moderator
Balthazar
Legendary
*
Offline Offline

Activity: 3108
Merit: 1358



View Profile
February 14, 2013, 06:07:48 PM
 #22

I think that you can just ask me the question.

Your answer:
Code:
80496cfa88c3cc59725b440b24b6dc4da09e31d20fa9c81c4784aac17ab9f3e0
f96e8d181df33818f5da4a5fcf5280e54fb40ffdbcbb4b40f25e91c4d6d17ca2

I can sign any your message by randomly selected input addres private key, if someone wants the proof. You can also ask btc-e support to provide signature for your text, to get a proof that they are recipients of this transactions.
laughingbear
Deflationary champion
Hero Member
*****
Offline Offline

Activity: 622
Merit: 500


www.cryptobetfair.com


View Profile WWW
February 14, 2013, 06:13:03 PM
 #23

yay, proof you paid them off... I feel much better about everything now  /sarcasm
Tomatocage
Legendary
*
Offline Offline

Activity: 1554
Merit: 1222

brb keeping up with the Kardashians


View Profile
February 14, 2013, 06:14:50 PM
 #24

Someone needs to i0coin this fork.

Recommended Exchanges: Binance.com | CelsiusNetwork
GPG ID: 4880D85C | 1% Escrow | 8% IPO/ICO Escrow services Temporarily Closed | Bitcointalk is the ONLY place where I use this name (No Skype/IRC/YIM/AIM/etc) | 13CsmTqGNwvFXb7tD9yFvJcEYCDTB8wQTS | Beware of these SCAM sites! | *Sponsored Link
dreamwatcher
Legendary
*
Offline Offline

Activity: 1064
Merit: 1000


View Profile WWW
February 14, 2013, 07:02:07 PM
 #25

Here you guys go

http://www.multiupload.nl/RPHLDYLTA9

open with sqliteman on unix

If you want to compile your own abe webserver, here are my hacks:

conf file:
Code:
datadir = [{
        "dirname": "/home/me/.novacoin",
        "chain":   "NovaCoin",
        "code3":   "NVC",
        "address_version": "\u0000" }]

datastore.py

after line 67
Code:
   {"chain":"NovaCoin",
     "code3":"NVC", "address_version":"\x37", "magic":"\xe4\xe8\xe9\xe5"},



You may run into a bit of a problem as NVC uses address version x08 (Dec: 08) instead of PPCoin's x37 (Dec: 55).

The rest my help me get NVC onto the cryptocoinexplorer site.  Thank You!!


 
marhjan
Full Member
***
Offline Offline

Activity: 215
Merit: 105


Poorer than I ought to be


View Profile
February 14, 2013, 07:08:39 PM
 #26

Someone needs to i0coin this fork.

ahhh...  the memories of I0coin...  I fell for that scam hard lol

Donations happily accepted @ 15qxNsc7pBiz5kXpAJykw4etzMbZitm2mk
dreamwatcher
Legendary
*
Offline Offline

Activity: 1064
Merit: 1000


View Profile WWW
February 14, 2013, 07:57:34 PM
 #27

Here you guys go

http://www.multiupload.nl/RPHLDYLTA9

open with sqliteman on unix

If you want to compile your own abe webserver, here are my hacks:

conf file:
Code:
datadir = [{
        "dirname": "/home/me/.novacoin",
        "chain":   "NovaCoin",
        "code3":   "NVC",
        "address_version": "\u0000" }]

datastore.py

after line 67
Code:
   {"chain":"NovaCoin",
     "code3":"NVC", "address_version":"\x37", "magic":"\xe4\xe8\xe9\xe5"},



You may run into a bit of a problem as NVC uses address version x08 (Dec: 08) instead of PPCoin's x37 (Dec: 55).

The rest my help me get NVC onto the cryptocoinexplorer site.  Thank You!!


 

Unfortunately, the database you provided reflects the same problems i have having getting ABE to work properly. Most of the "Hacks" you show, I have already done in a different form to get the PPC explorer going on Cryptocoinexplorer.com.

Namely the Block table rows block_total_satoshis all the way to the end block_ss_detroyed are null
-1   {null}   {null}   {null}   1   {null}
-1   {null}   {null}   {null}   1   {null}
-1   {null}   {null}   {null}   1   {null}
-1   {null}   {null}   {null}   1   {null}
-1   {null}   {null}   {null}   1   {null}

This will result in this error when served:
Code:
Abe initialized.
Listening on http://172.16.1.198:2750
Traceback (most recent call last):
  File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
    self.result = application(self.environ, self.start_response)
  File "abe.py", line 212, in __call__
    handler(page)
  File "abe.py", line 310, in handle_chains
    100.0 - (100.0 * (ss + more) / (total_ss + more)))
ZeroDivisionError: float division by zero
172.16.1.199 - - [14/Feb/2013 13:48:17] "GET / HTTP/1.1" 500 59
172.16.1.199 - - [14/Feb/2013 13:48:27] "GET /favicon.ico HTTP/1.1" 200 159362

Block hashes are incorrect when compared to daemon output, but the merkle roots match Huh?? Cheesy

Anyway, I will continue to work on adding NVC to the explorer, that is unless nethead beats me to it...  Smiley

tacotime (OP)
Legendary
*
Offline Offline

Activity: 1484
Merit: 1005



View Profile
February 14, 2013, 09:01:12 PM
 #28

Right, it reflects the difficulty in reading the blocks byte-to-byte as is I believe.  When you build the sql database it even tells you that it's truncating the data at the end.  It's not checking the merkle roots at all so of course everything checks out.  As far as I know Abe only computes the SHA256 hashes.  See:

datastore.py
Code:
           hash = util.double_sha256(
                ds.input[ds.read_cursor : ds.read_cursor + 80])

In order to verify all transactions belonging to the root you need to add a python scrypt implementation to calculate the hash here.  You can find that here: http://pypi.python.org/pypi/scrypt/0.5.4

Additionally if the hashes are of the full data in the tx you'll need to adjust the length of the data it reads between each hash, as there's extra data (nTime) in the PPC/NVC hashes

Code:
XMR: 44GBHzv6ZyQdJkjqZje6KLZ3xSyN1hBSFAnLP6EAqJtCRVzMzZmeXTC2AHKDS9aEDTRKmo6a6o9r9j86pYfhCWDkKjbtcns
Vitalicus
Full Member
***
Offline Offline

Activity: 467
Merit: 100


DIA | Data infrastructure for DeFi


View Profile
February 14, 2013, 09:49:13 PM
 #29

Sunny King, you accept this rival of PPC ?

Sunny King
Legendary
*
Offline Offline

Activity: 1205
Merit: 1010



View Profile WWW
February 14, 2013, 10:21:21 PM
 #30

Sunny King, you accept this rival of PPC ?

I can only interpret that by choosing to fork from ppcoin Balthazar thinks the design has merits. Other than that I have no relation to novacoin and its developers, nor did they ever communicate with me about the project privately.

While I am also critical of the release management of novacoin, but if Balthazar can sustain the project and not intend to scam people then I do welcome new competition. When ppcoin was released I said it had 'same license term as Bitcoin to help advancing cryptocurrency technology', yeah even though novacoin hasn't really invented anything new but still I don't mind anybody forking ppcoin project and do whatever they want. Yes forks from ppcoin are preferred over forks of bitcoin to me Wink Although please don't take my position as if I approve of these forks and always be aware of the risks involved.
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!