An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          


EVM-TS


Ethereum Virtual Machine implemented in TypeScript


Build Status
Coverage Status
Prettier
Software License

## 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)