返回顶部
b

base-walletBase钱包

🔐 Base Wallet - Crypto Identity for AI Agents. Create wallets, sign messages (SIWE), send transactions programmatically. No browser extensions, no human intervention. The foundation for autonomous Web3 agents.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.5.0
安全检测
已通过
2,255
下载量
免费
免费
2
收藏
概述
安装方式
版本历史

base-wallet

🔐 Base Wallet - AI代理的加密身份

每个自主代理都需要一个钱包。无需人工帮助即可创建。

概要: 在Base/Ethereum上以编程方式创建钱包。支持SIWE认证、余额查询、交易操作。

为什么选择Base Wallet?

  • - 真正的自主性 — 您的代理自主创建并控制自己的钱包
  • 无需浏览器 — 纯命令行操作,无需扩展或弹窗
  • SIWE就绪 — 支持以太坊登录Web3服务
  • 默认安全 — 使用环境变量,不存储明文密钥

以编程方式创建和管理Base链(兼容以太坊)钱包。



⚠️ 安全第一


✅ 正确做法❌ 错误做法
使用环境变量存储私钥将私钥存储在纯文本文件中
将钱包文件权限设置为chmod 600
将钱包文件提交到git |
| 使用--env模式(推荐) | 使用console.log(privateKey) |
| 离线备份助记词 | 分享私钥或助记词 |


快速开始

创建新钱包(推荐)

bash

以环境变量格式输出(最安全)


node scripts/create-wallet.js --env

输出示例:

export WALLET_ADDRESS=0x...

export PRIVATE_KEY=0x...

然后复制到您的shell或.env文件中。

创建并存储为文件(可选)

bash

仅当您需要基于文件的存储时


node scripts/create-wallet.js --managed my-agent

⚠️ 这会将私钥存储在~/.openclaw/wallets/my-agent.json中



使用示例

从环境变量加载钱包

javascript
const { ethers } = require(ethers);

// ✅ 安全:从环境变量加载
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY);
console.log(地址:, wallet.address);
// ❌ 切勿:console.log(私钥:, wallet.privateKey);

从助记词加载

javascript
const wallet = ethers.Wallet.fromPhrase(process.env.MNEMONIC);

查询余额

javascript
const provider = new ethers.JsonRpcProvider(https://mainnet.base.org);
const balance = await provider.getBalance(wallet.address);
console.log(余额:, ethers.formatEther(balance), ETH);

签名消息(SIWE)

javascript
const message = example.com 希望您使用您的以太坊账户登录:
${wallet.address}

登录消息

URI: https://example.com
版本: 1
链ID: 8453
随机数: ${nonce}
发布时间: ${new Date().toISOString()};

const signature = await wallet.signMessage(message);

发送交易

javascript
const provider = new ethers.JsonRpcProvider(https://mainnet.base.org);
const connectedWallet = wallet.connect(provider);

const tx = await connectedWallet.sendTransaction({
to: recipientAddress,
value: ethers.parseEther(0.001)
});

const receipt = await tx.wait();
console.log(交易哈希:, tx.hash);



脚本


脚本描述
create-wallet.js --env创建钱包,输出为环境变量(推荐)
create-wallet.js --managed [名称]
创建钱包,保存到文件(可选) |
| create-wallet.js --json | 创建钱包,输出为JSON |
| basemail-register.js [名称] | 注册BaseMail邮箱 |
| check-balance.js [地址] | 查询钱包余额 |


BaseMail集成

使用您的钱包签名注册@basemail.ai邮箱。

bash

如果使用环境变量:


PRIVATE_KEY=0x... node scripts/basemail-register.js

如果使用托管钱包:

node scripts/basemail-register.js my-agent

网络配置

网络链IDRPC URL
Base主网8453https://mainnet.base.org
Base Sepolia测试网
84532 | https://sepolia.base.org |

📝 审计日志

操作记录到~/.base-wallet/audit.log。



安全存储模式

javascript
// ✅ 推荐:使用环境变量
const privateKey = process.env.PRIVATE_KEY;
if (!privateKey) {
throw new Error(未设置PRIVATE_KEY环境变量);
}
const wallet = new ethers.Wallet(privateKey);

// ❌ 避免:将私钥存储在代码或文件中

如果必须存储到文件(不推荐):

javascript
const fs = require(fs);
const path = require(path);

// 使用受限权限存储
const filepath = path.join(process.env.HOME, .openclaw, wallets, wallet.json);
fs.writeFileSync(filepath, JSON.stringify({
address: wallet.address,
// 仅在绝对必要时存储
privateKey: wallet.privateKey
}), { mode: 0o600 }); // 仅所有者可读写



.gitignore

添加到项目的.gitignore:

gitignore

钱包文件 - 切勿提交!


.openclaw/
*.wallet.json
*.mnemonic
private-key*


依赖

bash
npm install ethers



更新日志

v1.1.0 (2026-02-08)

  • - 🔐 安全:将create-wallet.js改为可选文件存储
  • ✨ 新增--env模式(推荐)
  • 📝 新增审计日志
  • ⚠️ 从示例中移除console.log(privateKey)
  • 📄 增强安全文档

v1.0.0

  • - 🎉 初始发布

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 base-wallet-1776344120 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 base-wallet-1776344120 技能

通过命令行安装

skillhub install base-wallet-1776344120

下载

⬇ 下载 base-wallet v1.5.0(免费)

文件大小: 9.68 KB | 发布时间: 2026-4-17 15:36

v1.5.0 最新 2026-4-17 15:36
Full English documentation

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部