Precompiles
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.
Ethereum Native Precompiles
ECRecover
0x0000000000000000000000000000000000000001
Sha256
0x0000000000000000000000000000000000000002
Ripemd160
0x0000000000000000000000000000000000000003
Identity
0x0000000000000000000000000000000000000004
Modexp
0x0000000000000000000000000000000000000005
Bn128Add
0x0000000000000000000000000000000000000006
Bn128Mul
0x0000000000000000000000000000000000000007
Bn128Pairing
0x0000000000000000000000000000000000000008
Uomi Specific Precompiles
Sr25519
0x0000000000000000000000000000000000005002
SubstrateECDSA
0x0000000000000000000000000000000000005003
Assets-erc20
ASSET_PRECOMPILE_ADDRESS_PREFIX
UomiEngine
0x00000000000000000000000000000000756f6D69
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.
Usage example
Here we'll demonstrate a simple smart contract that can interact with Sr25519 precompile
Last updated