tap-http 0.7.0

HTTP server for the Transaction Authorization Protocol (TAP)
Documentation
# TAP HTTP Command Line Tools

This directory contains command-line tools for working with the Transaction Authorization Protocol (TAP) via HTTP.

## TAP HTTP Server (`tap-http`)

The main HTTP server binary that provides DIDComm messaging capabilities for TAP. It creates an HTTP endpoint for receiving TAP messages and routes them to the TAP node for processing.

### Key Features

- Creates an ephemeral agent by default for easy testing
- Configurable logging with file rotation
- Structured JSON logging option
- Support for custom agent DIDs and keys
- Health check endpoint for monitoring

### Usage

```bash
# Run with default settings
tap-http

# Run with custom settings
tap-http --host 0.0.0.0 --port 8080 --endpoint /api/didcomm --logs-dir /var/log/tap
```

For complete documentation, see the main [TAP HTTP README](../README.md).

## TAP Payment Simulator (`tap-payment-simulator`)

A tool for simulating TAP payment flows by sending payment request and transfer messages to a TAP HTTP server. This is useful for testing and demonstrating the protocol.

### Key Features

- Creates an ephemeral agent for sending messages
- Simulates a complete payment flow with proper message sequence
- Configurable amount and currency
- Proper DIDComm message packing with signatures
- Follows the TAP protocol specification for message formats

### Usage

```bash
# Run with required parameters
tap-payment-simulator --url http://localhost:8000/didcomm --did did:key:z6Mk...

# Run with custom amount and currency
tap-payment-simulator --url http://localhost:8000/didcomm --did did:key:z6Mk... --amount 500 --currency EUR
```

### Flow Simulation

The payment simulator performs the following steps:

1. Creates an ephemeral agent with a unique DID
2. Generates a unique transaction ID
3. Sends a payment request message to the specified URL
4. Waits for 2 seconds
5. Sends a transfer message with the same transaction ID to complete the flow

This simulates a real-world payment flow where a customer first receives a payment request and then initiates a transfer to fulfill that request.

For complete documentation, see the main [TAP HTTP README](../README.md#creating-a-tap-payment-flow).