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

Implement BLAKE3 opcodes #68

Open
dr-orlovsky opened this issue Jan 30, 2023 · 6 comments
Open

Implement BLAKE3 opcodes #68

dr-orlovsky opened this issue Jan 30, 2023 · 6 comments
Labels
good first issue Good for newcomers
Milestone

Comments

@dr-orlovsky
Copy link
Member

No description provided.

@dr-orlovsky dr-orlovsky added the good first issue Good for newcomers label Jan 30, 2023
@dr-orlovsky dr-orlovsky added this to the 1.0.0 milestone Jan 30, 2023
@dr-orlovsky
Copy link
Member Author

It must be checked not to break WASM compatibility: strict-types/strict-types#10

@crisdut
Copy link
Contributor

crisdut commented Nov 10, 2023

Hello @dr-orlovsky, how are you?

I want to learn about AluVM, and there is nothing better than solving a problem as it is.

I implemented Blake3 in AluVM, but how do I test it?

I didn't find automated tests for hash functions, and I was unsure how to do the tests.

Thanks

@dr-orlovsky
Copy link
Member Author

Thank you for your interest! The only way to test it is to find test vectors for BLAKE3 and write unit tests. Or, in more simple way, you can hash with Blake3 API directly - and compare result with what you receive from AluVM script executing that op code

@crisdut
Copy link
Contributor

crisdut commented Nov 13, 2023

Thank you for your interest! The only way to test it is to find test vectors for BLAKE3 and write unit tests. Or, in more simple way, you can hash with Blake3 API directly - and compare result with what you receive from AluVM script executing that op code

Great!

Thank you.

@fengjian
Copy link
Contributor

fengjian commented Mar 18, 2024

@dr-orlovsky

Hi
If you want to implement BLAKE3 opcode, I recommend using BLAKE3. The opcode is defined as follows:

// ### Hashing (BPDIGEST)

pub const INSTR_RIPEMD: u8 = 0b10_000_000;
pub const INSTR_SHA256: u8 = 0b10_000_001;
pub const INSTR_SHA512: u8 = 0b10_000_010;
pub const INSTR_BLAKE3: u8 = 0b10_000_100;

Do you have any other suggestions for implementing BLAKE3 opcode?

@dr-orlovsky
Copy link
Member Author

No, I do not have any other suggestions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants