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

Add bls12381 support #387

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

freddiecoleman
Copy link

@freddiecoleman freddiecoleman commented Mar 5, 2022

Currently waiting on coinbase/kryptology#48

Motivation

This allows Rosetta users to sign and verify payloads using a bls12381 curve type.

It supports both basic and aug with prefix by passing in the relevant signature type.

In order to prepend sign using aug you will need to manually prepend the relevant public key to the payload that is to be signed as the exported interface does not allow an additional argument for the public key.

Solution

Provide an implementation of the Signer interface for bls12381

Open questions

  • It looks like the build/pipeline pulls a JSON file containing the specification and the bls12381 curve type will not currently be in there. I believe adding the necessary support will require a further PR somewhere else - this should be quite simple?

@freddiecoleman freddiecoleman changed the title implement Signer interface for bls12381 Add bls12381 support Mar 5, 2022
@freddiecoleman freddiecoleman force-pushed the bls12381 branch 4 times, most recently from c0925f2 to b12608c Compare March 5, 2022 17:20
@freddiecoleman freddiecoleman force-pushed the bls12381 branch 2 times, most recently from fcc8fe1 to cd86239 Compare March 6, 2022 08:57
@shrimalmadhur
Copy link
Contributor

Motivation

This allows Rosetta users to sign and verify payloads using a bls12381 curve type.

It supports both basic and aug with prefix by passing in the relevant signature type.

In order to sign using aug you will need to prepend the relevant public key to the payload that is to be signed as the exported interface does not allow an additional argument for the public key.

Solution

Provide an implementation of the Signer interface for bls12381

Open questions

  • It looks like the build/pipeline pulls a JSON file containing the specification and the bls12381 curve type will not currently be in there. I believe adding the necessary support will require a further PR somewhere else - this should be quite simple?

Hello @freddiecoleman - you need to make specifications changes here - https://github.com/coinbase/rosetta-specifications
You can use coinbase/mesh-specifications#93 as sample.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants