2.4 KiB
2.4 KiB
Upgrade Notes
From Bitcore 3.0.0 to 4.0.0
bitcore-node@2.1.1 to bitcore-node@3.0.0
This major upgrade includes changes to indexes, API methods and services. Please review below details before upgrading.
Indexes
Indexes include more information and are now also faster. Because of this a reindex will be necessary when upgrading as the address and database indexes are now a part of bitcoind with three new bitcoin.conf options:
-addressindex-timestampindex-spentindex
Configuration Options
- The
bitcoin.conffile in will need to be updated to include additional indexes (see below). - The
datadiroption is now a part ofbitcoindspawn configuration, and there is a new option to connect to multiple bitcoind processes (Please see Bitcoin Service Docs for more details). The servicesdbandaddressare now a part of thebitcoindservice. Here is how to updatebitcore-node.jsonconfiguration options:
Before:
{
"datadir": "/home/<username>/.bitcoin",
"network": "livenet",
"port": 3001,
"services": [
"address",
"bitcoind",
"db",
"web"
]
}
After:
{
"network": "livenet",
"port": 3001,
"services": [
"bitcoind",
"web"
],
"servicesConfig": {
"bitcoind": {
"spawn": {
"datadir": "/home/<username>/.bitcoin",
"exec": "/home/<username>/bitcore-node/bin/bitcoind"
}
}
}
}
It will also be necessary to update bitcoin.conf settings, to include these fields:
server=1
whitelist=127.0.0.1
txindex=1
addressindex=1
timestampindex=1
spentindex=1
zmqpubrawtx=tcp://127.0.0.1:<port>
zmqpubhashblock=tcp://127.0.0.1:<port>
rpcallowip=127.0.0.1
rpcuser=<user>
rpcpassword=<password>
Important: Once changes have been made you'll also need to add the reindex=1 option only for the first startup to regenerate the indexes. Once this is complete you should be able to remove the bitcore-node.db directory with the old indexes.
API and Service Changes
- Many API methods that were a part of the
dbandaddressservices are now a part of thebitcoindservice. Please see Bitcoin Service Docs for more details. - The
dbandaddressservices are deprecated, most of the functionality still exists. Any services that were extending indexes with thedbservice, will need to manage chain state itself, or build the indexes withinbitcoind.