Skip to content

New package.json dependencies (slpjs & grpc-bchrpc-node versions deprecated, & bitbox-sdk, bitcore-lib-cash, etc updates) #91

@TinosNitso

Description

@TinosNitso

Please update the package.json! After a lot of trial & error I've deduced a package.json (package.json - improved version below) which successfully updates many dependencies (as many as possible, as much as easily possible). I've never opened a pull request before - I might try. NB: overall package version isn't really 1.0.0. 😉

I've tested (& am using) a fresh install of the package & it works but we must force the update, because some dependencies' dependencies clash & cause npm warnings.
npm install --force

Line 30 assumes nodejs v16. Lines 29 & 50 work well with mongod v6.

Is an update worth the effort? 24 hrs continuous testing is needed to be confident there won't be any timeouts, etc, but after at least a few hours it's looking faster than just a nodejs update. The following lines are worthy of note:

"bitbox-sdk": "8.10.1", from 8.2.1
"bitcore-lib-cash": "8.25.36", from 8.22.2
"grpc-bchrpc-node": "^0.15.2", from ^0.10.2 (deprecated)
"mingo": "6.1.0", from ^2.5.3
"node-jq": "2.3.3", from 1.6.0
"slpjs": "^0.27.11", from ^0.27.8 (deprecated)
"ts-node": "10.9.1", from ^7.0.1

It seems like any one of these lines could impact the speed of the mono-threaded slpdb app. Even a 2% total speed increase could mean a whole day's work, to sync a new instance.

I went through each & every dependency the best I could, except for migrate-mongo & devDependencies. For them I didn't dare break the carrot ^ because that would require way more testing.

The exact numbers I've chosen are as follows. Each one is like a long story. I've introduced bigi & bip39 for bitbox-sdk to work. However v8.11 wouldn't work so I went with v8.10.1. I'd guess the most important to get right are mongodb, @types/mongodb, slpjs & maybe grpc-bchrpc-node - the latter two for speed.

  "dependencies": {
    "@types/bigi": "1.4.2",
    "@types/bip39": "^2.4.2",
    "@types/ip": "^1.1.0",
    "@types/js-yaml": "^3.12.5",
    "@types/mongodb": "^3.6.20",
    "@types/node": "16.11.7",
    "@types/p-queue": "3.1.0",
    "@types/zeromq": "5.2.1",
    "bcash": "^1.1.1",
    "bigi": "1.4.2",
    "bignumber.js": "~9.0.0",
    "bip39": "^2.6.0",
    "bitbox-sdk": "~8.10.1",
    "bitcoin-rpc-promise-retry": "^1.3.0",
    "bitcore-lib-cash": "^8.25.36",
    "bufio": "^1.0.7",
    "cashaddrjs-slp": "^0.2.12",
    "dotenv": "16.0.1",
    "fountainhead-core": "^0.0.12",
    "grpc-bchrpc-node": "^0.15.2",
    "iconv-lite": "^0.6.3",
    "ip": "^1.1.8",
    "js-yaml": "4.1.0",
    "level": "^7.0.1",
    "migrate-mongo": "^5.0.1",
    "mingo": "6.1.0",
    "mongodb": "^3.7.3",
    "node-jq": "2.3.3",
    "os-utils": "0.0.14",
    "p-limit": "4.0.0",
    "p-queue": "3.1.0",
    "slpjs": "^0.27.11",
    "synchronized-promise": "0.3.1",
    "traverse": "^0.6.6",
    "ts-node": "10.9.1",
    "typescript": "^3.9.10",
    "zeromq": "^5.2.8"
  },
  "devDependencies": {
    "@types/mocha": "^5.2.7",
    "eslint": "^5.16.0",
    "mocha": "^7.2.0",
    "mocha-steps": "^1.3.0",
    "source-map-support": "^0.5.21"
  }

I've added a few (optional) carrots here compared to the attachment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions