<h1 align="center">TonWeb Wallet Generator</h1>

<!-- The badges section -->
<p align="center">
  <!-- Shields.io Contributors -->
  <a href="https://github.com/sekuja/tonweb-wallet-generator/graphs/contributors"><img alt="Contributors" src="https://img.shields.io/github/contributors/sekuja/tonweb-wallet-generator"/></a>
  <!-- Shields.io Issues -->
  <a href="https://github.com/sekuja/tonweb-wallet-generator/issues"><img alt="Issues" src="https://img.shields.io/github/issues/sekuja/tonweb-wallet-generator"/></a>
  <!-- Shields.io License -->
  <a href="https://github.com/sekuja/tonweb-wallet-generator/blob/master/LICENSE"><img alt="License" src="https://img.shields.io/github/license/sekuja/tonweb-wallet-generator"/></a>
  <!-- Shields.io Stars -->
  <a href="https://github.com/sekuja/tonweb-wallet-generator/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/sekuja/tonweb-wallet-generator"/></a>
  <!-- Shields.io Downloads -->
  <a href="https://www.npmjs.com/package/tonweb-wallet-generator"><img alt="Downloads" src="https://img.shields.io/github/downloads/sekuja/tonweb-wallet-generator/total"/></a>
</p>

## 📖 Introduction

**TonWeb Wallet Generator** is a tool that generates wallet addresses for various versions of TON wallets using a seed phrase stored in a .env file. This tool utilizes the TonWeb library to interact with the TON blockchain.

## ⚙️ Features

- Validates the seed phrase.
- Converts the seed phrase to a seed.
- Retrieves the key pair (public and private keys) from the seed.
- Generates wallet addresses for various wallet versions (`v2R1`, `v2R2`, `v3R1`, `v3R2`, `v4R1`, `v4R2`).

## 📋 Requirements

- [Node.js](https://nodejs.org/) (v14 or higher)
- NPM (v6 or higher)

## 🚀 Steps

### Clone the repository

```
git clone https://github.com/sekuja/tonweb-wallet-generator.git
cd tonweb-wallet-generator
```

### Install dependencies

```
npm install
```

### Create and configure `.env` files

Add your seed phrase to the `.env` file:

```
SEED_PHRASE=your_seed_phrase_here
```

### Run script

Run the script using the following command:

```
npm start
```

The script will validate the seed phrase, generate the key pair, and output the public and private keys along with the wallet addresses for different wallet versions.

## 📊 Example Output

```
Public Key: <public_key>
Private Key: <private_key>
Wallet Address (v2R1): <address_v2R1>
Wallet Address (v2R2): <address_v2R2>
Wallet Address (v3R1): <address_v3R1>
Wallet Address (v3R2): <address_v3R2>
Wallet Address (v4R1): <address_v4R1>
Wallet Address (v4R2): <address_v4R2>
```

## 🔑 Private Key Length

The private key generated by this tool has a length of 128 characters in hexadecimal format.

## ⚠️ Error Handling

If the seed phrase is invalid or any other error occurs during execution, an appropriate error message will be displayed in the console.

## 👤 Author

- Twitter: [Sekuja](https://x.com/0xSekuja)
- Telegram: [Sekuja](https://t.me/sekuja)
- GitHub: [Sekuja](https://github.com/sekuja)

## 📜 License

- Copyright © 2024 Sekuja
- TonWeb Wallet Generator is an open source project licensed under the MIT license

## 💖 Support & Donation

Love the TonWeb Wallet Generator? Support this project with a donation to my TON address:

```
UQDMoRyYACfLDJbmvd8XdonsPaPJhALay86KIJ9hd1e-fVFW
```

**Made with ❤️ Sekuja**
