> For the complete documentation index, see [llms.txt](https://vision-foundation.gitbook.io/app.gitbook.vision.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vision-foundation.gitbook.io/app.gitbook.vision.com/virtual-machine/features-between-ethereum.md).

# Features between Ethereum

Vision virtual machine (VVM) is based on Ethereum solidity language, it also has Vision's own features.

VVM uses the concept of entropy instead of gas.

* No concept of gasprice. VVM has a stable entropy price or floating rate from freezing VS.
* There is no concept of block.difficulty. It is a constant 0.
* There is no concept of block.gaslimit. It is always 0.
* The selfbalance, chianid opcode is not supported.
* Most instructions consume almost the same amount of EVM, memory operation instructions consume less than EVM.
* COINBASE opcode returns a 21-byte address
* The contract address created by the CREATE2 instruction is calculated with a prefix of 0x41, not 0xff for EVM.
* The CREATE instruction creates a contract address calculated as keccak256(transaction root hash + nonce), where nonce is the index of the current internal transaction, starting from 0.
* Adding VRC10 token function and related opcodes
* Adding opcodes for bulk signature verification and multisig validation
* Adding shielded VRC20 contracts and several librustzcash instructions
* Internal Transaction has No data information.
* An extra error type TransactionException is introduced, it interrupts VM execution without consuming all entropy.
