This section provides useful information about the default set of precompiles in the Ethereum Virtual Machine (EVM). If you're interested in creating your own custom precompiles, you can check out the Creating Custom Precompiles section for tutorials and information. It's important to note that a precompile in the EVM doesn't necessarily need to have an associated Cosmos module. Precompiles can be used to access anything that's implemented on the node, but the most common use case is to use precompiles to access Cosmos modules.
Information below is from evm.codes (opens in a new tab).
hash, v, r, s
|Elliptic curve digital signature algorithm (ECDSA) public key recovery function
|Returns the input
Bsize, Esize, Msize, B, E, M
|Arbitrary-precision exponentiation under modulo
x1, y1, x2, y2
|Point addition (ADD) on the elliptic curve
x1, y1, s
|Scalar multiplication (MUL) on the elliptic curve
x1, y1, x2, y2, ..., xk, yk
|Bilinear function on groups on the elliptic curve
rounds, h, m, t, f
|Compression function F used in the BLAKE2 cryptographic hashing algorithm
To interact with a precompile contract, you must use the Ethereum Virtual Machine (EVM). The EVM is the only way to access precompiles. If you're interested in learning more about how to interact with precompiles, you can check out the Interacting With Precompiles section for more information.