Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Low-level signing documentation #608

Open
mDuo13 opened this issue Jun 27, 2019 · 2 comments
Open

Low-level signing documentation #608

mDuo13 opened this issue Jun 27, 2019 · 2 comments
Labels
new topic Describes a detailed document to be added or expanded in detail

Comments

@mDuo13
Copy link
Collaborator

mDuo13 commented Jun 27, 2019

The Serialization docs describe to a good level of detail how to create the binary format of transactions. They don't cover in sufficient detail how to go from there to a signed transaction that can be submitted to the network.

Ideally, the documentation would include:

  • Steps to calculate the signature from the JSON (add the signing public key, calculating a with the correct prefix, etc.)
  • Differences for multi-signing (different prefix, SigningPubKey empty, must append the accountID to the hash—thanks, josepajay on XRPChat for the note on the last one)
  • Links / mentions of best practices for supported signing algorithms for example using deterministic nonces for secp256k1 signatures per RFC6979)
  • Sample code of the whole process (perhaps importing / depending on the serialization.py sample code)
@mDuo13 mDuo13 added the new topic Describes a detailed document to be added or expanded in detail label Jun 27, 2019
@mDuo13
Copy link
Collaborator Author

mDuo13 commented Sep 22, 2021

One note that would be useful in this doc: secp256k1 signatures are DER-encoded (because that's how Bitcoin did it) but Ed25519 signatures are not (with how the Ed25519 scheme defines its signatures, DER-encoding is not necessary or useful)

@XRPLF XRPLF deleted a comment from q411 Sep 22, 2021
@mDuo13
Copy link
Collaborator Author

mDuo13 commented Mar 7, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new topic Describes a detailed document to be added or expanded in detail
Projects
None yet
Development

No branches or pull requests

1 participant