Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error: uncaught exception: Error: Non-base58 character (bitcoin cash (BCH)) #585

Open
zhousi666 opened this issue Jun 12, 2018 · 1 comment

Comments

@zhousi666
Copy link

I deploy bitcoin-cash-node  server using bitcore and bitcoin-abc,and I have some question, I need some help.

//bitcore: [email protected]
//bitcoin-abc: https://download.bitcoinabc.org/0.17.2/linux/bitcoin-abc-0.17.2-i686-pc-linux-gnu.tar.gz

first, my deployment process as follows:

  1. my operating system is centos:centos7, I did the following preparations:
    yum install -y epel-release
    yum install -y zeromq-devel gcc gcc-c++ automake autoconf libtool make git wget
    wget https://nodejs.org/download/release/latest-v8.x/node-v8.11.2-linux-x64.tar.gz /root
    cd /root
    tar --strip-components 1 -xzvf node-v* -C /usr/local
  1. install bitcore and create bitcoin-cash-node
    npm i npm@latest -g
    npm install -g --unsafe-perm [email protected]
    bitcore create bitcoin-cash-node
    cd /root/bitcoin-cash-node
    bitcore install insight-api insight-ui
  1. download the bitcoin-abc, let the bitcoind point to bitcoin-abc/bin/bitcoind
    cd/usr/local/lib/node_modules/bitcore/node_modules/bitcore-node/bin
    wget https://download.bitcoinabc.org/0.17.2/linux/bitcoin-abc-0.17.2-x86_64-linux-gnu.tar.gz  ./
    tar -xzf bitcoin-abc-0.17.2-x86_64-linux-gnu.tar.gz
    ln -sf bitcoin-abc-0.17.2/bin/bitcoind bitcoind
  1. run the bitcore
    cd /root/bitcoin-cash-node
    bitcore start

bitcore-node.json:

    {
      "network": "livenet",
      "port": 3001,
      "services": [
        "bitcoind",
        "web"
      ],
      "servicesConfig": {
        "bitcoind": {
          "spawn": {
            "datadir": "/root/data/live.bitcoin.cash.node",
            "exec": "/usr/local/lib/node_modules/bitcore/node_modules/bitcore-node/bin/bitcoind"
          }
        }
      }
    }

debug.log

2018-06-08 07:30:51 Bitcoin ABC version v0.17.2.0-4fd0b1b
2018-06-08 07:30:51 InitParameterInteraction: parameter interaction: -whitelistforcerelay=1 -> setting -whitelistrelay=1
2018-06-08 07:30:51 Assuming ancestors of block 000000000000000000e45ad2fbcc5ff3e85f0868dd8f00ad4e92dffabe28f8d2 have valid signatures.
2018-06-08 07:30:51 Setting nMinimumChainWork=000000000000000000000000000000000000000000a0f3064330647e2f6c4828
2018-06-08 07:30:51 Using the 'sse4' SHA256 implementation
2018-06-08 07:30:51 Default data directory /root/.bitcoin
2018-06-08 07:30:51 Using data directory /root/data/live.bitcoin.cash.node
2018-06-08 07:30:51 Using config file /root/data/live.bitcoin.cash.node/bitcoin.conf
2018-06-08 07:30:51 Using at most 125 automatic connections (1048576 file descriptors available)
2018-06-08 07:30:51 Using 32 MiB out of 32 requested for signature cache, able to store 1048576 elements
2018-06-08 07:30:51 Using 32 MiB out of 32 requested for script execution cache, able to store 1048576 elements
2018-06-08 07:30:51 Using 12 threads for script verification
2018-06-08 07:30:51 scheduler thread start
2018-06-08 07:30:52 Binding RPC on address 0.0.0.0 port 8332 failed.
2018-06-08 07:30:52 HTTP: creating work queue of depth 16
2018-06-08 07:30:52 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.
2018-06-08 07:30:52 HTTP: starting 4 worker threads
2018-06-08 07:30:52 init message: Verifying wallet(s)...
2018-06-08 07:30:52 Using BerkeleyDB version Berkeley DB 5.3.28: (September  9, 2013)
2018-06-08 07:30:52 Using wallet wallet.dat
2018-06-08 07:30:52 CDBEnv::Open: LogDir=/root/data/live.bitcoin.cash.node/database ErrorFile=/root/data/live.bitcoin.cash.node/db.log
2018-06-08 07:30:52 Bound to [::]:8333
2018-06-08 07:30:52 Bound to 0.0.0.0:8333
2018-06-08 07:30:52 Cache configuration:
2018-06-08 07:30:52 * Using 56.2MiB for block index database
2018-06-08 07:30:52 * Using 8.0MiB for chain state database
2018-06-08 07:30:52 * Using 385.8MiB for in-memory UTXO set (plus up to 286.1MiB of unused mempool space)
2018-06-08 07:30:52 init message: Loading block index...
2018-06-08 07:30:52 Opening LevelDB in /root/data/live.bitcoin.cash.node/blocks/index
2018-06-08 07:30:52 Opened LevelDB successfully
2018-06-08 07:30:52 Using obfuscation key for /root/data/live.bitcoin.cash.node/blocks/index: 0000000000000000
2018-06-08 07:30:52 Opening LevelDB in /root/data/live.bitcoin.cash.node/chainstate
2018-06-08 07:30:52 Opened LevelDB successfully
2018-06-08 07:30:52 Using obfuscation key for /root/data/live.bitcoin.cash.node/chainstate: a6180703dbbc65c8
2018-06-08 07:30:52 Upgrading utxo-set database...
2018-06-08 07:30:52 [0%]...[10%]...[20%]...[30%]...[40%]...[50%]...[60%]...[70%]...[80%]...[90%]...[100%]...[DONE].
2018-06-08 07:31:17 LoadBlockIndexDB: last block file = 2
2018-06-08 07:31:17 LoadBlockIndexDB: last block file info: CBlockFileInfo(blocks=4752, size=112031878, heights=130618...136003, time=2011-06-13...2011-07-13)
2018-06-08 07:31:17 Checking all blk files are present...
2018-06-08 07:31:17 LoadBlockIndexDB: transaction index enabled
2018-06-08 07:31:17 Initializing databases...
2018-06-08 07:31:17 Loaded best chain: hashBestChain=00000000000006d50e5d70eb52febdb7cc8f832f0e679b662ba6e895c0d35240 height=135872 date=2011-07-12 07:42:11 progress=0.003795

second, my problem description as follows:

When I run the bitcore service, the synchronization of the service block is very normal, but when I request the transaction data of the block through the insight, the service will be wrong, but the service will restart automatically. I am puzzled, I do not know where is wrong, who can help me ? and gave me a deploy documents. thank you。

ERROR:

[2018-06-08T08:49:58.011Z] info: ::ffff:172.31.3.190 web socket subscribe: sync
[2018-06-08T08:49:58.012Z] info: ::ffff:172.31.3.190 "GET /insight-api/sync" 200 117 37.913 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36" 
[2018-06-08T08:49:58.098Z] info: ::ffff:172.31.3.190 "GET /insight-api/status?q=getInfo" 200 207 90.614 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36" 
[2018-06-08T08:49:59.680Z] info: ::ffff:172.31.3.190 "GET /insight-api/peer" 304 - 0.394 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36" 
[2018-06-08T08:49:59.681Z] info: ::ffff:172.31.3.190 web socket subscribe: sync
[2018-06-08T08:49:59.993Z] info: ::ffff:172.31.3.190 "GET /insight-api/block/0000000000000000003b421398b983ff7b7cdb49f07b799dcf28e6026e118971" 304 - 407.354 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36" 
[2018-06-08T08:50:00.319Z] error: uncaught exception: Error: Non-base58 character
    at Object.decode (/root/bitcore-cash-node/node_modules/bitcore-lib/node_modules/bs58/lib/bs58.js:51:37)
    at Function.Base58.decode (/root/bitcore-cash-node/node_modules/bitcore-lib/lib/encoding/base58.js:48:26)
    at Function.Base58Check.decode (/root/bitcore-cash-node/node_modules/bitcore-lib/lib/encoding/base58check.js:45:31)
    at Function.Address._transformString (/root/bitcore-cash-node/node_modules/bitcore-lib/lib/address.js:279:35)
    at Address._classifyArguments (/root/bitcore-cash-node/node_modules/bitcore-lib/lib/address.js:107:20)
    at new Address (/root/bitcore-cash-node/node_modules/bitcore-lib/lib/address.js:73:19)
    at Object.Address (/root/bitcore-cash-node/node_modules/bitcore-lib/lib/address.js:51:12)
    at TxController.transformOutput (/root/bitcore-cash-node/node_modules/insight-api/lib/transactions.js:153:27)
    at Array.map (<anonymous>)
    at TxController.transformTransaction (/root/bitcore-cash-node/node_modules/insight-api/lib/transactions.js:77:42)
[2018-06-08T08:50:00.324Z] error: Error: Non-base58 character
    at Object.decode (/root/bitcore-cash-node/node_modules/bitcore-lib/node_modules/bs58/lib/bs58.js:51:37)
    at Function.Base58.decode (/root/bitcore-cash-node/node_modules/bitcore-lib/lib/encoding/base58.js:48:26)
    at Function.Base58Check.decode (/root/bitcore-cash-node/node_modules/bitcore-lib/lib/encoding/base58check.js:45:31)
    at Function.Address._transformString (/root/bitcore-cash-node/node_modules/bitcore-lib/lib/address.js:279:35)
    at Address._classifyArguments (/root/bitcore-cash-node/node_modules/bitcore-lib/lib/address.js:107:20)
    at new Address (/root/bitcore-cash-node/node_modules/bitcore-lib/lib/address.js:73:19)
    at Object.Address (/root/bitcore-cash-node/node_modules/bitcore-lib/lib/address.js:51:12)
    at TxController.transformOutput (/root/bitcore-cash-node/node_modules/insight-api/lib/transactions.js:153:27)
    at Array.map (<anonymous>)
    at TxController.transformTransaction (/root/bitcore-cash-node/node_modules/insight-api/lib/transactions.js:77:42)
[2018-06-08T08:50:00.325Z] info: Beginning shutdown
[2018-06-08T08:50:00.329Z] info: Stopping insight-ui
[2018-06-08T08:50:00.330Z] info: Stopping insight-api
[2018-06-08T08:50:00.330Z] info: Stopping web
[2018-06-08T08:50:00.331Z] info: Stopping bitcoind
[2018-06-08T08:50:01.702Z] error: RPCError: Bitcoin JSON-RPC: Request Error: connect ECONNREFUSED 127.0.0.1:8332
    at Bitcoin._wrapRPCError (/root/bitcore-cash-node/node_modules/bitcore-node/lib/services/bitcoind.js:449:13)
    at /root/bitcore-cash-node/node_modules/bitcore-node/lib/services/bitcoind.js:1684:30
    at ClientRequest.<anonymous> (/root/bitcore-cash-node/node_modules/bitcoind-rpc/lib/index.js:116:7)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at Socket.socketErrorListener (_http_client.js:387:9)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at emitErrorNT (internal/streams/destroy.js:64:8)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
[2018-06-08T08:50:01.703Z] info: ::ffff:172.31.3.190 "GET /insight-api/block/00000000000000001785f8c5f4aab2a0dd286acc0a46e936af977e62862b4298" 503 68 26.284 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36" 
[2018-06-08T08:50:01.704Z] info: ::ffff:172.31.3.190 "GET /insight-api/peer" 304 - 0.244 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36" 
[2018-06-08T08:50:01.704Z] info: ::ffff:172.31.3.190 web socket subscribe: sync
[2018-06-08T08:50:01.716Z] info: ::ffff:172.31.3.190 web socket subscribe: inv
[2018-06-08T08:50:01.746Z] error: RPCError: Bitcoin JSON-RPC: Request Error: connect ECONNREFUSED 127.0.0.1:8332
    at Bitcoin._wrapRPCError (/root/bitcore-cash-node/node_modules/bitcore-node/lib/services/bitcoind.js:449:13)
    at /root/bitcore-cash-node/node_modules/bitcore-node/lib/services/bitcoind.js:1711:28
    at ClientRequest.<anonymous> (/root/bitcore-cash-node/node_modules/bitcoind-rpc/lib/index.js:116:7)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at Socket.socketErrorListener (_http_client.js:387:9)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at emitErrorNT (internal/streams/destroy.js:64:8)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
[2018-06-08T08:50:01.747Z] info: ::ffff:172.31.3.190 "GET /insight-api/blocks?limit=5" 503 68 0.948 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36" 
[2018-06-08T08:50:01.766Z] info: ::ffff:172.31.3.190 "GET /insight-api/peer" 304 - 0.186 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36" 
[2018-06-08T08:50:01.783Z] info: ::ffff:172.31.3.190 web socket subscribe: sync
[2018-06-08T08:50:08.839Z] warn: ZMQ disconnect: tcp://127.0.0.1:28332


@osagga
Copy link

osagga commented Jul 13, 2018

So you get this error because the default bitcore-node can't understand the new BCH address format.

As of now, there's no official way (from bitpay) to make bitcore-node (v3, v5) work with BCH addresses (unless you want to use v8, which works with BCH but uses a different API endpoints), so one way to fix this, is to force bitcoin-abc to use legacy addresses, you can do that by setting usecashaddr=0 in your bitcoin.conf file. Keep in mind that bitcore-node v3 uses a modified version of bitcoind that supports some additional RPC commands
(so you also need a modified version of bitcoin-abc to make it work, check this guide for more info).

If you want to use BCH (with new BCH addresses) consider checking out this fork that I made, you can find a guide on how to setup bitcore-node v3 with BCH, as well as a modified version of bitcore-node v5 that supports BCH (with the new addressees)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants