telos docs
Search…
EVM Compatibility

Overview

The tEVM is generally compatible with any smart contract written in Solidity. Care must be taken to validate throughout the smart contract development life cycle that the contract is functioning as expected. It is always recommended to thoroughly test any contract on the Telos testnet before deploying to the Telos mainnet.

Solidity Versions

Due to the nature of the Telos EVM's implementation, certain versions of Solidity are not supported. Currently version 0.7.0 up to 0.8.6 should be functional.

Supported EIPs

As verified by Sentnl's Audit all gas values are consistent with gETH. Explicit effort was made to align the tEVM with EIP-2929 in order to conform with Gas costs. In addition with the Audit verification all Open-Zeppelin tests have been run ensuring EVM compatibility.

RPC methods

Currently supported JSON RPC methods:
1
rpc_modules
2
3
net_listening
4
net_version
5
parity_pendingTransactions // No-op
6
7
web3_clientVersion
8
9
eth_blockNumber
10
eth_chainId
11
eth_accounts
12
eth_getTransactionCount
13
eth_getCode
14
eth_getStorageAt
15
eth_estimateGas
16
eth_gasPrice
17
eth_getBalance
18
eth_getBalanceHuman // custom, returns the float balance instead of wei
19
eth_call
20
eth_sendRawTransaction
21
eth_sendTransaction
22
eth_getTransactionReceipt
23
eth_getTransactionByHash
24
eth_getBlockByNumber
25
eth_getBlockByHash
26
eth_getBlockTransactionCountByHash
27
eth_getBlockTransactionCountByNumber
28
eth_getUncleCountByBlockHash
29
eth_getUncleCountByBlockNumber
30
eth_getLogs
31
32
// trace APIs only support the 'trace' type and not 'vmTrace' or 'stateDiff'
33
trace_filter
34
trace_transaction
35
trace_replayTransaction
36
trace_replayBlockTransactions
37
trace_block
38
trace_get
Copied!
Last modified 22d ago