npm package: @jovaylabs/jovay-cli
Description: CLI tool for Jovay network
Author: Jovay-Network
Latest version: 0.0.4

<div align="center">

# Jovay-Cli

The Command Line Interface (CLI) tool for developing on Jovay, a secure, open, and modular Layer2.

</div>

## 🚀 Requirements
- [Node.js](https://nodejs.org/en) (v20+)
- [Git](https://git-scm.com/install/)

## 🛠️ Local Development

Follow these steps to set up the project for local development and contributions.

### 1. Installation

First, clone the repository to your local machine. Then, install the required dependencies.

```bash
  npm install
```
### 2. Running in Development Mode
```bash
  npm run dev -- <command> [options]
```

### 3. Building for Production

This project is built with TypeScript. To compile the code into executable JavaScript in the ./bin directory, run the build script.
```bash
  npm run build
```

You can then run the compiled application directly using Node.js:

```bash
  node ./bin/index.js <command> [options]
```



## 📖 Commands

Run with: `npx jovay` without installation. For more information, please see [Guide](docs/guide/getting-started.md).

### Init

- `jovay init` - Init network and wallet configs for Jovay CLI toolkit.

### Network

- `jovay network get` - Get current Jovay network and wallet Info from configuration.
- `jovay network switch` - Switch network to Testnet or Mainnet.
- `jovay network set` - Update network config.

### Transaction
- `jovay transaction info` - Get transaction info from network.
- `jovay transaction send` - Send signed raw transaction to network.

### Wallet
- `jovay wallet set` - Update wallet config.
- `jovay wallet address` - Get current address from wallet config.
- `jovay wallet airdrop` - Request Jovay Sepolia ETH every 24 hours.
- `jovay wallet balance` - Get token balance for specified address.
- `jovay wallet approve` - Approve token to spender address.
- `jovay wallet transfer` - Transfer token to another address.

### Contract
- `jovay contract call` - Call contract.
- `jovay contract write` - Write contract.

### Bridge
- `jovay bridge deposit` - Deposit ETH from Ethereum (L1) to Jovay (L2).
- `jovay bridge withdraw` - Withdraw ETH from Jovay (L2) to Ethereum (L1).
- `jovay bridge finalize-withdraw` - Finalize an L2 withdrawal on L1 using proof data from the explorer.
- `jovay bridge claim-deposit` - Claim an L1 deposit on L2 if automatic relay did not run.

See [docs/guide/jovay-bridge.md](docs/guide/jovay-bridge.md) and [Network Information](https://docs.jovay.io/developer/network-information) for contract addresses, `msg.value`, and **deposit `--gas-limit`** (testnet may require values such as `500000` if the default `200000` reverts).

### Dapp
- `jovay dapp init` - Init dapp project with template.
- `jovay dapp build` - Build dapp project.
- `jovay dapp deploy` - deploy dapp project to network.

### Others
- `jovay --help` - Get information about commands.
- `jovay --version` - Get current version of Jovay-CLI.


## 💬 Community & Support

- Website: [Jovay.io](https://jovay.io/)
- Twitter: [@JovayNetwork](https://x.com/JovayNetwork)
- Discord: [Join our Discord](https://discord.com/invite/vBxayT6SBw)
- Telegram: [Join our Telegram](https://t.me/Jovay_Network)

## 📄 License
This repository is licensed under [MIT](./LICENSE).

[//]: # (## What's next)