-
Notifications
You must be signed in to change notification settings - Fork 202
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
Support alternative transaction signing methods #309
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have some questions here.
@ldmberman are there any tests that test out tx inclusion e2e ie. tx creation, |
@CDDelta there are lots of e2e tests in the codebase, one thing I would do is make |
Unfortunately, the tests don't all pass here since |
Hello Team, wondering what the status of this PR is? Would love to see ed25519 keys used to sign Arweave transactions. |
This PR adds support for signing transactions with the secp256k1 ECDSA and ed25519 EdDSA schemes. This change is entirely backwards compatible with the existing signing method, the process for signing transactions with RSA remains the same.
Transactions can now include an optional
signature_type
field which can bePS256_65537
,ES256K
orEd25519
to specify their signing scheme. Transactions using the new schemes should include thesignature_type
field as the last leaf used to generate the Merkle root used as the transaction signature message. This should not be done for the pre-existing schemePS256_65537
.Transactions signed with secp256k1 ECDSA must specify a compressed
owner
(public key). Uncompressedowner
s are rejected to avoid confusion with a single EC wallet having two possible addresses.signature_type
field values correspond to those defined in the IANA Jose assignment database and IETF RFC8410 with an extension forPS256
to also define the RSA public exponent.