Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (5.4%) to scientific vocabulary
Repository
Efficient Elliptic Curve VRF on Solana.
Basic Info
- Host: GitHub
- Owner: mangekyou-labs
- License: apache-2.0
- Language: Rust
- Default Branch: main
- Homepage: https://kamui-alpha.vercel.app
- Size: 104 MB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 9
- Releases: 0
Metadata Files
README.md
Benchmarks
In mangekyou, one can compare all currently implemented cryptographic schemes by running:
$ cargo bench
Usage
Generate keys
cargo run --bin ecvrf-cli keygen
This outputs a secret key and a public key in hex format. Both the secret and public keys are 32-byte strings:
Secret key: 673d09357e636004c6129349a4019120ff09c0f5cb3204c67a64d5b661f93007
Public key: 42b1b195493d8977f9432c1ea8208a8cf9adba1be06ed555ee1732c5b0637261
Compute VRF output and proof
To compute the VRF output and proof for the input string Hi Kamui!, which is 4869204b616d756921 in hexadecimal, with the key pair generated previously, run the following command:
cargo run --bin ecvrf-cli prove --input 4869204b616d756921 --secret-key 673d09357e636004c6129349a4019120ff09c0f5cb3204c67a64d5b661f93007
This should the 80-byte proof and VRF 64-byte output, both in hex format:
Proof: 42b1b195493d8977f9432c1ea8208a8cf9adba1be06ed555ee1732c5b0637261d9cd24cdb47ab446b86451974dab1ea382065e17c22085c63cfd7059ec834d08433c3158debd8e69547997a07fa083c9
Output: cd6a1b9e6751a55fec6e196c8a62a0ddbe64b080ebcbd571ecab1c28d80a94d809ca8d803fafbc814874de36f6540055057faafdba85395e6ae2b7256cbde94b
Verify proof
You can verify the proof and output in a solana smart contract using mangekyou::ecvrf::ecvrf_verify from the Mangekyou Network (coming soon)
You can also use the CLI tool for verification:
cargo run --bin ecvrf-cli verify --output cd6a1b9e6751a55fec6e196c8a62a0ddbe64b080ebcbd571ecab1c28d80a94d809ca8d803fafbc814874de36f6540055057faafdba85395e6ae2b7256cbde94b --proof 42b1b195493d8977f9432c1ea8208a8cf9adba1be06ed555ee1732c5b0637261d9cd24cdb47ab446b86451974dab1ea382065e17c22085c63cfd7059ec834d08433c3158debd8e69547997a07fa083c9 --input 4869204b616d756921 --public-key 42b1b195493d8977f9432c1ea8208a8cf9adba1be06ed555ee1732c5b0637261
The preceding command returns the verification:
Proof verified correctly!
Tests
There exist unit tests for all primitives in all three crates, which can be run by:
$ cargo test
Kamui Program
More documents here
Owner
- Name: Mangekyou Labs
- Login: mangekyou-labs
- Kind: organization
- Repositories: 1
- Profile: https://github.com/mangekyou-labs
GitHub Events
Total
- Issues event: 1
- Watch event: 1
- Issue comment event: 1
- Push event: 13
- Pull request event: 14
- Fork event: 1
- Create event: 5
Last Year
- Issues event: 1
- Watch event: 1
- Issue comment event: 1
- Push event: 13
- Pull request event: 14
- Fork event: 1
- Create event: 5
Dependencies
- actions/checkout ac593985615ec2ede58e132d2e21d2b1cbd6127c composite
- peaceiris/actions-gh-pages 373f7f263a76c20808c831209c920827a82a2847 composite
- Swatinem/rust-cache v2 composite
- actions/checkout v3 composite
- codecov/codecov-action v3 composite
- dtolnay/rust-toolchain stable composite
- taiki-e/install-action cargo-llvm-cov composite
- actions-rs/cargo ae10961054e4aa8b4aa7dffede299aaf087aa33b composite
- actions-rs/toolchain b2417cde72dcf67f306c0ae8e0828a81bf0b189f composite
- actions/checkout b4ffde65f46336ab88eb53be808477a3936bae11 composite
- peaceiris/actions-gh-pages 373f7f263a76c20808c831209c920827a82a2847 composite
- actions-rs/toolchain 16499b5e05bf2e26879000db0c1d13f7e13fa3af composite
- actions-rs/toolchain b2417cde72dcf67f306c0ae8e0828a81bf0b189f composite
- actions/checkout b4ffde65f46336ab88eb53be808477a3936bae11 composite
- EmbarkStudios/cargo-deny-action e0a440755b184aa50374330fa75cca0f84fcb59a composite
- actions-rs/cargo 844f36862e911db73fe0815f00a4a2602c279505 composite
- actions-rs/toolchain 16499b5e05bf2e26879000db0c1d13f7e13fa3af composite
- actions/checkout ac593985615ec2ede58e132d2e21d2b1cbd6127c composite
- taiki-e/install-action d30f7ecb94d4d882276efb3967be14b8ef34d289 composite
- 379 dependencies
- base58 0.2.0 development
- base64 0.21.0 development
- criterion 0.4.0 development
- faster-hex 0.6.1 development
- k256 0.10.4 development
- proptest 1.1.0 development
- radix64 0.6.2 development
- rust-base58 0.0.4 development
- rustc-hex 2.1.0 development
- serde-reflection 0.3.6 development
- wycheproof 0.5.0 development
- ark-ec 0.4.1
- ark-ff 0.4.1
- ark-secp256r1 0.4.0
- ark-serialize 0.4.1
- auto_ops 0.3.0
- base64ct 1.5.3
- bech32 0.9.1
- blake2 0.10.6
- blst 0.3.10
- borsh 1.2.1
- bs58 0.4.0
- bulletproofs 4.0.0
- cbc 0.1.2
- ctr 0.9.2
- curve25519-dalek 3.2.1
- curve25519-dalek-ng 4.1.1
- derive_more 0.99.16
- ed25519-consensus 2.1.0
- elliptic-curve 0.11.12
- eyre 0.6.8
- generic-array 0.14.6
- hex 0.4.3
- hex-literal 0.4.1
- hkdf 0.12.3
- lazy_static 1.4.0
- mangekyou-derive 0.1.3
- merlin 3.0.0
- num-bigint 0.4.4
- once_cell 1.17.0
- p256 0.10.1
- rand_core 0.5.0
- readonly 0.2.3
- rfc6979 0.4.0
- rust_secp256k1 0.27.0
- schemars 0.8.12
- serde-big-array 0.5.0
- serde_json 1.0.93
- serde_with 2.1.0
- sha2 0.10.6
- solana-zk-token-sdk 1.18.12
- static_assertions 1.1.0
- thiserror 1.0.38
- tokio 1.24.1
- twox-hash 1.6.3
- assert_cmd 2.0.0 development
- regex 1.5.4 development
- clap 4.1.8
- exitcode 1.1.2
- hex 0.4.3
- serde 1.0.156