Bitcore with bitcoin-abc(bitcoin cash) node error: "Waiting until BTC syncs before BCH mainnet"

Bitcore with bitcoin-abc(bitcoin cash) node error: "Waiting until BTC syncs before BCH mainnet"

系统环境

OS: Ubuntu 服务器 16.04

MongoDB 服务器:v3.4.22

Node.js:v10.16.3


我做了什么

我是 运行 一个 bitcoin-abc(比特币现金)节点。

我是 运行 一个 bitcore 节点连接到 bitcoin-abc 节点。

bitcoin-abc 节点与所有区块完全同步。它有所有最新的块。
我检查了 rpc 服务器是否工作正常。


问题

但是当我向 bitcore api 服务器查询时(例如 http://localhost:3000/api/BCH/mainnet/tx?blockHash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f),
它 returns 一个空数组 ([]).

并且在 bitcore 终端上,它不断打印以下消息:
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}


我想要的


日志和配置

  1. 这些是来自 bitcoin-abc 节点的日志。
2020-03-02T03:59:38Z Bitcoin ABC version v0.21.1-d5771bf (release build)
2020-03-02T03:59:38Z InitParameterInteraction: parameter interaction: -whitelistforcerelay=1 -> setting -whitelistrelay=1
2020-03-02T03:59:38Z Checkpoints will be verified.
2020-03-02T03:59:38Z Assuming ancestors of block 0000000000000000016cd04fd29ee905f1581f553a67530d373ba2fc662b882e have valid signatures.
2020-03-02T03:59:38Z Setting nMinimumChainWork=0000000000000000000000000000000000000000011f9d9a6b2558233caf4bf2
2020-03-02T03:59:38Z Using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation
2020-03-02T03:59:38Z Using RdSeed as additional entropy source
2020-03-02T03:59:38Z Using RdRand as an additional entropy source
2020-03-02T03:59:38Z Default data directory /home/ubuntu/.bitcoin
2020-03-02T03:59:38Z Using data directory /home/ubuntu/.bitcoin
2020-03-02T03:59:38Z Using config file /home/ubuntu/.bitcoin/bitcoin.conf
2020-03-02T03:59:38Z Using at most 125 automatic connections (1024 file descriptors available)
2020-03-02T03:59:38Z Using 32 MiB out of 32 requested for signature cache, able to store 1048576 elements
2020-03-02T03:59:38Z Using 32 MiB out of 32 requested for script execution cache, able to store 1048576 elements
2020-03-02T03:59:38Z Using 0 threads for script verification
2020-03-02T03:59:38Z No wallet support compiled in!
2020-03-02T03:59:38Z Binding RPC on address 0.0.0.0 port 51801 failed.
2020-03-02T03:59:38Z HTTP: creating work queue of depth 16
2020-03-02T03:59:38Z Config options rpcuser and rpcpassword will soon be deprecated. Locally-run instances may remove rpcuser to use cookie-based auth, or may be replaced with rpcauth. Please see share/rpcuser for rpcauth auth generation.
2020-03-02T03:59:38Z HTTP: starting 4 worker threads
2020-03-02T03:59:38Z init message: Loading banlist...
2020-03-02T03:59:38Z Cache configuration:
2020-03-02T03:59:38Z * Using 2.0MiB for block index database
2020-03-02T03:59:38Z * Using 56.0MiB for transaction index database
2020-03-02T03:59:38Z * Using 8.0MiB for chain state database
2020-03-02T03:59:38Z * Using 384.0MiB for in-memory UTXO set (plus up to 286.1MiB of unused mempool space)
2020-03-02T03:59:38Z init message: Loading block index...
2020-03-02T03:59:38Z Opening LevelDB in /home/ubuntu/.bitcoin/blocks/index
2020-03-02T03:59:38Z scheduler thread start
2020-03-02T03:59:38Z Opened LevelDB successfully
2020-03-02T03:59:38Z Using obfuscation key for /home/ubuntu/.bitcoin/blocks/index: 0000000000000000
2020-03-02T03:59:49Z LoadBlockIndexDB: last block file = 1092
2020-03-02T03:59:49Z LoadBlockIndexDB: last block file info: CBlockFileInfo(blocks=223, size=20808132, heights=624400...624622, time=2020-02-29T13:06:03Z...2020-03-02T03:57:28Z)
2020-03-02T03:59:49Z Checking all blk files are present...
2020-03-02T03:59:49Z Opening LevelDB in /home/ubuntu/.bitcoin/chainstate
2020-03-02T03:59:49Z Opened LevelDB successfully
2020-03-02T03:59:49Z Using obfuscation key for /home/ubuntu/.bitcoin/chainstate: 31f1b71842bca3d4
2020-03-02T03:59:50Z Loaded best chain: hashBestChain=000000000000000001ba55e15f85c23e03812441cf394df68f8aabcfad77e9d2 height=624622 date=2020-03-02T03:57:28Z progress=0.999998
2020-03-02T03:59:50Z init message: Verifying blocks...
2020-03-02T03:59:50Z Verifying last 6 blocks at level 3
2020-03-02T03:59:50Z [0%]...[16%]...[33%]...[50%]...[66%]...[83%]...[99%]...[DONE].
2020-03-02T03:59:50Z No coin database inconsistencies in last 6 blocks (1345 transactions)
2020-03-02T03:59:50Z  block index           12103ms
2020-03-02T03:59:50Z Opening LevelDB in /home/ubuntu/.bitcoin/indexes/txindex
2020-03-02T03:59:50Z Opened LevelDB successfully
2020-03-02T03:59:50Z Using obfuscation key for /home/ubuntu/.bitcoin/indexes/txindex: 0000000000000000
2020-03-02T03:59:50Z mapBlockIndex.size() = 624623
2020-03-02T03:59:50Z nBestHeight = 624622
2020-03-02T03:59:50Z Bound to [::]:51800
2020-03-02T03:59:50Z Bound to 0.0.0.0:51800
2020-03-02T03:59:50Z init message: Loading P2P addresses...
2020-03-02T03:59:50Z torcontrol thread start
2020-03-02T03:59:50Z txindex thread start
2020-03-02T03:59:50Z Syncing txindex with block chain from height 0
2020-03-02T03:59:50Z Imported mempool transactions from disk: 25 succeeded, 0 failed, 0 expired, 0 already there
2020-03-02T03:59:51Z Loaded 34472 addresses from peers.dat  596ms
2020-03-02T03:59:51Z init message: Starting network threads...
2020-03-02T03:59:51Z init message: Done loading
2020-03-02T03:59:51Z msghand thread start
2020-03-02T03:59:51Z opencon thread start
2020-03-02T03:59:51Z addcon thread start
2020-03-02T03:59:51Z dnsseed thread start
2020-03-02T03:59:51Z net thread start
2020-03-02T04:00:02Z Loading addresses from DNS seeds (could take a while)
2020-03-02T04:00:05Z 26 addresses found from DNS seeds
2020-03-02T04:00:05Z dnsseed thread exit
2020-03-02T04:00:09Z Leaving InitialBlockDownload (latching to false)
2020-03-02T04:00:09Z New outbound peer connected: version: 70015, blocks=624418, peer=0
2020-03-02T04:00:15Z ERROR: ContextualCheckBlockHeader: rejected by checkpoint lock-in at 556767
2020-03-02T04:00:15Z ERROR: AcceptBlockHeader: Consensus::ContextualCheckBlockHeader: 000000000000000001d956714215d96ffc00e0afda4cd0a96c96f8d802b1662b, checkpoint mismatch (code 67)
2020-03-02T04:00:15Z Misbehaving: 120.25.224.24:8333 peer=0 (0 -> 100) reason: checkpoint mismatch BAN THRESHOLD EXCEEDED
2020-03-02T04:00:15Z ERROR: invalid header received
2020-03-02T04:00:21Z Syncing txindex with block chain from height 137566
2020-03-02T04:00:27Z New outbound peer connected: version: 70015, blocks=624623, peer=8
2020-03-02T04:00:28Z UpdateTip: new best=0000000000000000004bd007c26cc4bf1ca30ccd0b73c2a21fad96364163bf77 height=624623 version=0x20000000 log2_work=88.183469 tx=285673057 date='2020-03-02T04:00:02Z' progress=1.000000 cache=0.0MiB(198txo)
2020-03-02T04:00:33Z New outbound peer connected: version: 80003, blocks=624623, peer=9
2020-03-02T04:00:52Z Syncing txindex with block chain from height 156318
2020-03-02T04:00:56Z New outbound peer connected: version: 70015, blocks=624623, peer=10
2020-03-02T04:00:57Z New outbound peer connected: version: 80003, blocks=624623, peer=11
2020-03-02T04:01:17Z New outbound peer connected: version: 80003, blocks=624623, peer=13
2020-03-02T04:01:23Z Syncing txindex with block chain from height 173617
2020-03-02T04:01:46Z New outbound peer connected: version: 70015, blocks=624623, peer=16
2020-03-02T04:01:47Z New outbound peer connected: version: 70015, blocks=620540, peer=17
2020-03-02T04:01:50Z New outbound peer connected: version: 70015, blocks=624623, peer=19
2020-03-02T04:01:52Z ERROR: ContextualCheckBlockHeader: rejected by checkpoint lock-in at 556767
2020-03-02T04:01:52Z ERROR: AcceptBlockHeader: Consensus::ContextualCheckBlockHeader: 000000000000000001d956714215d96ffc00e0afda4cd0a96c96f8d802b1662b, checkpoint mismatch (code 67)
2020-03-02T04:01:52Z Misbehaving: 52.83.43.1:8333 peer=17 (0 -> 100) reason: checkpoint mismatch BAN THRESHOLD EXCEEDED
2020-03-02T04:01:52Z ERROR: invalid header received
2020-03-02T04:01:52Z New outbound peer connected: version: 80003, blocks=624623, peer=20
2020-03-02T04:01:54Z Syncing txindex with block chain from height 180217
2020-03-02T04:02:25Z Syncing txindex with block chain from height 182851
2020-03-02T04:02:56Z Syncing txindex with block chain from height 185080
2020-03-02T04:03:27Z Syncing txindex with block chain from height 187316
2020-03-02T04:03:58Z Syncing txindex with block chain from height 190070
2020-03-02T04:04:29Z Syncing txindex with block chain from height 192529
2020-03-02T04:05:00Z Syncing txindex with block chain from height 194717
2020-03-02T04:05:31Z Syncing txindex with block chain from height 197928
2020-03-02T04:06:02Z Syncing txindex with block chain from height 201447
2020-03-02T04:06:33Z Syncing txindex with block chain from height 203922
2020-03-02T04:07:04Z Syncing txindex with block chain from height 205934
2020-03-02T04:07:35Z Syncing txindex with block chain from height 209010
2020-03-02T04:08:06Z Syncing txindex with block chain from height 211439
2020-03-02T04:08:37Z Syncing txindex with block chain from height 213373
2020-03-02T04:09:08Z Syncing txindex with block chain from height 216105
2020-03-02T04:09:39Z Syncing txindex with block chain from height 218601
2020-03-02T04:10:10Z Syncing txindex with block chain from height 221580
2020-03-02T04:10:41Z Syncing txindex with block chain from height 223821
2020-03-02T04:11:12Z Syncing txindex with block chain from height 225291
2020-03-02T04:11:43Z Syncing txindex with block chain from height 227651
2020-03-02T04:12:14Z Syncing txindex with block chain from height 229389
2020-03-02T04:12:45Z Syncing txindex with block chain from height 230966
2020-03-02T04:13:16Z Syncing txindex with block chain from height 232016
2020-03-02T04:13:47Z Syncing txindex with block chain from height 233675
2020-03-02T04:14:18Z Syncing txindex with block chain from height 235264
2020-03-02T04:14:49Z Syncing txindex with block chain from height 236604
2020-03-02T04:14:54Z UpdateTip: new best=0000000000000000006a37c379ae451146aaf2638d0005f1e24cb2b2f2d31d95 height=624624 version=0x20000000 log2_work=88.183478 tx=285673371 date='2020-03-02T04:14:05Z' progress=0.999999 cache=0.1MiB(1027txo)


  1. 这些是来自 bitcore 节点的日志。
{"message":"Starting Event Service","level":"info"}
{"message":"Starting P2P Manager","level":"info"}
{"message":"Starting BCH p2p worker","level":"info"}
(node:4034) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
{"message":"2020-03-02 13:02:34.575 GMT+9 | Connected to peer: 127.0.0.1:51800 | Chain: BCH | Network: mainnet","level":"info"}
{"message":"This worker is now the syncing node for BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Starting Event Service","level":"info"}
{"message":"Starting API Service on port 3000","level":"info"}
{"message":"Starting Socket Service","level":"info"}
{"message":"Started Socket Service","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}
{"message":"Waiting until BTC syncs before BCH mainnet","level":"info"}


  1. 这是 bitcoin.conf 文件。
whitelist=127.0.0.1
txindex=1
listen=1
server=1
upnp=1

port=51800
rpcport=51801
rpcallowip=127.0.0.1

rpcuser=nuejason
rpcpassword=thisisthebchnode


  1. 并且 rpc 服务器工作正常。
ubuntu@ubuntu:~$ ./bitcoin-cli -rpcuser=nuejason -rpcpassword=thisisthebchnode -rpcport=51801 getblockchaininfo
{
  "chain": "main",
  "blocks": 624623,
  "headers": 624623,
  "bestblockhash": "0000000000000000004bd007c26cc4bf1ca30ccd0b73c2a21fad96364163bf77",
  "difficulty": 537438239526.6805,
  "mediantime": 1583118870,
  "verificationprogress": 0.9999913748297671,
  "initialblockdownload": false,
  "chainwork": "00000000000000000000000000000000000000000122b766cc1e475b372a9678",
  "size_on_disk": 165964133991,
  "pruned": false,
  "softforks": {
    "minerfund": {
      "type": "bip9",
      "bip9": {
        "status": "started",
        "bit": 0,
        "start_time": 1573819200,
        "timeout": 1589544000,
        "since": 610848,
        "statistics": {
          "period": 2016,
          "threshold": 1344,
          "elapsed": 1680,
          "count": 3,
          "possible": false
        }
      },
      "active": false
    },
    "minerfundabc": {
      "type": "bip9",
      "bip9": {
        "status": "started",
        "bit": 1,
        "start_time": 1573819200,
        "timeout": 1589544000,
        "since": 610848,
        "statistics": {
          "period": 2016,
          "threshold": 1344,
          "elapsed": 1680,
          "count": 3,
          "possible": false
        }
      },
      "active": false
    },
    "minerfundbchd": {
      "type": "bip9",
      "bip9": {
        "status": "started",
        "bit": 2,
        "start_time": 1573819200,
        "timeout": 1589544000,
        "since": 610848,
        "statistics": {
          "period": 2016,
          "threshold": 1344,
          "elapsed": 1680,
          "count": 3,
          "possible": false
        }
      },
      "active": false
    },
    "minerfundelectroncash": {
      "type": "bip9",
      "bip9": {
        "status": "started",
        "bit": 3,
        "start_time": 1573819200,
        "timeout": 1589544000,
        "since": 610848,
        "statistics": {
          "period": 2016,
          "threshold": 1344,
          "elapsed": 1680,
          "count": 3,
          "possible": false
        }
      },
      "active": false
    }
  },
  "warnings": "This is a pre-release test build - use at your own risk - do not use for mining or merchant applications"
}


  1. 这是我的 MongoDB 状态。 blocks collection里面有0 documents正常吗?

MongdoDB screenshot

我发现我的配置出了什么问题。

bitcore.config.json 我删除了 parentChainforkHeight。现在它工作得很好。 我不确切知道这些属性是做什么用的。 我参考了这个示例模板 (bitcore.config.json)。 这就是我将这些属性放入其中的原因。

任何运行 only bitcoin-abc 节点的人都应该 Not 包含 parentChainforkHeight 属性在 bitcore.config.json.

您可以在这里找到相关答案 (https://github.com/bitpay/bitcore/issues/2742).

@Architectophile的回答是正确的。谢谢你的工作。

添加到该答案,在 bitcore.config.json 文件中,当您 运行 bitcoin nodebitcoin cash node一起。

如果您在配置中设置这些属性,bitcore 节点认为您正在 运行 连接两个节点(btc 和 bch),并且由于您设置了 BCH 的 parentChain节点作为 BTC 节点,它将等到您的 BTC 节点同步到您设置的 forkHeight 的高度。这将节省您的磁盘内存,因为两个节点将共享一些特定数量的块。

因此,如果您没有 运行 BTC 节点,bitcore 进程将永远等待,因为它会等待您的 BTC 区块达到您设置的特定高度。