I'm involved in a .NET substrate-based project and I started working towards an implementation for making balance transfers on Substrate.
I would swear that I'm doing everything exactly the same way that the
@polkadot/* packages do, but in the end, when I submit my transaction, I get an error
1010 back, which means the signature verification failed, and I'm running out of ideas.
I have verified that:
- The unsigned payload matches that of the polkadot packages.
- The mnemonic is converted to the same public/secret pair.
- That the signature can be verified by my code.
- That the signature can be verified by
- That the final payload matches one generated by
@polkadot/*, minus the signature itself which is different every time, and the era, where I use an immortal era (
This is a gist containing all the values leading up to the final submission. At the time of writing, the sender's nonce is 44.
Eternally grateful to anyone who can shed some light.