Skip to content

Commit

Permalink
ETK++ first commit: New readme
Browse files Browse the repository at this point in the history
  • Loading branch information
gzanitti committed Apr 19, 2024
1 parent 5b0c962 commit ab7af3e
Showing 1 changed file with 17 additions and 34 deletions.
51 changes: 17 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,43 @@
# EVM Toolkit (`etk`)
# EVM++ Toolkit (`etkpp`)

[![license](https://img.shields.io/badge/license-MIT%2FApache--2.0-blue)](https://github.com/quilt/etk)
[![chat](https://img.shields.io/badge/chat-telegram-informational)](https://t.me/joinchat/c-Cusp7Zh1tiM2Vh)
[![ci status](https://github.com/lightclient/eipv/workflows/ci/badge.svg)](https://github.com/quilt/etk/actions)
[![license](https://img.shields.io/badge/license-MIT%2FApache--2.0-blue)](https://github.com/gzanitti/etkpp)

`etk` is a collection of tools for writing, reading, and analyzing EVM bytecode.
`etk` is a for of the original [ETK](https://github.com/quilt/etk), a collection of tools for writing, reading, and analyzing EVM bytecode, but with new features, tweaks and small modifications.

## Documentation

For the time being, you can refer to the original ETK documentation. We will soon publish a documentation adapted to the new features included in ETK++.

The [`etk` book](https://quilt.github.io/etk) is the most comprehensive guide to using `etk`.
* [Introduction](https://quilt.github.io/etk)
* [Usage](https://quilt.github.io/etk/ch01-cli/index.html)
* [`eas`](https://quilt.github.io/etk/ch01-cli/ch01-eas.html)
* [`disease`](https://quilt.github.io/etk/ch01-cli/ch02-disease.html)
* [Language & Syntax](https://quilt.github.io/etk/ch02-lang/index.html)

There are also several examples in the [`etk-asm/tests/asm`](etk-asm/tests/asm) directory. For further questions, join us on [Telegram](https://t.me/joinchat/c-Cusp7Zh1tiM2Vh).
- [Introduction](https://quilt.github.io/etk)
- [Usage](https://quilt.github.io/etk/ch01-cli/index.html)
- [`eas`](https://quilt.github.io/etk/ch01-cli/ch01-eas.html)
- [`disease`](https://quilt.github.io/etk/ch01-cli/ch02-disease.html)
- [Language & Syntax](https://quilt.github.io/etk/ch02-lang/index.html)

There are also several examples in the [`etk-asm/tests/asm`](etk-asm/tests/asm) directory.

## Quickstart

### Installation

`etk` requires the latest `rustc` from the stable channel.
`etk++` requires the latest `rustc` from the stable channel.

```console
cargo install --features cli etk-asm etk-dasm
```

#### Project Templates
* [`etk`-Foundry Template](https://github.com/quilt/etk-foundry-template)

#### Syntax Highlighting
* [`vim-etk`](https://github.com/quilt/vim-etk)

### Usage
`contract.etk`:
```asm
push1 42
push1 13
add
pop
```
```console
$ eas contract.etk out.hex
$ disease --hex-file out.hex
0: push1 0x2a
2: push1 0x0d
4: add
5: pop
```
### Dependencies

`ecfg` requires z3 to build

Ubuntu Installation Instructions (example):

```console
sudo apt-get update -y
sudo apt-get install -y z3
sudo apt-get install -y libz3-dev
```

Check the system logs to confirm that there are no related errors.

0 comments on commit ab7af3e

Please sign in to comment.