System contracts requirements: 15 leading zero bytes.
Address allocation.
The rest 5 bytes in the address: 1 category byte ++ 4 address bytes.
Category byte
0: Ethereum EVM precompiles.
1: Setheum precompiles. Set in genesis block.
2: Network contracts. Could be deployed later via create_network_contract dispatch call.
3: Predeployed ERC20 contracts. Set in genesis block.
4: ERC721 contracts. Could be deployed later via create_erc721_contract dispatch call.
System contracts requirements: 15 leading zero bytes.
Address allocation.
The rest 5 bytes in the address: 1 category byte ++ 4 address bytes.
Category byte
0
: Ethereum EVM precompiles.1
: Setheum precompiles. Set in genesis block.2
: Network contracts. Could be deployed later via create_network_contract dispatch call.3
: Predeployed ERC20 contracts. Set in genesis block.4
: ERC721 contracts. Could be deployed later via create_erc721_contract dispatch call.