# michal2sab/ethereum-stealer architecture

> Architecture diagram of the GitHub repository michal2sab/ethereum-stealer, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/michal2sab/ethereum-stealer
- Repository: https://github.com/michal2sab/ethereum-stealer

## Overview

Ethereum-Stealer is a command-line wallet-generation and balance-list matching tool. Its principal workflow repeatedly creates a random mnemonic wallet, derives its address and private key, checks the address against a local riches list, and—on a match—prints and saves the wallet details. Linux and Windows contain separate copies of this runtime. The README also describes a test demonstration, but test code is excluded from this product-runtime map. Source sampling was limited to the generators and package metadata, so no additional behavior is inferred.

Main entry points: [`Linux/generator.js`](https://github.com/michal2sab/ethereum-stealer/blob/main/Linux/generator.js) (Linux generator), [`Windows/generator.js`](https://github.com/michal2sab/ethereum-stealer/blob/main/Windows/generator.js) (Windows generator), [`Linux/riches.txt`](https://github.com/michal2sab/ethereum-stealer/blob/main/Linux/riches.txt) (Linux riches list), [`Windows/riches.txt`](https://github.com/michal2sab/ethereum-stealer/blob/main/Windows/riches.txt) (Windows riches list)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_generation["Wallet generation"]
  node_linux_generator["Linux generator<br/>[generator.js]"]
  node_windows_generator["Windows generator<br/>[generator.js]"]
  node_ethers["ethers wallet API"]
end

subgraph group_matching["Address matching"]
  node_linux_riches["Linux riches list<br/>[riches.txt]"]
  node_windows_riches["Windows riches list<br/>[riches.txt]"]
end

subgraph group_results["Match results"]
  node_console["Terminal output"]
  node_success_file["Success details file"]
end

node_operator(("Operator"))

node_operator -->|"starts"| node_linux_generator
node_operator -->|"starts"| node_windows_generator
node_linux_generator -->|"creates wallet"| node_ethers
node_windows_generator -->|"creates wallet"| node_ethers
node_linux_generator -->|"reads and checks"| node_linux_riches
node_windows_generator -->|"reads and checks"| node_windows_riches
node_linux_generator -->|"prints address and match"| node_console
node_windows_generator -->|"prints address and match"| node_console
node_linux_generator -->|"writes on match"| node_success_file
node_windows_generator -->|"writes on match"| node_success_file

click node_linux_generator "https://github.com/michal2sab/ethereum-stealer/blob/main/Linux/generator.js"
click node_windows_generator "https://github.com/michal2sab/ethereum-stealer/blob/main/Windows/generator.js"
click node_linux_riches "https://github.com/michal2sab/ethereum-stealer/blob/main/Linux/riches.txt"
click node_windows_riches "https://github.com/michal2sab/ethereum-stealer/blob/main/Windows/riches.txt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_linux_generator,node_windows_generator,node_ethers toneBlue
class node_linux_riches,node_windows_riches toneAmber
class node_console,node_success_file toneMint
class node_operator toneIndigo
```

## Components

### Wallet generation

- [Linux generator](https://github.com/michal2sab/ethereum-stealer/blob/main/Linux/generator.js): `Linux/generator.js`
- [Windows generator](https://github.com/michal2sab/ethereum-stealer/blob/main/Windows/generator.js): `Windows/generator.js`
- **ethers wallet API**

### Address matching

- [Linux riches list](https://github.com/michal2sab/ethereum-stealer/blob/main/Linux/riches.txt): `Linux/riches.txt`
- [Windows riches list](https://github.com/michal2sab/ethereum-stealer/blob/main/Windows/riches.txt): `Windows/riches.txt`

### Match results

- **Terminal output**
- **Success details file**

### Other components

- **Operator**

## Connections

- Operator → Linux generator: starts
- Operator → Windows generator: starts
- Linux generator → ethers wallet API: creates wallet
- Windows generator → ethers wallet API: creates wallet
- Linux generator → Linux riches list: reads and checks
- Windows generator → Windows riches list: reads and checks
- Linux generator → Terminal output: prints address and match
- Windows generator → Terminal output: prints address and match
- Linux generator → Success details file: writes on match
- Windows generator → Success details file: writes on match
