Cardano Wallet
[!IMPORTANT]
自 2025 年 4 月 1 日起,Cardano Wallet 将进入 仅维护模式。Cardano Foundation 致力于 在可预见的未来通过升级到 cardano-node 的新版本、修复错误、提升代码和服务器稳定性 的质量与稳定性,以及提供 一般用户支持来维护它。
欢迎为新功能做出贡献, 并会经过严格审查,但 Cardano Foundation 不会开发 任何新功能。
概述
Cardano Wallet 是帮助您管理 ADA 的软件。
您可以使用此钱包在 Cardano 区块链 上发送和接收付款。
该项目提供了一个 HTTP 应用程序编程接口 (API) 和命令行接口 (CLI),用于操作您的钱包。
它可以用作前端组件,例如 Daedalus,它为钱包提供了友好的用户 界面。大多数希望使用 Cardano 的用户 应从 Daedalus 开始。
文档
| 链接 | 受众 |
|---|---|
| 文档 | |
| • 用户手册 | Cardano Wallet 用户 |
| ⤷ CLI 手册 | Cardano Wallet API 用户 |
| ⤷ API 文档 | Cardano Wallet API 用户 |
| • 设计文档 | 任何对钱包设计和规范感兴趣的人 |
| ⤷ 规范 | 任何对钱包设计和规范感兴趣的人 |
| • 贡献者手册 | 任何对该项目及其开发流程感兴趣的人 |
| Adrestia 文档 | 任何对该项目及其开发流程感兴趣的人 |
快速入门
cardano-wallet 可执行文件是一个管理您钱包的 HTTP 服务器。
为了检索区块链数据并发送交易,cardano-wallet 可执行文件必须连接到一个正在运行的 cardano-node 进程。本快速入门指南介绍了多种实现方式,您可以根据需求稍后进行自定义。
Docker
您可以使用 Docker 来下载、配置并启动 cardano-wallet 和 cardano-node 可执行文件。
首先,您需要选择一个要连接的 Cardano 网络。网络 mainnet 管理着真实的资金。网络 private、sanchonet 和 preprod 是测试网络。
cd 进入对应您所选 NETWORK 的目录 ./run/$NETWORK/docker。
然后
- 使用
./run.sh start启动节点和钱包 - 使用
./run.sh stop停止节点和钱包 - 使用
./run.sh logs检查日志 - 使用
./run.sh sync启动节点和钱包,等待它们完全同步到网络,然后再次停止
变量
start 命令接受的变量为:
WALLET_PORT(默认 8090):钱包将在您的主机上监听的端口,如果未指定,将使用随机端口WALLET_DB(默认./databases/wallet-db):存储钱包数据库的目录NODE_DB(默认./databases/node-db):存储节点数据库的目录NODE_SOCKET_DIR(默认./.):创建节点套接字的目录NODE_CONFIGS:获取节点配置文件的目录。如果未指定此变量,节点将使用镜像中的配置。 要使用 docker-compose.yml 文件,您必须反映镜像中节点配置文件的目录结构。WALLET_TAG(默认 2025.1.7):要使用的钱包镜像标签,可以是release-candidate
例如,要在 private 网络上启动钱包:
cd run/private/docker
WALLET_PORT=8090 ./run.sh start
curl http://localhost:8090/v2/network/information | jq
然后你可以使用以下命令检查日志
./run.sh logs
并使用以下命令停止服务
./run.sh stop
另请参阅 Docker 以获取有关使用 docker 的更多信息。
.env 文件
您可以通过在工作目录中填充 .env 文件来设置变量。
WALLET_PORT=8090
WALLET_DB=./my-databases/wallet-db
NODE_DB=./my-databases/node-db
NODE_SOCKET_DIR=/tmp/cardano-node-socket
NODE_CONFIGS=./my-configs-i-just-copied-from-a-malicious-site
WALLET_TAG=2026.7.23
Nix
你可以使用 Nix 下载 cardano-wallet 和 cardano-node 可执行文件。
cd 到对应你所选 NETWORK 的目录 ./run/$NETWORK/nix。
nix 脚本仅作为模板,你可以按需修改。
它实际上仅支持一个命令 sync,该命令会启动一个钱包和一个节点,
并使用钱包 API 等待节点同步完成,然后停止钱包和节点。
例如,要在 private 上使用 nix 同步一个节点:
cd run/private/nix
./run.sh sync
WALLET_TAG 在 nix 脚本中不受支持。您将运行刚刚克隆的代码。
NixOS 用户也可以使用 NixOS 服务。
在主网上运行
在 mainnet 上,cardano-node 的最低系统要求较高:
- 200GB 的磁盘空间(用于区块历史)
- 24GB 的 RAM(用于当前 UTxO 集)
为了加快同步过程,
您可以使用 mithril 下载 cardano-node 状态数据库的快照。
cd run/mainnet/docker
./snapshot.sh
snapshot.sh 将尝试使用 NODE_DB 作为存储快照的目录。
无论您是否使用了快照,现在都可以启动钱包
cd run/mainnet/docker
./run.sh start
请注意,钱包端口未对外暴露。 出于安全原因,你不应该将钱包端口暴露到互联网。 cardano-wallet 并非设计为暴露到互联网。 这无异于将银行账户的密钥暴露到互联网!
你可以通过将容器附加到网络并使用内部端口来连接钱包。
docker run --rm -it --network mainnet_default alpine/curl curl http://cardano-wallet:8090/v2/network/information | jq
或者修改 docker-compose.yml 以在 mainnet_default 网络中托管您的客户端。
在预发布环境运行
预发布网络在某个过去的区块处对 10.5.3 节点已损坏。
克服该限制的一种方法是下载一个使用旧版本节点(1.35.2)的快照,
以越过该点。
使用 snpashot.sh 下载该快照。
cd run/preprod/docker
./snapshot.sh
./run.sh sync
获取 cardano-wallet
可执行文件 (Linux / Windows / Mac OS)
我们在 releases 中提供可执行文件。请参阅发布说明中突出显示的安装说明。
从源码构建
参见 Building
测试
参见 Testing
历史
cardano-wallet 仓库是在 Cardano 区块链的 Shelley 阶段 期间引入的。
此前,在 Byron 阶段,钱包是 cardano-sl 仓库的一部分。(了解这一点很有用——过去的幽灵有时会以晦涩难懂的 bug 形式回来困扰我们。)