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

https://github.com/daniel1302/eth-tools

ETH tools to automate some tests
https://github.com/daniel1302/eth-tools

Last synced: 12 months ago
JSON representation

ETH tools to automate some tests

Awesome Lists containing this project

README

          

# eth-tools

A CLI tool for Ethereum development.

## Installation

```bash
go install github.com/daniel1302/eth-tools/cmd/eth-tools@latest
```

## Usage

### wallets

Generates one funder and 10 worker Ethereum wallets. This command creates a `configs/wallets.json` file with the generated wallet information.

```bash
eth-tools wallets
```

After running this command, you need to fund the `funder` wallet with some ETH to be used in the traffic simulation.

### deploy

Deploys a simple key-value Solidity smart contract. This command creates a file (e.g., `configs/contract.json`) that stores the deployed contract's address.

```bash
eth-tools deploy --rpc-url --private-key --contract-file
```

### traffic-simulator

A long-running command to simulate network traffic. This command requires the `wallets.json` and contract data files generated by the `wallets` and `deploy` commands, respectively.

```bash
eth-tools traffic-simulator --rpc-url --contract-file --wallets-file --timeout
```

## Development

### Build from source

```bash
go build ./cmd/eth-tools
```

### Run tests

```bash
go test ./...
```

### Recompile smart contracts

To recompile the Solidity smart contracts and generate the Go bindings, run the following script:

```bash
./scripts/compile.sh
```