Apologies the update is a little later than planned, it took a couple hours longer than I thought to get it all written up.
We have now worked through the issues with the interim release of the Desktop Wallet last night (0.13.3).
The short version:
There are workarounds and a patched release of the Dekstop Wallet is targetting 11th Nov in the morning UTC; SUBJECT TO TESTING .
There are two main issues:
-
Wallet is using Alpha builds of the SDK - there was the Endian/Marker issue in an SDK call which was worked around on a dev workstation but not included in the Alpha, as per @GodTanu’s comment above
-
The public keys/certificates being used for enabling delegated harvesting have an issue, it was not present in the dev environment due to things being run locally so not being an issue
Unfortunately both of the above were not evident in the development environment due to workarounds that then became evident on Testnet. We have learned why and are putting some separate testing in place to try and avoid this in future Sprint Releases.
The good news is that these two issues can be resolved in the SDK and released as a new Alpha version of the SDK inside a patched wallet build. That is being worked on right now and will be released when tested.
The patched release is likely to be tomorrow morning (11th Nov morning UTC) subject to testing.
There are some further minor issues which hide the above due to not being able to easily access the active harvesting status of a node, these will require some changes to REST Gateway which will be included in the next Testnet patch along with the next server version (0.10.0.4)
The long version
There are 2 major issues and 2 minor ones.
1. Major - Little Endian messaging Marker Issue (SDK)
GodTanu + TomoTomo9696:
https://twitter.com/GodTanu2/status/1326054923411222529
https://gist.github.com/tomotomo9696/44a4bb7ee6b0749327695605a9aa98b2
Java:
https://github.com/nemtech/symbol-sdk-java/issues/362 .
JS/TS:
https://github.com/nemtech/symbol-sdk-typescript-javascript/issues/704 & https://github.com/nemtech/symbol-sdk-typescript-javascript/issues/713
This issue can be fixed in the SDK with an Alpha build and a PR has already been created for review.
2. Major - Cert/Key Issue (SDK + Wallet + REST)
Each node has a certificate, which is generated from a public key. This is the key that is used in the linking transaction for harvesting. There is no REST endpoint to retun the public key + cert at present, the docs incorrectly stated one did exist via NodeInfo, but that is returning the certificate authority cert not the node cert. The docs are being fixed and reviewed.
This causes a problem with trying to activate from the desktop wallet because the linking transaction can’t be called reliably. It wasn’t an issue in the development environments because they utilise local certs and known public keys so became evident when using Testnet which only happened on release.
Short term fix: There are several known NGL nodes which are set up and working, the short term fix is going to be to restrict the node selection to a drop down list of nodes that we know should work, the next wallet tagged wallet release will contain this workaround. There is a risk that the slots on he known nodes fill up obviously but we will try and increase those numbers and keep an eye where possible, doing this will get some delegated harvesting going on Testnet more widely. This fix has been made in a development environment is being tested at present.
Mid-longer term: Will be fixed in the next Rest + Server release and then worked into the Wallet to allow selection of any node, a more configurable form will also be provided to allow provision of the hostname and public key explicitly for any node that is not discoverable via the rest endpoint.
3. Minor - Status of Harvesting
There is a weakness at present with getting the active status of harvesting on a node due to how some communications between REST gateway and Peer node work around the diagnostic call, this was the 2/2 that was highlighted in the release note and is planned for the next sprint, which will be released in the next Server + REST release (Testnet patch).
This makes it hard to display to a wallet user what the reliable active status is.
This is being tracked under: https://github.com/nemtech/symbol-sdk-typescript-javascript/issues/705
This was part of the 2/2 comment in the release note and planned to be released in the next sprint already.
4. Minor - Harvesting History
The current way of querying the harvesting history is inefficient but is functional, this will be altered to make it easier to get full harvesting history by account in the next Server + REST release (Testnet patch). This was part of the 2/2 comment in the release note and planned to be released in the next sprint already.
Short term it is possible to see this on the account using Explorer or on the Wallet as you see from TomoTomo9696 here: https://twitter.com/tomotomo_9696/status/1326101606266408960 (edited)