# Transaction Bot 监控

### Transaction Bot 监控是什么？

Transaction Bot 监控主要用于链上交易监控。

### Transaction Bot 监控典型场景

1. 监控目标发送人的交易
2. 监控目标接受人的交易
3. 监控 ETH 大于或小于目标阈值发送告警
4. 监控特定 methodId 的交易

**支持的数据源**

| 数据源           | 类型       | 稳定性 |
| ------------- | -------- | --- |
| Ethereum      | on chain | 极高  |
| BSC           | on chain | 高   |
| Avalanche     | on chain | 高   |
| Polygon Pos   | on chain | 高   |
| Arbitrum      | on chain | 高   |
| Optimism      | on chain | 高   |
| Polygon zkEVM | on chain | 高   |
| ZkSync Era    | on chain | 高   |
| Base          | on chain | 高   |
| Scroll        | on chain | 高   |
| Manta         | on chain | 高   |
| ZKFair        | on chain | 高   |
| Blast         | on chain | 高   |
| Linea         | on chain | 高   |
| B2            | on chain | 高   |
| Merlin        | on chain | 高   |

### 如何配置 Transaction Bot 监控？

登录 ChainBot 平台后，右上角 "Create Bot" -> "Transaction Monitor"。

<figure><img src="/files/HQL7YSB4iLxk76UU5pef" alt=""><figcaption><p>Create a Transaction Bot</p></figcaption></figure>

#### Info 说明

| 字段名      | 说明               | 是否必填 |
| -------- | ---------------- | ---- |
| Name     | Bot 监控名          | 是    |
| Chain    | 选定的 Chain        | 是    |
| Contract | 选定的智能合约地址        | 是    |
| Function | 选定的智能合约的方法       | 是    |
| Tags     | Bot 监控 tags，利于搜索 | 是    |

#### Conditions 说明

<table><thead><tr><th>参数</th><th width="202.33333333333331">Symbol</th><th>说明</th></tr></thead><tbody><tr><td>From</td><td>==, in</td><td>发送交易的 from 参数，不同链的格式不同</td></tr><tr><td>To</td><td>==, in</td><td>发送交易的 to 参数</td></tr><tr><td>Value</td><td>>, >=, &#x3C;, &#x3C;=, ==, !=, in</td><td>发送交易的 value 参数，默认为 wei，1ETH == 1000000000000000000</td></tr><tr><td>methodId</td><td>==, in</td><td>发送交易的 MethodID，必须为 0x 开头的4个字节，例如 0x95d89b41</td></tr><tr><td>data</td><td>可以为空</td><td>整体字符串</td></tr></tbody></table>

#### 模板变量说明

<table><thead><tr><th width="331">变量</th><th>说明</th></tr></thead><tbody><tr><td>$subscription.name</td><td>订阅名称，一般和 Bot 监控同名</td></tr><tr><td>$chain.explore</td><td>链浏览器前缀</td></tr><tr><td>$chain.network</td><td>链的 chainId</td></tr><tr><td>$block.time</td><td>交易产生的区块时间</td></tr><tr><td>$tx.hash</td><td>交易 hash</td></tr><tr><td>$tx.height</td><td>交易产生的区块高度</td></tr><tr><td>$tx.nonce</td><td>交易 nonce 值</td></tr><tr><td>$tx.from</td><td>交易发送地址</td></tr><tr><td>$tx.to</td><td>交易接收地址</td></tr><tr><td>$tx.value</td><td>交易以太数值，如果以 ETH 为单位，则应该填写 $tx.value/1e18</td></tr><tr><td>$tx.gas</td><td>交易消耗的 Gas 费</td></tr><tr><td>$tx.gasPrice</td><td>交易的 gasPrice</td></tr><tr><td>$tx.input</td><td>交易的 input_data</td></tr><tr><td>$tx.type</td><td>交易类型</td></tr><tr><td>$tx.accessList</td><td>支持部分交易</td></tr><tr><td>$tx.chainId</td><td>交易的 ChainID</td></tr><tr><td>$tx.maxFeePerGas</td><td>ERC-1155 之后才有</td></tr><tr><td>$tx.maxPriorityFeePerGas</td><td>ERC-1155 之后才有</td></tr><tr><td>$tx.r</td><td>交易签名的 R 值</td></tr><tr><td>$tx.s</td><td>交易签名的 S 值</td></tr><tr><td>$tx.v</td><td>交易签名的 V 值</td></tr><tr><td>$tx.method</td><td>交易的方法名</td></tr></tbody></table>

#### 默认告警模板

```
[{$bot.name}]
From: {$tx.from}
To: {$tx.to}
Detail: {$parsed.message}
Method: {$tx.method}
Status: {$tx.status}
Explore: {$chain.explore}/tx/{$tx.hash}
Time: {$alert.time}
```

[了解告警通知模板？](/zh/advanced-features/alarm-notification-template.md)

#### 通知消息示例

> \[ Transaction Monitor ]\
> Name: mim增发监控\
> From: 0xfddfe525054efaad204600d00ca86adb1cc2ea8a\
> To: 0x5f0dee98360d8200b20812e174d139a1a633edd2\
> Method: execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\
> Explore: <https://etherscan.io/tx/0x5a1a9f01fd3fad6fa3909bcdd284e8023eedf9797d94458a13bb6df929d80a1a>\
> Time: 2022-05-10 22:40:29 +0800 CST
>
> Created By [ChainBot.io](https://www.chainbot.io)

#### Transaction Bot 监控案例

[Transaction Bot 案例](/zh/bot-case/transaction-bot-demo.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chainbot.io/zh/basic-usage/bots/transaction-bot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
