前置条件
您需要安装以下工具:- Node.js v18 或更高版本
- pnpm v8 或更高版本
- Docker Desktop(在本地运行 Envio 索引器所必需)
设置项目
首先,创建并进入一个新目录:获取合约 ABI
- 创建
abi.json文件:
- 从浏览器复制 WrappedMonad 的 ABI

- 将 ABI 粘贴到您的
abi.json文件中
初始化项目
运行初始化命令:- 询问文件夹名称时按回车(使用当前目录)
- 选择
TypeScript作为您的语言 - 选择
Evm作为区块链生态系统 - 选择
Contract Import进行初始化 - 选择
Local ABI作为导入方法 - 输入
./abi.json作为 ABI 文件路径 - 只选择
Transfer事件进行索引 - 选择
<Enter Network Id>并输入10143(Monad 测试网链 ID) - 输入
WrappedMonad作为合约名称 - 输入合约地址:
0xFb8bf4c1CC7a94c73D209a149eA2AbEa852BC541 - 由于我们只索引一个合约,选择
I'm finished - 选择创建或添加现有 API token。如果您选择创建新 token,将进入类似下图的页面:


config.yaml 文件,使事件处理器中能够获取交易哈希:
config.yaml
field_selection 配置的更多详情请见此处
启动索引器
启动 Docker Desktop。 在项目目录下运行以下命令启动索引器:
testing。


创建 Telegram 机器人
- 访问 BotFather 创建您的机器人并获取 API token
- 将这些环境变量添加到您的
.env文件:
- 创建一个 Telegram 群组并添加您的机器人
- 向机器人发送
/start:@YourBot /start - 访问
https://api.telegram.org/bot<YourBOTToken>/getUpdates - 查找频道的 chat ID(应以”-“开头)
如果您没有看到 chat ID,请尝试将机器人从群组中移除后重新添加。
将 Telegram API 集成到 HyperIndex 事件处理器
在项目目录的src 文件夹内创建 libs 文件夹,在其中创建 telegram.ts 文件并添加以下代码:
src/libs/telegram.ts
axios 包
src 文件夹中创建一个名为 constants.ts 的文件并添加以下代码:
src/constants.ts
src 文件夹中的 EventHandlers.ts,添加发送 Telegram 消息的代码:
src/EventHandlers.ts
src/libs 文件夹中创建 helpers.ts 文件,将以下代码粘贴进去:
src/libs/helpers.ts

您可能不会立即看到消息,因为索引器需要一些时间才能追上最新的区块。只有当索引器在已最终确定的区块中检测到 WMON 转账,且时间戳大于或等于索引器启动时间时,机器人才会为这些转账发送通知。

