revm implementation:

https://github.com/bluealloy/revm/tree/main/crates/precompile/src/bls12_381

revm uses the blst library: https://github.com/supranational/blst

https://crates.io/crates/blst

Specification

https://eips.ethereum.org/EIPS/eip-2537

Constants

Name Value Comment
BLS12_G1ADD 0x0b precompile address
BLS12_G1MSM 0x0c precompile address
BLS12_G2ADD 0x0d precompile address
BLS12_G2MSM 0x0e precompile address
BLS12_PAIRING_CHECK 0x0f precompile address
BLS12_MAP_FP_TO_G1 0x10 precompile address
BLS12_MAP_FP2_TO_G2 0x11 precompile address