Skip to content

Latest commit

 

History

History
12 lines (9 loc) · 4.51 KB

contractid.md

File metadata and controls

12 lines (9 loc) · 4.51 KB

ContractID

The ID for a smart contract instance

Field Description
shardNum The shard number (nonnegative)
realmNum The realm number (nonnegative)
contractNum A nonnegative number unique within its realm
evm_address

The 20-byte EVM address of the contract to call. Every contract has an EVM address determined by its shard.realm.num id. This address is as follows:

The first 4 bytes are the big-endian representation of the shard.

The next 8 bytes are the big-endian representation of the realm.

The final 8 bytes are the big-endian representation of the number.

Contracts created via CREATE2 have an additional, primary address that is derived from the EIP-1014 specification, and does not have a simple relation to a shard.realm.num id. (Please do note that CREATE2 contracts can also be referenced by the three-part EVM address described above.)