Conéctese ya ejecutando bitcoind con bitcore para bitcoin explorer

Quiero crear un explorador de bitcoin usando bitcoind. Estoy usando bitcore e insight API para este propósito.

Ya estoy ejecutando bitcoind en mi sistema local. Quiero conectar este bitcoind en ejecución con bitcore y usar insight-api y UI.

este es mi archivo bitcore-node.json :

{
  "network": "testnet",
  "port": 3001,
  "services": [
    "bitcoind",
    "insight-api",
    "insight-ui",
    "web"
  ],
  "servicesConfig": {
    "bitcoind": {
      "spawn": {
        "datadir": "./",
        "exec": "/home/ajit/.nvm/versions/node/v4.8.6/lib/node_modules/bitcore/node_modules/bitcore-node/bin/bitcoind"
      }
    }
  }
}

He copiado y pegado node_moduleen bitcore-node.jsonla .bitcoincarpeta donde los bloques de bitcoin ya están descargados y actualizados.

este es mi bitcoin.conf

server=1
testnet=1
whitelist=127.0.0.1
txindex=1
addressindex=1
timestampindex=1
spentindex=1
zmqpubrawtx=tcp://127.0.0.1:28332
zmqpubhashblock=tcp://127.0.0.1:28332
rpcallowip=127.0.0.1
uacomment=bitcore

cuando ejecuto bitcore obtengo estos registros

ajit@AjitSoman:~/.bitcoin$ bitcored
    [2017-11-17T11:20:14.753Z] info: Using config: /home/ajit/.bitcoin/bitcore-node.json
    [2017-11-17T11:20:14.755Z] info: Using network: testnet
    [2017-11-17T11:20:14.756Z] info: Starting bitcoind
    [2017-11-17T11:20:14.758Z] info: Using bitcoin config file: /home/ajit/.bitcoin/bitcoin.conf
    [2017-11-17T11:20:14.763Z] info: Starting bitcoin process
    Error: Cannot obtain a lock on data directory /home/ajit/.bitcoin/testnet3. Bitcoin Core is probably already running.
    [2017-11-17T11:20:14.796Z] warn: Bitcoin process unexpectedly exited with code: 1
    [2017-11-17T11:20:14.797Z] warn: Restarting bitcoin child process in 5000ms
    [2017-11-17T11:20:14.853Z] info: Bitcoin Height: 1230668 Percentage: 100.00
    [2017-11-17T11:20:14.862Z] info: Bitcoin Daemon Ready
    [2017-11-17T11:20:14.863Z] info: Starting web
    [2017-11-17T11:20:14.890Z] info: Starting insight-api
    [2017-11-17T11:20:14.891Z] info: Starting insight-ui
    [2017-11-17T11:20:14.892Z] info: Bitcore Node ready
    [2017-11-17T11:20:15.306Z] warn: ZMQ connection delay: tcp://127.0.0.1:28332
    [2017-11-17T11:20:15.307Z] info: ZMQ connected to: tcp://127.0.0.1:28332
    [2017-11-17T11:20:19.806Z] info: Using bitcoin config file: /home/ajit/.bitcoin/bitcoin.conf
    [2017-11-17T11:20:19.807Z] info: Starting bitcoin process
    [2017-11-17T11:20:19.827Z] warn: Bitcoin process restarted
    Error: Cannot obtain a lock on data directory /home/ajit/.bitcoin/testnet3. Bitcoin Core is probably already running.
    [2017-11-17T11:20:19.848Z] warn: Bitcoin process unexpectedly exited with code: 1
    [2017-11-17T11:20:19.848Z] warn: Restarting bitcoin child process in 5000ms
    [2017-11-17T11:20:20.326Z] warn: ZMQ connection delay: tcp://127.0.0.1:28332
    [2017-11-17T11:20:20.326Z] info: ZMQ connected to: tcp://127.0.0.1:28332
    [2017-11-17T11:20:24.848Z] info: Using bitcoin config file: /home/ajit/.bitcoin/bitcoin.conf
    [2017-11-17T11:20:24.849Z] info: Starting bitcoin process
    [2017-11-17T11:20:24.860Z] warn: Bitcoin process restarted
    Error: Cannot obtain a lock on data directory /home/ajit/.bitcoin/testnet3. Bitcoin Core is probably already running.
    [2017-11-17T11:20:24.887Z] warn: Bitcoin process unexpectedly exited with code: 1
    [2017-11-17T11:20:24.887Z] warn: Restarting bitcoin child process in 5000ms
    [2017-11-17T11:20:25.359Z] warn: ZMQ connection delay: tcp://127.0.0.1:28332
    [2017-11-17T11:20:25.359Z] info: ZMQ connected to: tcp://127.0.0.1:28332
    [2017-11-17T11:20:29.887Z] info: Using bitcoin config file: /home/ajit/.bitcoin/bitcoin.conf
    [2017-11-17T11:20:29.888Z] info: Starting bitcoin process
    [2017-11-17T11:20:29.906Z] warn: Bitcoin process restarted
    Error: Cannot obtain a lock on data directory /home/ajit/.bitcoin/testnet3. Bitcoin Core is probably already running.
    [2017-11-17T11:20:29.928Z] warn: Bitcoin process unexpectedly exited with code: 1
    [2017-11-17T11:20:29.929Z] warn: Restarting bitcoin child process in 5000ms
    [2017-11-17T11:20:30.403Z] warn: ZMQ connection delay: tcp://127.0.0.1:28332
    [2017-11-17T11:20:30.403Z] info: ZMQ connected to: tcp://127.0.0.1:28332
    [2017-11-17T11:20:34.930Z] info: Using bitcoin config file: /home/ajit/.bitcoin/bitcoin.conf
    [2017-11-17T11:20:34.931Z] info: Starting bitcoin process
    [2017-11-17T11:20:34.952Z] warn: Bitcoin process restarted
    Error: Cannot obtain a lock on data directory /home/ajit/.bitcoin/testnet3. Bitcoin Core is probably already running.
    [2017-11-17T11:20:34.971Z] warn: Bitcoin process unexpectedly exited with code: 1
    [2017-11-17T11:20:34.971Z] warn: Restarting bitcoin child process in 5000ms
    [2017-11-17T11:20:35.450Z] warn: ZMQ connection delay: tcp://127.0.0.1:28332
    [2017-11-17T11:20:35.451Z] info: ZMQ connected to: tcp://127.0.0.1:28332
    [2017-11-17T11:20:39.972Z] info: Using bitcoin config file: /home/ajit/.bitcoin/bitcoin.conf
    [2017-11-17T11:20:39.974Z] info: Starting bitcoin process
    [2017-11-17T11:20:39.993Z] warn: Bitcoin process restarted
    Error: Cannot obtain a lock on data directory /home/ajit/.bitcoin/testnet3. Bitcoin Core is probably already running.
    [2017-11-17T11:20:40.008Z] warn: Bitcoin process unexpectedly exited with code: 1
    [2017-11-17T11:20:40.009Z] warn: Restarting bitcoin child process in 5000ms
    [2017-11-17T11:20:40.492Z] warn: ZMQ connection delay: tcp://127.0.0.1:28332
    [2017-11-17T11:20:40.492Z] info: ZMQ connected to: tcp://127.0.0.1:28332
    [2017-11-17T11:20:45.010Z] info: Using bitcoin config file: /home/ajit/.bitcoin/bitcoin.conf

Cuando abro insight-UI. se abre la interfaz de usuario, obtuve algunas transacciones pero no obtuve la lista de bloques y dentro de 10 segundos bitcore se detiene con este registro

[2017-11-17T11:20:50.049Z] info: Starting bitcoin process
[2017-11-17T11:20:50.065Z] warn: Bitcoin process restarted
Error: Cannot obtain a lock on data directory /home/ajit/.bitcoin/testnet3. Bitcoin Core is probably already running.
[2017-11-17T11:20:50.087Z] warn: Bitcoin process unexpectedly exited with code: 1
[2017-11-17T11:20:50.087Z] warn: Restarting bitcoin child process in 5000ms
[2017-11-17T11:20:50.140Z] error: uncaught exception: { Invalid state: Invalid length while reading varlength buffer. Expected to read: 3307054118928383 and read 74879
Error
    at new NodeError (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/errors/index.js:20:41)
    at Object.checkState (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/util/preconditions.js:9:13)
    at BufferReader.readVarLengthBuffer (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/encoding/bufferreader.js:141:5)
    at Function.Input.fromBufferReader (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/transaction/input/input.js:95:28)
    at Transaction.fromBufferReader (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/transaction/transaction.js:307:23)
    at Function._fromBufferReader (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/block/block.js:92:42)
    at Function.fromBufferReader (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/block/block.js:103:20)
    at Function.fromBuffer (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/block/block.js:112:16)
    at Function.fromString (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/block/block.js:121:16)
    at /home/ajit/.bitcoin/node_modules/bitcore-node/lib/services/bitcoind.js:1686:40
  message: 'Invalid state: Invalid length while reading varlength buffer. Expected to read: 3307054118928383 and read 74879',
  stack: 'Invalid state: Invalid length while reading varlength buffer. Expected to read: 3307054118928383 and read 74879\nError\n    at new NodeError (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/errors/index.js:20:41)\n    at Object.checkState (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/util/preconditions.js:9:13)\n    at BufferReader.readVarLengthBuffer (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/encoding/bufferreader.js:141:5)\n    at Function.Input.fromBufferReader (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/transaction/input/input.js:95:28)\n    at Transaction.fromBufferReader (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/transaction/transaction.js:307:23)\n    at Function._fromBufferReader (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/block/block.js:92:42)\n    at Function.fromBufferReader (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/block/block.js:103:20)\n    at Function.fromBuffer (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/block/block.js:112:16)\n    at Function.fromString (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/block/block.js:121:16)\n    at /home/ajit/.bitcoin/node_modules/bitcore-node/lib/services/bitcoind.js:1686:40' }
[2017-11-17T11:20:50.144Z] error: Invalid state: Invalid length while reading varlength buffer. Expected to read: 3307054118928383 and read 74879
Error
    at new NodeError (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/errors/index.js:20:41)
    at Object.checkState (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/util/preconditions.js:9:13)
    at BufferReader.readVarLengthBuffer (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/encoding/bufferreader.js:141:5)
    at Function.Input.fromBufferReader (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/transaction/input/input.js:95:28)
    at Transaction.fromBufferReader (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/transaction/transaction.js:307:23)
    at Function._fromBufferReader (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/block/block.js:92:42)
    at Function.fromBufferReader (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/block/block.js:103:20)
    at Function.fromBuffer (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/block/block.js:112:16)
    at Function.fromString (/home/ajit/.bitcoin/node_modules/bitcore-lib/lib/block/block.js:121:16)
    at /home/ajit/.bitcoin/node_modules/bitcore-node/lib/services/bitcoind.js:1686:40
[2017-11-17T11:20:50.144Z] info: Beginning shutdown
[2017-11-17T11:20:50.145Z] info: Stopping insight-ui
[2017-11-17T11:20:50.145Z] info: Stopping insight-api
[2017-11-17T11:20:50.146Z] info: Stopping web
[2017-11-17T11:20:50.146Z] info: Stopping bitcoind
[2017-11-17T11:20:50.151Z] info: ::1 "GET /insight-api/blocks?limit=5" 400 29 1.819 "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36" 
[2017-11-17T11:20:50.564Z] warn: ZMQ connection delay: tcp://127.0.0.1:28332
[2017-11-17T11:20:50.565Z] info: ZMQ connected to: tcp://127.0.0.1:28332
[2017-11-17T11:20:55.087Z] info: Using bitcoin config file: /home/ajit/.bitcoin/bitcoin.conf
[2017-11-17T11:20:55.089Z] info: Starting bitcoin process
[2017-11-17T11:20:55.096Z] error: Error: Stopping while trying to spawn bitcoind.
    at /home/ajit/.bitcoin/node_modules/bitcore-node/lib/services/bitcoind.js:905:25
    at /home/ajit/.bitcoin/node_modules/bitcore-node/node_modules/async/lib/async.js:676:51
    at /home/ajit/.bitcoin/node_modules/bitcore-node/node_modules/async/lib/async.js:726:13
    at /home/ajit/.bitcoin/node_modules/bitcore-node/node_modules/async/lib/async.js:52:16
    at /home/ajit/.bitcoin/node_modules/bitcore-node/node_modules/async/lib/async.js:264:21
    at /home/ajit/.bitcoin/node_modules/bitcore-node/node_modules/async/lib/async.js:44:16
    at /home/ajit/.bitcoin/node_modules/bitcore-node/node_modules/async/lib/async.js:723:17
    at /home/ajit/.bitcoin/node_modules/bitcore-node/node_modules/async/lib/async.js:167:37
    at /home/ajit/.bitcoin/node_modules/bitcore-node/node_modules/async/lib/async.js:652:25
    at /home/ajit/.bitcoin/node_modules/bitcore-node/lib/services/bitcoind.js:887:16
Error: Cannot obtain a lock on data directory /home/ajit/.bitcoin/testnet3. Bitcoin Core is probably already running.
[2017-11-17T11:21:05.149Z] error: Failed to stop services: Error: bitcoind process did not exit

Respuestas (2)

parece ser que hay algunos procesos de bitcoind que se han vuelto locos y están escuchando su puerto. intente ejecutar este comando para eliminar los otros procesos

killall -9 bitcoind

Bitcore ha realizado una implementación de bitcoind y la ha denominado bitcored. El hecho de que esté ejecutando bitcoind primero y luego bitcoreado, bitcore está tratando de acceder a los mismos puertos que bitcoind. Además, el archivo de bloqueo está presente en la carpeta ~/.bitcoin/testnet3/. De ahí el conflicto.

No es necesario ejecutar bitcoind.