README
🚀 EVM 服务器
本项目是 EVM(Ethereum 虚拟机)服务器,支持多种区块链网络,提供丰富的资源接口和工具,可用于查询区块链数据、进行代币交互、操作智能合约等。
🚀 快速开始
开发步骤
- 安装依赖:
npm install - 启动服务器:
npm run dev - 调试工具:使用
ts-node进行模块调试
配置文件
- config/chains.ts:定义支持的区块链网络配置。
- config/secrets.ts:存储敏感信息,如 API 密钥。
✨ 主要特性
- 区块链数据:支持查询多个区块链网络的链信息、区块数据、交易记录等。
- 代币交互:支持 ERC20、ERC721 和 ERC1155 代币的余额查询、转账等功能。
- 智能合约:提供读取和写入智能合约的能力,支持 ABI 接口调用。
- ENS 解析:支持将 ENS 名称解析为地址。
- 工具与资源:提供了多种区块链开发工具和资源接口。
📦 安装指南
- 安装依赖:
npm install - 启动服务器:
npm run dev
📚 详细文档
项目结构
mcp-evm-server/
├── src/
│ ├── index.ts # 主标准输入输出服务器入口文件
│ ├── server/ # 服务器相关文件
│ │ ├── http-server.ts # 带 SSE 的 HTTP 服务器实现
│ │ └── server.ts # 通用服务器设置
│ ├── core/
│ │ ├── chains.ts # 链定义和工具函数
│ │ ├── resources.ts # MCP 资源实现
│ │ ├── tools.ts # MCP 工具实现
│ │ ├── prompts.ts # MCP 提示实现
│ │ └── services/ # 核心区块链服务
│ │ ├── index.ts # 操作导出
│ │ ├── balance.ts # 平衡服务
│ │ ├── transfer.ts # 代币转移服务
│ │ ├── utils.ts # 工具函数
│ │ ├── tokens.ts # 代币元数据服务
│ │ ├── contracts.ts # 合约交互服务
│ │ ├── transactions.ts # 交易服务
│ │ └── blocks.ts # 区块服务
│ │ └── clients.ts # RPC 客户端工具
├── package.json
├── tsconfig.json
└── README.md
资源接口
区块链资源 URI 模式
| 资源 URI 模式 | 描述 |
|-----------|-------------|
| evm://{network}/chain | 特定网络的链信息 |
| evm://chain | Ethereum 主网链信息 |
| evm://{network}/block/{blockNumber} | 按编号查询区块数据 |
| evm://{network}/block/latest | 最新区块数据 |
| evm://{network}/address/{address}/balance | 查询地址的原生代币余额 |
| evm://{network}/tx/{txHash} | 交易详情查询 |
| evm://{network}/tx/{txHash}/receipt | 交易收据及日志 |
代币资源 URI 模式
| 资源 URI 模式 | 描述 |
|-----------|-------------|
| evm://{network}/token/{tokenAddress} | ERC20 代币信息 |
| evm://{network}/token/{tokenAddress}/balanceOf/{address} | 查询指定地址的 ERC20 代币余额 |
| evm://{network}/token/{tokenAddress}/nft/{tokenId} | 查询指定 tokenId 的 NFT 信息 |
| evm://{network}/token/{tokenAddress}/metadata | 获取代币元数据 |
| evm://{network}/token/{tokenAddress}/transfer | 发送 ERC20 代币 |
工具实现
核心工具类
- ChainManager:管理多个区块链网络的连接和配置。
- TxBuilder:交易构建器,支持多种链上操作。
- ContractCaller:智能合约调用工具,支持 ABI 接口。
代币工具类
- TokenBalanceQuery:用于查询代币余额。
- TokenTransfer:实现代币转账功能。
- NFTManager:管理 NFT 资产,支持 mint、burn 等操作。
安全注意事项
- 私钥安全:所有私钥操作必须在可信环境中进行,禁止明文存储或传输。
- 网络隔离:生产环境和测试环境应严格隔离,防止数据泄露。
- 权限控制:对敏感操作实施严格的权限验证。
- 监控审计:部署实时监控和审计系统,记录所有关键操作。
术语表
- EVM:Ethereum 虚拟机,运行智能合约的环境。
- ERC20:基于 Ethereum 的代币标准。
- ERC721:NFT 标准协议。
- ERC1155:多令牌标准协议。
- SSE:服务器端事件,用于实时通信。
📄 许可证
本项目遵循 MIT 协议。
Scan to contact