• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

Dashmate (discussion)

On testnet, Dashmate Status shows Platform Block Height as 0, even though everything seems to be running correctly.
https://platform-explorer.com/blocks shows over 3000 blocks. Do I have something configured wrong or is it normal for that to report 0 blocks?
I'm sorry, testnet is getting wiped too often and there were misunderstandings whether network is up or halted, so dashmate still on previous genesis. I will update this tomorrow as well

I have updated Platform Explorer yesterday manually by the ask of the QE, but dashmate needs another release
 
@pshenmic

Some weird things with Dashmate today.

I tried to update Dashmate from v0.25.13 to 0.25.15 (latest version), so i started with a simple

dashmate stop
npm update -g dashmate

I got the following errors :

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '[email protected]',
npm WARN EBADENGINE required: { node: '>=18' },
npm WARN EBADENGINE current: { node: 'v16.20.1', npm: '9.8.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@yarnpkg/[email protected]',
npm WARN EBADENGINE required: { node: '>=18.12.0' },
npm WARN EBADENGINE current: { node: 'v16.20.1', npm: '9.8.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@yarnpkg/[email protected]',
npm WARN EBADENGINE required: { node: '>=18.12.0' },
npm WARN EBADENGINE current: { node: 'v16.20.1', npm: '9.8.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@yarnpkg/[email protected]',
npm WARN EBADENGINE required: { node: '>=18.12.0' },
npm WARN EBADENGINE current: { node: 'v16.20.1', npm: '9.8.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@yarnpkg/[email protected]',
npm WARN EBADENGINE required: { node: '>=18.12.0' },
npm WARN EBADENGINE current: { node: 'v16.20.1', npm: '9.8.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@yarnpkg/[email protected]',
npm WARN EBADENGINE required: { node: '>=18.12.0' },
npm WARN EBADENGINE current: { node: 'v16.20.1', npm: '9.8.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@yarnpkg/[email protected]',
npm WARN EBADENGINE required: { node: '>=18.12.0' },
npm WARN EBADENGINE current: { node: 'v16.20.1', npm: '9.8.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@yarnpkg/[email protected]',
npm WARN EBADENGINE required: { node: '>=18.12.0' },
npm WARN EBADENGINE current: { node: 'v16.20.1', npm: '9.8.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@yarnpkg/[email protected]',
npm WARN EBADENGINE required: { node: '>=18.12.0' },
npm WARN EBADENGINE current: { node: 'v16.20.1', npm: '9.8.1' }
npm WARN EBADENGINE }

npm notice
npm notice New major version of npm available! 9.8.1 -> 10.2.4
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.2.4
npm notice Run npm install -g [email protected] to update!

Somehow my node version is getting reported as v16.20.1, eventhough i previously updated it to v20.8.0

I fixed this again by issuing a 'nvm install node --reinstall-packages-from=node' which updated my node to v21.2.0 (so slightly newer)
and then issuing the 'npm install -g [email protected]' command to update npm again. See more about this down below in my next post.

I then wanted Dashmate to specifically use the docker image for Core v20, so i issued 'dashmate config set core.docker.image dashpay/dashd:20.0.0' for Dashmate to use Core v20. Followed by a 'dashmate update' & a 'dashmate start' command.

PUTTY did however showed the following :

(node:711981) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

So that is maybe worth looking into.

Update 1 :

I just found out i can't do a 'dashmate status' or 'dashmate stop' command after 'dashmate start' :

CompileError: WebAssembly.Module(): Compiling function #331:"memchr::arch::wasm32::simd128:: packedpair::Find..." failed: Wasm SIMD unsupported @+1956688

So the problem i am having right now is that Dashmate did update Core to v20 and is running it without problems, so far i can tell (keeping an eye on the dashd.pid). But Dashmate status and stop commands are giving errors.

Update 2 : i just checked my other node (still on Core v19.3 and Dashmate v0.25.13) and that too reported node version v16.20.1 after a previous 'nvm install node --reinstall-packages-from=node' to get it to v20.8.0, followed with 'npm install -g [email protected]' to get npm updated. Very weird. I will do above process once more to both have my node updated again and npm itself updated again. Hopefully it sticks this time. I will leave it on Core v19.3 for now, but update Dashmate to v0.25.15 (latest version). See more about this down below in my next post.

Update 3 : This node (on Core v19.3 but had Dashmate updated from v0.25.13 to v0.25.15) now shows the same error, as my node that is on Core v20 (also with dashmate v0.25.15) :
CompileError: WebAssembly.Module(): Compiling function #331:"memchr::arch::wasm32::simd128:: packedpair::Find..." failed: Wasm SIMD unsupported @+1956688

So it looks like the problem is actually with Dashmate v0.25.15 ? There is something missing or incorrectly compiled in Dashmate v0.25.15, that is now interfering with dashmate status and dashmate stop commands ?

Created a Github issue for this : https://github.com/dashpay/platform/issues/1583

I managed to revert to dashmate v0.25.13 by using command 'npm install -g [email protected]' & 'dashmate update'
Dashmate status and stop commands work again on this dashmate version.
Both my Evonodes got hit with PoSe scores (2200+) and i strongly suspect it is because of faulty Dashmate v0.25.15
But at least i got them now both on Core v20.
 
Last edited:
@pshenmic

New PUTTY session :

$node -v
v16.20.1
$ nvm install node --reinstall-packages-from=node
v21.2.0 is already installed.
Now using node v21.2.0 (npm v10.2.4)
Can not reinstall packages from the current version of node.
$node -v
v21.2.0

Another new PUTTY session :

$node -v
v16.20.1

Weird, just weird. node -v is consistently reporting version 16.20.1 with each new PUTTY session,
eventhough i already updated node to v21.2.0.

When i then issue 'nvm install node --reinstall-packages-from=node' it will find v21.2.0 installed and starts using it.
node -v command will then report v21.2.0
But when i close my PUTTY session and open a new PUTTY session, it report v16.20.1 again ?

To prevent above to interfere with a future Dashmate update process, i think i will change my Dashmate update procedure as follows :

Start a new PUTTY session
$node -v (-> v16.20.1 --> false report, not good)
$nvm install node --reinstall-packages-from=node (this will either install node to v21.2.0 / higher or find an already installed v21.2.0 / higher and actually start using that version)

$node -v (-> v21.2.0 / higher --> good)
$dashmate stop
$npm update -g dashmate
$dashmate update
$dashmate start
$dashmate status (checking for enabled & ready)
$dashmate status masternode (checking for ready)
Close PUTTY session
 
Last edited:
@qwizzie
If you look at the message carefully
npm WARN EBADENGINE Unsupported engine {
You can see that this message is not a error but a warning and you should not have been updating a Node.js at all in the first place.
You also chose to switch few major Node.Js version at once (from 16 to 21) which broke everything out. And I don't recommend using Current versions of the Node, we stick to the LTS which is Node v20 now.

So, revert on Node.js 18 (which support is stated in the docs) and everything should work. There is no DashCore v20 and platform testnet support yet, because platform did not merge my changes to the latest Node yet, and it introduces a lot of breaking changes. I can't do a old codebase release neither, because its simply not working on latest Node 20.

So, to wrap it all, please, wait for a stable release, I will notify you here once its done

 
I am frustrated with this together with you, i'm literally blowing up I am not able to push out a stable release for you, but I'm just literally blocked. The other reason is that team is pushing out unstable releases to production, when its not yet fully ready.

For example, it is at least two Platform releases required in order to wipe and rollout new Platform Testnet. One that infra team will deploy in the network with the new genesis, and another one to modify dashmate settings with the correct settings from infra. Additionally, there could be bugs and hotfixes that increases number of the releases.

I raised that question on this week and convinced to publish a release candidate builds first, that we can test together with community whether everything is working as expected and only after that a new stable Dash Platform release can come out.
 
@pshenmic

For now i will leave things as is, because with Dashmate v0.25.13 i had no problem configuring Dashmate to upgrade to Core v20
(i am already running it), and i need to clear my PoSe scores first. So that means not messing with anything right now.

With the next Dashmate update v0.25.16 (which was indeed taking so long that i started to look for a way to manually config Dashmate to start Core v20), i will look into reverting Node.JS back to v18.

I just wish you mentioned this earlier, when i posted to you that i managed to upgrade my Node.JS from v16.20.1 to v20.8.0 (See https://www.dash.org/forum/index.php?threads/dashmate-discussion.53951/page-2#post-236680). You mentioned that 'Platform code now expects at least Node.js v18 sdk api', so i read that as needing Node.JS v18 or higher (without limits).

Any suggestions on how to revert Node.JS back from v21 to v18 in a clean and simple way ?
 
Hey guys, good news! We got everything necessary for dashmate merged in today. Platform team still working on another critical issue and we have to wait with a 0.25.16 stable release. But I rolled out a release candidate build for your, so you can proceed with Core v20 masternode updates. I tested this release locally and on the PE testnet fullnode, my node was able to sync up and shows correct image versions.

Dash Platform v0.25.16-rc.1

Noticeable changes:
* Node.JS 20 support
* Dash Core was upgraded to v20.0.1
* Dash Platform was upgraded to dash-testnet-36
* Codebase upgraded to ESM syntax
* Fixed block height color in status output when remote block height is null

This release contains a breaking change and upgrade to Node.JS v20 is necessary

If you have installed your dashmate via npm, you can upgrade with nvm:
nvm install 20
nvm alias default 20
nvm use 20
npm install -g [email protected]

If you have installed you dashmate with .deb package, no further actions are needed, because Node.JS is bundled in this case.
You can simply download and install new binary from here:
 
Last edited:
@pshenmic

But I rolled out a release candidate build for your, so you can proceed with Core v20 masternode updates. I tested this release locally and on the PE testnet fullnode, my node was able to sync up and shows correct image versions.

Assuming you meant for us to test this release candidate and not wait for a v0.25.16 final release, i have tested this as follows :

$ nvm install 20
Downloading and installing node v20.9.0...
Downloading https://nodejs.org/dist/v20.9.0/node-v20.9.0-linux-x64.tar.xz...
############################################################################################################################################################################################################ 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.9.0 (npm v10.1.0)
$ nvm alias default 20
default -> 20 (-> v20.9.0)
$ nvm use 20
Now using node v20.9.0 (npm v10.1.0)
$npm install -g [email protected]

added 664 packages in 37s

113 packages are looking for funding
run `npm fund` for details
$ dashmate update

CompileError: WebAssembly.Module(): Compiling function #1302:"bytecount::simd::wasm::chunk_num_chars::he46d9f..." failed: Wasm SIMD unsupported @+2532414

Rather similar looking error i had with Dashmate v0.25.15

I did not try to do a 'dashmate start' after seeing this error, as i am afraid i will again be left with no control over the 'dashmate status' and 'dashmate stop' commands.

I reverted back to dashmate v0.25.13 and Dashmate is now running Core v20.0.0 again, through previously set manual configuration (dashmate config set core.docker.image dashpay/dashd:20.0.0). I guess i could point manual configuration to docker container file dashpay/dashd:20.0.1 to run Core v20.0.1 but running Core v20.0.0 will do for now.

At least i am now running on Node.JS version 20 and i have no more problems with incorrect detection of older Node.JS versions (v16), like i had previously.

I will leave Dashmate v0.25.13 on Node.JS v20 for now, as i am not noticing any problems. So reverting back to Node.JS v18 seems a bit pointless, specially now next Dashmate version 0.25.16 (stable) will require Node.JS v20 anyways.

All i can say is that Node.JS v20.9.0 works without problem on Dashmate v0.25.13
but has a problem with Dashmate v0.25.16-rc.1 (at least for me).

I suspect Node.JS v20.9.0 also has a problem with Dashmate v0.25.15 but have not actually tested this, as i was either on Dashmate v0.25.13 (Node.JS v21 & v20 --> ok) or Dashmate v0.25.15 (Node.JS v21 --> error) or Dashmate v0.25.16-rc.1 (Node.JS v20 --> error).

Or maybe the problem is actually unrelated to Node.JS and more to do with changes (however minor in scope) in Dashmate v0.25.15 / v0.25.16-rc1

I reopened the issue on Github : https://github.com/dashpay/platform/issues/1583
 
Last edited:
Thank you very much @qwizzie for the tests, I will look into that today.
I checked myself and I can see there is an issue with dashmate update command, but my error message is a bit different. There were also other reports in the Discord that I am going to work today. Expect a new pre release soon. Thank you again (y)
 
@pshenmic

Unfortunetely still pretty much the same error after 'npm install -g [email protected]' & 'dashmate update' :

CompileError: WebAssembly.Module(): Compiling function #332:"memchr::arch::wasm32::simd128: packedpair::Find..." failed: Wasm SIMD unsupported @+1951319

Node.JS version 20.9.0
Ubuntu 20.04.6 LTS

Reverted back to Dashmate v0.25.13 and used 'dashmate config set core.docker.image dashpay/dashd:20.0.1' & 'dashmate update' to update to Core v20.0.1
 
Last edited:
@pshenmic

unfortunetely still pretty much the same error :

CompileError: WebAssembly.Module(): Compiling function #332:"memchr::arch::wasm32::simd128::packedpair::Find..." failed: Wasm SIMD unsupported @+1951319

Node.JS version 20.9.0
Ok, then I will try to reproduce your issue
You mentioned that your have Ubuntu 20.04, what is your OS arch?
 
Will these releases start being signed at some point? With your keys or pastas, etc?
Just published a new build that fixes two bugs found by the community. @qwizzie kindly check this build out, I hope it will resolve your issue

Dash Platform v0.25.16-rc.2

* Bugfix: incorrect imports caused `dashmate setup` and `dashmate update` to crash

To update, donwnload a new .deb package, or `npm install -g [email protected]`
 
With dashmate core cli, does it not support any arguments or flags? I can't get it to work with more than one word commands. For example,
Code:
dashmate core cli masternodelist evo
. Or
Code:
dashmate core cli protx info protxhashblahblahblah

I've tried using " " and -- but it doesn't seem to work.
 
Back
Top