Protocol Configurations
The SDK will return an error that contains the HTTP error code:
invalid tsm input ; node returned 404: 404 page not found
The 404 error means that the endpoint is not found. If the SDK is the same version as the MPC node, this will only happen if the endpoint is not enabled in the node. This is handled by the feature section under the relevant protocol, and the feature end point that has been called have not been enabled. Here is an example of DKLS19 protocol enabling all the end points:
[DKLS19]
# Controls which features of DKLS19 to enable. Each field corresponds to a method in the SDK.
[DKLS19.Features]
GenerateKey = true
GeneratePresignatures = true
Sign = true
SignWithPresignature = true
GenerateRecoveryData = true
PublicKey = true
ChainCode = true
Reshare = true
CopyKey = true
BackupKeyShare = true
RestoreKeyShare = true
ExportKeyShares = true
ImportKeyShares = true
BIP32GenerateSeed = true
BIP32DeriveFromSeed = true
BIP32DeriveFromKey = true
BIP32ConvertKey = true
BIP32ExportSeed = true
BIP32ImportSeed = true
BIP32Info = true
Which one is missing depends on what operation have been attempted. For a list of possible features for each protocol, see the configuration example.
There is one other thing that can give a 404: using an SDK that does not match the MPC node. In this case, the endpoints might have been renamed. The most seen instance of this is that in 61.0.0, EdDSA was generalized into Schnorr signatures. This meant that all endpoints were renamed from eddsa to schnorr. This has caused customers running with SDK and MPC node differences across this boundary to get 404 errors.
Updated about 1 month ago