bitcoin-ruby:0.0.6 144.76.183.77:18334 broken on testnet

Post Reply
biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

bitcoin-ruby:0.0.6 144.76.183.77:18334 broken on testnet

Post by biolizard89 »

The only node on testnet that's reachable via transparent Tor is serving nVersion=1 blocks that are disallowed by the softfork we did many months ago. I guess there are more testnet miners running the old version than the new version, causing a chainfork that no one noticed? At the moment my testnet client is stuck.

Code: Select all

2016-01-28 17:13:20 Namecoin version v0.12.99.0-40b474e (2016-01-28 07:59:44 +0000)
2016-01-28 17:13:24 Using OpenSSL version OpenSSL 1.0.1k 8 Jan 2015
2016-01-28 17:13:24 Using BerkeleyDB version Berkeley DB 4.8.30: (April  9, 2010)
2016-01-28 17:13:24 Default data directory /home/user/.namecoin
2016-01-28 17:13:24 Using data directory /home/user/.namecoin/testnet
2016-01-28 17:13:24 Using config file /home/user/.namecoin/namecoin.conf
2016-01-28 17:13:24 Using at most 125 connections (65536 file descriptors available)
2016-01-28 17:13:24 Using 0 threads for script verification
2016-01-28 17:13:24 Using wallet wallet.dat
2016-01-28 17:13:24 init message: Verifying wallet...
2016-01-28 17:13:24 scheduler thread start
2016-01-28 17:13:24 CDBEnv::Open: LogDir=/home/user/.namecoin/testnet/database ErrorFile=/home/user/.namecoin/testnet/db.log
2016-01-28 17:13:25 Bound to [::]:18334
2016-01-28 17:13:25 Bound to 0.0.0.0:18334
2016-01-28 17:13:25 Cache configuration:
2016-01-28 17:13:25 * Using 2.0MiB for block index database
2016-01-28 17:13:25 * Using 32.5MiB for chain state database
2016-01-28 17:13:25 * Using 65.5MiB for in-memory UTXO set
2016-01-28 17:13:25 init message: Loading block index...
2016-01-28 17:13:25 Opening LevelDB in /home/user/.namecoin/testnet/blocks/index
2016-01-28 17:13:26 Opened LevelDB successfully
2016-01-28 17:13:26 Using obfuscation key for /home/user/.namecoin/testnet/blocks/index: 0000000000000000
2016-01-28 17:13:26 Opening LevelDB in /home/user/.namecoin/testnet/chainstate
2016-01-28 17:13:27 Opened LevelDB successfully
2016-01-28 17:13:27 Using obfuscation key for /home/user/.namecoin/testnet/chainstate: 337e87a91c3fa1a3
2016-01-28 17:13:27 LoadBlockIndexDB: last block file = 1
2016-01-28 17:13:27 LoadBlockIndexDB: last block file info: CBlockFileInfo(blocks=95154, size=124461488, heights=30846...125999, time=2014-01-23...2015-10-15)
2016-01-28 17:13:27 Checking all blk files are present...
2016-01-28 17:13:27 LoadBlockIndexDB: transaction index disabled
2016-01-28 17:13:27 LoadBlockIndexDB(): name history disabled
2016-01-28 17:13:27 LoadBlockIndexDB: hashBestChain=000000053e50c95537f621b9295b267810ebe9192a87aa7a5664888f4af063f5 height=125999 date=2015-10-15 09:34:35 progress=0.796247
2016-01-28 17:13:27 init message: Verifying blocks...
2016-01-28 17:13:27 Verifying last 288 blocks at level 3
2016-01-28 17:13:27 No coin database inconsistencies in last 289 blocks (331 transactions)
2016-01-28 17:13:27  block index            2913ms
2016-01-28 17:13:27 init message: Loading wallet...
2016-01-28 17:13:27 nFileVersion = 129900
2016-01-28 17:13:27 Keys: 101 plaintext, 0 encrypted, 101 w/ metadata, 101 total
2016-01-28 17:13:28  wallet                  204ms
2016-01-28 17:13:28 init message: Activating best chain...
2016-01-28 17:13:28 mapBlockIndex.size() = 127008
2016-01-28 17:13:28 nBestHeight = 125999
2016-01-28 17:13:28 setKeyPool.size() = 100
2016-01-28 17:13:28 mapWallet.size() = 0
2016-01-28 17:13:28 mapAddressBook.size() = 1
2016-01-28 17:13:28 init message: Loading addresses...
2016-01-28 17:13:28 torcontrol thread start
2016-01-28 17:13:28 Loaded 1 addresses from peers.dat  1ms
2016-01-28 17:13:28 init message: Loading banlist...
2016-01-28 17:13:28 ERROR: Read: Failed to open file /home/user/.namecoin/testnet/banlist.dat
2016-01-28 17:13:28 Invalid or missing banlist.dat; recreating
2016-01-28 17:13:28 tor: Requesting protocol info failed
2016-01-28 17:13:28 dnsseed thread start
2016-01-28 17:13:28 net thread start
2016-01-28 17:13:28 addcon thread start
2016-01-28 17:13:28 init message: Done loading
2016-01-28 17:13:28 opencon thread start
2016-01-28 17:13:28 msghand thread start
2016-01-28 17:13:28 GUI: Platform customization: "other"
2016-01-28 17:13:28 GUI: PaymentServer::LoadRootCAs: Loaded  169  root certificates
2016-01-28 17:13:30 receive version message: /bitcoin-ruby:0.0.6/: version 70001, blocks=129041, us=144.76.183.77:18334, peer=1
2016-01-28 17:13:32   nActualTimespan = 28359836  before bounds
2016-01-28 17:13:32 GetNextWorkRequired RETARGET
2016-01-28 17:13:32 params.nPowTargetTimespan = 1209600    nActualTimespan = 4838400
2016-01-28 17:13:32 Before: 1d0fffff  0000000fffff0000000000000000000000000000000000000000000000000000
2016-01-28 17:13:32 After:  1d0fffff  0000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffff
2016-01-28 17:13:32 ERROR: ContextualCheckBlockHeader: rejected nVersion=1 block
2016-01-28 17:13:32 ERROR: invalid header received
2016-01-28 17:13:32 ProcessMessages(headers, 162003 bytes) FAILED peer=1
2016-01-28 17:13:39 Loading addresses from DNS seeds (could take a while)
2016-01-28 17:13:40 1 addresses found from DNS seeds
2016-01-28 17:13:40 dnsseed thread exit
If that node is you, please take a look at it and see if it's broken. Right now testnet is completely unusable for me.

Also, if you're mining on testnet with an old version that mines nVersion=1 blocks, you might want to reevaluate whether your testing is actually accomplishing anything useful.

Finally, if you're able to run a testnet node, please consider doing so. The network could use some love.

And post-finally, if my problems are caused by some other thing, suggestions would be most welcome.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

domob
Posts: 1129
Joined: Mon Jun 24, 2013 11:27 am
Contact:

Re: bitcoin-ruby:0.0.6 144.76.183.77:18334 broken on testnet

Post by domob »

You can connect to 51.254.118.108, I run a testnet node there (updated). It is configured to mine a block once in a while (like every day or so), and as far as I can tell, it has the longest chain. It used to be behind a longer "old" chain, but now I don't see it complaining any more. Try to use this as -addnode.
BTC: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS
Use your Namecoin identity as OpenID: https://nameid.org/

biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: bitcoin-ruby:0.0.6 144.76.183.77:18334 broken on testnet

Post by biolizard89 »

domob wrote:You can connect to 51.254.118.108, I run a testnet node there (updated). It is configured to mine a block once in a while (like every day or so), and as far as I can tell, it has the longest chain. It used to be behind a longer "old" chain, but now I don't see it complaining any more. Try to use this as -addnode.
Is there a reason why your node doesn't seem to show up from the DNS seeds? That seems kind of odd.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

mhanne
Posts: 4
Joined: Fri May 08, 2015 4:26 pm

Re: bitcoin-ruby:0.0.6 144.76.183.77:18334 broken on testnet

Post by mhanne »

Hi, that node is me, it's the one running on webbtc.com.

I have to admit I didn't follow developments for a while and neglected to update the code - though the main namecoin chain still seems to be working okay.
It's not a mining node, so the blocks must have been created by someone else.

Could you please point me to the relevant changes in version 2 blocks? I can't seem to find it. Am I missing the obvious place where this is documented?

Thank you

cassini
Posts: 336
Joined: Sun May 26, 2013 6:36 pm

Re: bitcoin-ruby:0.0.6 144.76.183.77:18334 broken on testnet

Post by cassini »

A few pieces of information on the block version field (nVersion) of Namecoin mainnet. Not sure if everything applies to the Testnet blocks accordingly.

Bitcoin block version information: https://bitcoin.org/en/developer-refere ... k-versions
Namecoin's history of the block version is slightly different:
v1: was accepted up to block # 242312
v2: had been mined for a while in 2013 or 2014 mostly by F2pool before they switched to v3 and later to v4
v3 and v4: see viewtopic.php?f=2&t=2448

v3 blocks currently come from Slush, Ghash.io, Eligius, Bitminter and one or two very small pools.
v4 blocks are being mined by F2Pool, p2pool miners and most of the smaller pools, e.g. mmpool, myBTCcoin, multipool.us, yaamp/Nicehash.

How to obtain the nVersion field of a block:

- Namecoin Core: use getblockhash and getblock.
- namecoin.webbtc.com: Enter the block # in the search field and click "Search". Then click "[json]".

In both cases you get a JSON object that starts like this:

Code: Select all

{
  "hash": "decd9183d59d1e58a4d00b741a6e87b6d005d03dd21d1be8d75fa921efd99b5f",
  "ver": 65793,
...
The "ver" field contains the block version information. This can be one of the following:
65793 (0x10101), i.e. v1
65794 (0x10102), i.e. v2
65795 (0x10103), i.e. v3
65796 (0x10104), i.e. v4

jonasbits
Posts: 47
Joined: Tue Mar 04, 2014 4:47 pm
os: linux

Re: bitcoin-ruby:0.0.6 144.76.183.77:18334 broken on testnet

Post by jonasbits »

domob wrote:You can connect to 51.254.118.108, I run a testnet node there (updated).
just did "addnode ip onetry" on the ip you provided, it works, now webbtc namecoin and namecoin-testnet is down. I would like to help with the code if i can, but first i need to know what to change to make bitcoin-ruby act like a namecoin node :-)
My Namecoin address: NC3HGHk527xuWZBgMdGJ2GxjpRSw8D4oA6

biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: bitcoin-ruby:0.0.6 144.76.183.77:18334 broken on testnet

Post by biolizard89 »

jonasbits wrote:
domob wrote:You can connect to 51.254.118.108, I run a testnet node there (updated).
just did "addnode ip onetry" on the ip you provided, it works, now webbtc namecoin and namecoin-testnet is down. I would like to help with the code if i can, but first i need to know what to change to make bitcoin-ruby act like a namecoin node :-)
Isn't bitcoin-ruby a full-node re-implementation? I'd honestly be very skeptical of its security against reasonably competent attackers. It's just too difficult to rewrite a complex library from scratch and make sure it has exactly the same bugs as the original.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

Post Reply