EOS 开发入门:使用 cleos create key 生成区块链账户密钥对(公钥与私钥)完整指南
区块链【免费下载链接】eosAn open source smart contract platform项目地址https://gitcode.com/gh_mirrors/eo/eos点击查看免费下载导读本文基于当前 EOS 开源仓库eos中的官方操作指南docs/02_cleos/02_how-to-guides/how-to-create-key-pairs.md系统讲解如何在 EOSIO 区块链上通过cleos create key命令生成用于交易签名的密钥对公钥 私钥。读完本文你将掌握密钥对生成的全部命令形式控制台输出与文件保存、底层生成原理K1/R1 曲线与 EOS 前缀格式并理解密钥对在钱包导入、账户创建Owner/Active 权限中的实际用途。目标Goal创建一个由公钥Public Key和私钥Private Key组成的密钥对用于在 EOSIO 区块链上签署交易。私钥用于签名授权公钥则对全网公开用于验证签名、绑定账户权限。开始之前Before you begin在按步骤生成新密钥对之前请确认以下前置条件已满足安装当前受支持的cleos版本。理解非对称密码学公钥/私钥对在区块链场景下的基本概念。关于第一条需要特别说明的是cleos工具随 EOSIO 软件一起分发安装 EOSIO 时即会同时安装cleos工具无需单独安装。安装完成后可通过cleos version client命令确认版本信息。操作步骤Steps方式一生成密钥对并输出到控制台要生成一个密钥对并直接把结果打印到控制台执行cleos create key --to-console示例输出cleos create key --to-console Private key: 5KPzrqNMJdr6AX6abKg*******************************cH Public key: EOS4wSiQ2jbYGrqiiKCm8oWR88NYoqnmK4nNL1RCtSQeSFkGtqsNc输出解读Private key:一行是私钥以5开头是账户的“命脉”必须绝对保密任何持有私钥的人都能以该密钥对应的权限签名交易、动用资产。Public key:一行是公钥以EOS前缀开头是对外公开的地址标识用于绑定到账户权限如 Owner / Active。注意上面的输出中私钥被*部分遮挡是文档展示时的脱敏处理。实际执行命令时cleos会打印完整私钥。请务必妥善保管切勿泄露。方式二生成密钥对并保存到文件要生成密钥对并保存到文件中执行cleos create key --file FILE_TO_SAVEKEY其中FILE_TO_SAVEKEY为保存密钥的文件名。示例输出cleos create key --file pw.txt saving keys to pw.txt查看文件中保存的密钥对cat pw.txt Private key: 5K7************************************************ Public key: EOS71k3WdpLDeqeyqVRAAxwpz6TqXwDo9Brik5dQhdvvpeTKdNT59同样地文件中的私钥也会被*部分遮挡展示实际文件内容为完整密钥。若文件已存在cleos会直接覆盖写入因此请谨慎选择文件名避免覆盖已有密钥文件。深入源码cleos create key 的底层实现cleos create key子命令的实现位于 programs/cleos/main.cpp。核心逻辑如下为便于理解已做简化摘录bool r1 false; string key_file; bool print_console false; auto create_key create-add_subcommand(key, ...)-callback([r1, key_file, print_console](){ if (key_file.empty() !print_console) { std::cerr ERROR: Either indicate a file using \--file\ or pass \--to-console\ std::endl; return; } auto pk r1 ? private_key_type::generate_r1() : private_key_type::generate(); auto privs pk.to_string(); auto pubs pk.get_public_key().to_string(); if (print_console) { std::cout Private key: privs std::endl; std::cout Public key: pubs std::endl; } else { std::cerr saving keys to key_file std::endl; std::ofstream out(key_file.c_str()); out Private key: privs std::endl; out Public key: pubs std::endl; } }); create_key-add_flag( --r1, r1, Generate a key using the R1 curve (iPhone), instead of the K1 curve (Bitcoin) ); create_key-add_option(-f,--file, key_file, Name of file to write private/public key output to.); create_key-add_flag( --to-console, print_console, Print private/public keys to console.);从源码可以确认以下关键事实三选一约束必须显式传入--file或--to-console二者之一否则cleos会打印ERROR: Either indicate a file using --file or pass --to-console并中止。这是命令的强制校验逻辑。密钥生成入口默认调用private_key_type::generate()即生成 K1 曲线密钥若传入--r1标志则调用private_key_type::generate_r1()生成 R1 曲线密钥主要用于 iPhone 等 Apple 平台生态。private_key_type在 libraries/chain/include/eosio/chain/types.hpp 中定义为fc::crypto::private_key由底层加密库libraries/fc提供椭圆曲线实现。输出格式私钥通过pk.to_string()序列化为 WIFWallet Import Format格式字符串公钥通过pk.get_public_key().to_string()序列化为带EOS前缀的 Base58 字符串。双通道输出--to-console模式把密钥打印到标准输出std::cout--file模式则通过std::ofstream写入指定文件同时把saving keys to ...提示打到标准错误std::cerr。可选参数一览参数简写含义默认行为--to-console无将公钥/私钥打印到控制台未指定且未传--file时报错-f, --file-f将公钥/私钥写入指定文件未指定且未传--to-console时报错--r1无使用 R1 曲线iPhone 场景生成密钥默认使用 K1 曲线Bitcoin 场景关于曲线与密钥格式的补充说明K1 曲线即 secp256k1与比特币采用的椭圆曲线相同是 EOSIO 默认且最广泛使用的曲线。生成的公钥带EOS前缀如EOS71k3WdpLDeqeyqVRAAxwpz6TqXwDo9Brik5dQhdvvpeTKdNT59。R1 曲线即 secp256r1NIST P-256常用于 iOS/iPhone 硬件安全模块Secure Enclave生成的密钥。使用--r1生成后公钥前缀会相应变化。两种曲线生成的私钥均为 WIF 格式通常以5开头但请注意K1 与 R1 的密钥不能混用使用前需确认账户绑定的公钥对应的曲线类型。密钥对的典型应用场景场景一导入钱包keosdcleos create key生成的私钥需要导入本地钱包keosd后才能用于签名交易。导入命令为cleos wallet import --private-key PRIVATE_KEY详细流程可参考仓库文档 how-to-import-a-key.md。场景二创建账户Owner / Active 权限EOSIO 账户创建时需要绑定至少两个密钥对Owner 密钥账户最高权限与Active 密钥日常交易权限。创建账户前通常需要准备两组密钥例如cleos create key --to-console # 生成 Owner 密钥对 cleos create key --to-console # 生成 Active 密钥对随后使用cleos create account创建账户将两个公钥分别填入owner与active权限字段。完整示例可参考 how-to-create-an-account.md其中展示了newaccount动作的 JSON 结构{ creator: eosio, name: bob, owner: { threshold: 1, keys: [{key: EOS87TQktA5RVse2EguhztfQVEh6X..., weight: 1}] }, active: { ... } }场景三权限管理linkauth 与多签密钥对还常用于权限链接与多签配置相关操作可参考 how-to-link-permission.md 与 how-to-config-a-multisig-account.md。安全最佳实践私钥绝不外泄私钥等同于账户的完全控制权。不要将私钥提交到版本库、聊天工具或任何非加密渠道。优先使用文件保存 权限收紧生产环境建议使用--file保存密钥并限制文件访问权限如600。区分环境开发测试环境与主网环境的密钥严格隔离避免误用。善用--r1场景仅当目标平台如 iPhone 生态确实需要 R1 曲线密钥时才使用--r1否则保持默认 K1。定期轮换 Active 密钥账户创建后可通过cleos set account系列命令更新 Active 公钥降低私钥泄露造成的损失范围。常见问题排查报错ERROR: Either indicate a file using --file or pass --to-console说明未指定任一输出方式。请补上--to-console或-f 文件名后重试。私钥无法导入钱包确认生成的曲线类型K1/R1与账户公钥一致且私钥字符串完整无缺。输出文件内容为空检查当前用户对目标目录是否有写权限saving keys to ...提示出现在标准错误而非标准输出不影响文件生成。关联文档与进一步阅读安装 EOSIO含 cleos创建账户使用密钥对绑定 Owner/Active 权限导入私钥到钱包创建密钥对的官方指南原文cleos 命令参考create 子命令cleos 全部源码main.cpp通过以上内容你已经完整掌握cleos create key的使用方法、底层实现与实战场景可以开始为你的 EOSIO 应用生成安全的账户密钥对。赞分享区块链【免费下载链接】eosAn open source smart contract platform项目地址https://gitcode.com/gh_mirrors/eo/eos点击查看免费下载相关推荐EOSIO cleos create 命令完全指南密钥对生成与链上账户创建EOSIO cleos create 命令完全指南密钥对生成与链上账户创建 导读 cleos create 是 EOSIO 命令行客户端提供的复合命令用于在区块链eos 密钥管理实战使用 cleos wallet keys 与 private_keys 列出钱包公私钥对eos 密钥管理实战使用 cleos wallet keys 与 private_keys 列出钱包公私钥对 本指南以 docs/02_cleos/02_ho区块链EOSIO 账户密钥更新实战使用 cleos 修改账户权限密钥EOSIO 账户密钥更新实战使用 cleos 修改账户权限密钥 本指南以 eos 仓库官方 How To 文档 how to update account k区块链创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

RenderDoc 功能测试与验证指南:从 ad-hoc 手测到自动化测试套件

RenderDoc 功能测试与验证指南:从 ad-hoc 手测到自动化测试套件

开发工具调试器图形学GPU 【免费下载链接】renderdoc RenderDoc is a stand-alone graphics debugging tool. 项目地址: https://gitcode.com/gh_mirrors/re/renderdoc 点击查看 免费下载 本指南面向 RenderDoc 的贡献者与二次开发者,系统说明在为 Rend…

2026/9/24 4:51:31 阅读更多 →
DP83848工业以太网PHY设计调试全攻略:从硬件到驱动

DP83848工业以太网PHY设计调试全攻略:从硬件到驱动

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 4:51:30 阅读更多 →
Swagger Codegen 生成 Java 客户端指南:解析 google-api-client 版 AnotherFakeApi 与 testSpecialTags 调用

Swagger Codegen 生成 Java 客户端指南:解析 google-api-client 版 AnotherFakeApi 与 testSpecialTags 调用

开发工具代码生成API设计 【免费下载链接】swagger-codegen swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. 项目地址: http…

2026/9/24 4:51:30 阅读更多 →

最新新闻

从 Yii 1.1 升级到 Yii 2.0:核心架构差异与迁移实践全指南(Yii 2 Framework)

从 Yii 1.1 升级到 Yii 2.0:核心架构差异与迁移实践全指南(Yii 2 Framework)

后端Web框架 【免费下载链接】yii2 Yii 2: The Fast, Secure and Professional PHP Framework 项目地址: https://gitcode.com/gh_mirrors/yi/yii2 点击查看 免费下载 Yii 2.0 是相对 1.1 完全重写的一代框架,两者在命名空间、对象模型、事件机制、Acti…

2026/9/24 7:06:51 阅读更多 →
案例4.6 image组件:14种显示模式详解与学习笔记

案例4.6 image组件:14种显示模式详解与学习笔记

一、案例概述本案例来自《微信小程序开发》课程,由逄焕刚老师设计,主要演示微信小程序中 image 组件的使用方法和不同显示模式的实现效果。通过本案例的学习,我们可以掌握 image 组件的基础用法、14种显示模式的区别,以及如何通过…

2026/9/24 7:06:50 阅读更多 →
一键部署 acg-faka 发卡系统

一键部署 acg-faka 发卡系统

一条命令,在一台干净的 Linux 服务器上把 acg-faka(异次元店铺系统) 跑起来。脚本会自动装 Docker、拉上游源码、构建应用镜像(nginx PHP-FPM)、拉起 MySQL 与 Redis、顺手修掉一个会让安装向导失败的权限坑&#xff…

2026/9/24 7:06:50 阅读更多 →
OpenLayers 10.2.1 补丁版解析:移除重投影瓦片缓存,修复缺失瓦片问题

OpenLayers 10.2.1 补丁版解析:移除重投影瓦片缓存,修复缺失瓦片问题

前端GIS数据可视化 【免费下载链接】openlayers OpenLayers 项目地址: https://gitcode.com/gh_mirrors/op/openlayers 点击查看 免费下载 OpenLayers 10.2.1 是一个聚焦于修复的补丁版本,核心变更是通过 PR #16221「Get rid of reprojection tile cach…

2026/9/24 7:06:50 阅读更多 →
Manim 渲染故障排查实战指南:video-use manim-video 技能的 Troubleshooting 全解

Manim 渲染故障排查实战指南:video-use manim-video 技能的 Troubleshooting 全解

AI 技能/插件音视频视频处理人工智能 【免费下载链接】video-use Edit videos with coding agents 项目地址: https://gitcode.com/GitHub_Trending/vid/video-use 点击查看 免费下载 导读 本指南以 video-use 仓库中 manim-video 技能的 troubleshooting.md 为骨…

2026/9/24 7:06:50 阅读更多 →
PostGraphile wrapPlans 解析器仿真警告(wpr)深度解析:成因、风险与三种解决方案

PostGraphile wrapPlans 解析器仿真警告(wpr)深度解析:成因、风险与三种解决方案

后端API网关 【免费下载链接】crystal 🔮 Graphiles Crystal Monorepo; home to Grafast, PostGraphile, pg-introspection, pg-sql2 and much more! 项目地址: https://gitcode.com/gh_mirrors/cry/crystal 点击查看 免费下载 本篇文章围绕 PostGraphi…

2026/9/24 7:05:49 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/23 4:49:06 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/23 9:53:40 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/23 9:53:40 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/23 9:53:40 阅读更多 →