# n8n Ethereum Node

A comprehensive n8n node for interacting with the Ethereum blockchain, including wallet creation, sending ETH/ERC20 tokens, and balance checking.

## Features

### Wallet Operations
- **Create Wallet**: Generate new Ethereum wallets with private keys and mnemonics (no credentials required)
- **Get Balance**: Check ETH balance of any wallet address (credentials required if no address provided)

### Transaction Operations
- **Send ETH**: Transfer ETH between addresses using wallet credentials (credentials required)
- **Get Transaction**: Retrieve transaction details by hash (no credentials required)

### Token Operations
- **Send Token**: Transfer ERC20 tokens between addresses using wallet credentials (credentials required)
- **Get Token Balance**: Check ERC20 token balances (credentials required if no address provided)

## Credentials

The node uses the **EthereumWallet** credential for operations that require private keys:

**Operations requiring credentials:**
- Send ETH
- Send ERC20 tokens
- Get Balance (when no specific address is provided)
- Get Token Balance (when no specific address is provided)

**Operations NOT requiring credentials:**
- Create Wallet
- Get Transaction Details

## Configuration

### RPC Configuration
Each operation can optionally specify a custom RPC URL. If not provided, the default endpoint `https://ethereum-rpc.publicnode.com` will be used.

### Chain ID
All operations use Ethereum mainnet (Chain ID = 1).

## Common Token Addresses


- **USDT**: `0xdAC17F958D2ee523a2206206994597C13D831ec7` (6 decimals)
- **WETH**: `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` (18 decimals)

## Error Handling

The node includes comprehensive error handling for:
- Invalid addresses
- Insufficient funds
- Network connectivity issues
- Invalid transaction hashes
- Token contract errors

## Development

```bash
npm install
npm run build
```

## Changelog

- **v1.0.0**: Initial release with wallet, transaction, and token operations
- Added support for multiple wallet creation
- Added decimal support for token transfers
- Added optional RPC URL configuration per operation
- Added credential-based security for private key operations 