Precompiles
Last updated
Last updated
A precompile is a common functionality used in smart contracts that has been compiled in advance, so Ethereum nodes can run it more efficiently. From a contract's perspective, this is a single command like an opcode. The Frontier EVM used on Uomi network provides several useful precompiled contracts. These contracts are implemented in our ecosystem as a native implementation. The precompiled contracts 0x01
through 0x08
are the same as those in Ethereum (see list below). Additionally, Uomi implements precompiled contracts that support new Uomi features.
Precompile | Address |
---|---|
Precompile | Address |
---|---|
The interface descriptions for these precompiles can be found in the precompiles
folder: Uomi repo. The Addresses can be checked in the Uomi repo for each runtime in precompile.rs
files.
Here we'll demonstrate a simple smart contract that can interact with Sr25519 precompile
ECRecover
0x0000000000000000000000000000000000000001
Sha256
0x0000000000000000000000000000000000000002
Ripemd160
0x0000000000000000000000000000000000000003
Identity
0x0000000000000000000000000000000000000004
Modexp
0x0000000000000000000000000000000000000005
Bn128Add
0x0000000000000000000000000000000000000006
Bn128Mul
0x0000000000000000000000000000000000000007
Bn128Pairing
0x0000000000000000000000000000000000000008
Sr25519
0x0000000000000000000000000000000000005002
SubstrateECDSA
0x0000000000000000000000000000000000005003
Assets-erc20
ASSET_PRECOMPILE_ADDRESS_PREFIX
UomiEngine
0x00000000000000000000000000000000756f6D69