README
🚀 MCP 协议实现
MCP 协议实现是一款强大的工具,支持 ERC20、ERC721 和 ERC1155 代币标准。它集成了钱包功能、代币操作和智能合约交互,极大地便利了区块链开发。
🚀 快速开始
MCP 协议实现为区块链开发者提供了便捷的功能,以下是使用前的准备步骤。
环境变量设置
将以下内容添加到您的项目根目录的 .env 文件中:
ALCHEMY_API_KEY=your_alchemy_api_key
INFURA_PROJECT_ID=your_infura_project_id
服务启动
在终端中运行以下命令启动 MCP 服务器:
npm run start
📦 安装指南
网络配置
将您的网络配置添加到 config/networks.json 文件中,例如:
{
"mainnet": {
"name": "Ethereum Main Network",
"chainId": 1,
"providerType": "ALCHEMY"
},
"ropsten": {
"name": "Ethereum Test Network - Ropsten",
"chainId": 3,
"providerType": "INFURA"
}
}
✨ 主要特性
钱包功能
- 钱包创建:生成新的 Ethereum 钱包地址。
- 私钥管理:支持将私钥保存到环境变量或内存中。
- 余额查询:获取指定地址的 ETH 和代币余额。
代币操作
- ERC20:实现代币的基本功能,如转账、批准等。
- ERC721:支持 NFT 的铸造、转移和所有权查询。
- ERC1155:实现批量代币操作,包括单个和多个代币的转移。
智能合约交互
- 方法调用:通过ABI接口调用智能合约的方法。
- 事件监听:实时监控区块链上的事件。
- 交易处理:发送和确认交易请求。
缓存机制
系统为以下操作启用了缓存功能:
- 代币信息(名称、符号、小数位)
- 代币余额
- 合约方法调用
默认情况下,缓存的有效期为 1 小时。您可以在 config/cache.json 中自定义缓存策略。
速率限制
为了防止滥用和确保系统的稳定性,服务器对以下操作实施了速率限制:
- 写入操作(转账、授权)
- 钱包生成
- 合约交互
错误处理
系统提供详细的错误信息和状态码,便于调试和问题排查。所有错误都经过安全处理,防止敏感数据泄露。
📚 详细文档
开发指南
构建项目
运行以下命令进行构建:
npm run build
测试套件
使用 Bun 运行所有测试(推荐)
# 在终端启动 Hardhat 节点
npx hardhat node
# 运行所有测试用例
bun test
仅运行 MCP 客户端测试
bun run test:client:mcp
安全注意事项
⚠️ 重要提示
- 钱包功能默认不将私钥保存到文件系统。建议在处理敏感操作时谨慎使用
saveToEnv选项。- 确保
.env文件的安全性,避免泄露 API 密钥。
📄 许可证
MCP 协议实现遵循 MIT 许可证,允许自由使用、修改和分发。
Scan to contact