https://github.com/dethcrypto/evm-ts
Ethereum Virtual Machine implemented in TypeScript
https://github.com/dethcrypto/evm-ts
ethereum evm smartcontracts typescript virtual-machine
Last synced: 8 months ago
JSON representation
Ethereum Virtual Machine implemented in TypeScript
- Host: GitHub
- URL: https://github.com/dethcrypto/evm-ts
- Owner: dethcrypto
- Created: 2018-06-02T14:33:22.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-12-09T01:14:33.000Z (over 7 years ago)
- Last Synced: 2025-05-30T23:15:36.435Z (about 1 year ago)
- Topics: ethereum, evm, smartcontracts, typescript, virtual-machine
- Language: TypeScript
- Homepage:
- Size: 213 KB
- Stars: 91
- Watchers: 5
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
EVM-TS
Ethereum Virtual Machine implemented in TypeScript
## Project status
- runs simple contracts, checkout [solidity tests](https://github.com/ethereum-ts/evm-ts/tree/master/test/contracts) 🔥
- supports ~110 opcodes 😍
- tests running agains _ethereumjs-vm_ (soon agains _geth_ or _parity_) 🐞
- lacks gas calculation 😓
## EVM short description
- stack based
- word size 256 bytes
- 3 types of storage:
- stack - a non-persisting word size stack
- memory - a non-persisting linear memory that can be accessed at a byte level
- storage - persisting key-value store, keys and values have to be word size
## To read
- [Opcodes list](https://github.com/trailofbits/evm-opcodes)
- [Opcodes translation tool](https://etherscan.io/opcode-tool)
- [Opcodes implementation](https://github.com/ethereum/go-ethereum/blob/master/core/vm/instructions.go)
- [EVM Illustrated](http://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)
- [EVM Deep Dive](https://blog.qtum.org/diving-into-the-ethereum-vm-6e8d5d2f3c30)
- [Ethereum Yellowpaper](https://ethereum.github.io/yellowpaper/paper.pdf)