eosnetworkfoundation / devrel

1 stars 0 forks source link

Explainer page 'EOS EVM versus EVM' #149

Closed VEG-Ginna closed 1 year ago

VEG-Ginna commented 1 year ago

Explainer page titled

Trust EVM versus EVM

describes the important differences between the trust evm vs evm

This is what we got from SMEs

TIMESTAMP
The timestamp of each block would be the ceiling timestamp of the last underlying EOS block.

BLOCKID
As we have fixed one block every second, the block id got in contract can be effectively calculated from timestamp:
id = timestamp in ms - genesis timestamp in ms

BLOCKHASH
The blockhash is calculated from block height and some salts. 
block_hash = sha256(0x0, block_height, chain_id),
where 
block_height is the current block height in uint64
chain_id is the chain_id used in uint64

COINBASE
The coinbase will be set to *0x0000000000000000000000000000000000000000*

DIFFICULTY
The difficulty will be fixed to 0.

GASLIMIT
The difficulty will be fixed to 0x7ffffffffff

AC:

nsjames commented 1 year ago

Info in EOS EVM WG - Dev -- Search for GASLIMIT

nsjames commented 1 year ago

TIMESTAMP

The timestamp of each block would be the ceiling timestamp of the last underlying EOS block.

BLOCKID

As we have fixed one block every second, the block id got in contract can be effectively calculated from timestamp:

id = timestamp in ms - genesis timestamp in ms

BLOCKHASH

The blockhash is calculated from block height and some salts. 

block_hash = sha256(0x0, block_height, chain_id),

where 

block_height is the current block height in uint64

chain_id is the chain_id used in uint64

COINBASE

The coinbase will be set to *0x0000000000000000000000000000000000000000*  <- need confirm

DIFFICULTY

The difficulty will be fixed to 1.

GASLIMIT

The difficulty will be fixed to 0x7ffffffffff

we support the exact same number of precompiles (9) as ethereum does and their expected behavior.

The only limitation we have is with modexp.
The exponent bit size cannot exceed bit size of either base or modulus

The precompile will throw an exception and the transaction will be halted

coinbase will be zero address