管理密钥
在 GoQuorum 中管理密钥的选项包括:
与 geth 一样,密钥可以存储在受密码保护的 keystore 文件中。
在 GoQuorum v2.6.0 中引入, clef 作为独立进程运行,通过处理 GoQuorum 的帐户管理职责来提高灵活性和安全性。
GoQuorum v2.7.0 中引入的 account 插件允许 GoQuorum 或 clef 使用管理帐户的替代方法扩展 。
使用Clef
什么是Clef?
clef 是在 Quorum v2.6.0. 中引入的。
GoQuorum 的 Clef 是标准的 go-ethereum clef 工具,额外支持 GoQuorum 特定的功能,包括:
支持私有交易
能够使用 account plugins 扩展功能
clef 作为一个单独的进程运行于 geth ,并提供了一种管理账户和签署交易 / 数据的替代方法。
geth 不是直接加载和使用帐户,而是将帐户管理职责委托给 clef 。
使用 clef 代替 geth 进行帐户管理有几个好处:
用户和 DApp 不再依赖于访问加载到有帐户的同步本地节点。
交易和 DApp 数据可以使用 clef 进行签名
未来与账户相关的功能可能只会在 clef 中可用,而在 geth 中找不到(例如, EIP-191 和 EIP-712 已在 clef 中实现,但无意在 geth 中实现它们) EIP-191 and EIP-712 have been implemented in clef , but there is no intention of implementing them in geth )
用户体验改进,以简化使用并提高安全性。
安装
通过使用 make all 从源代码构建 GoQuorum ,可以将 geth 和所有包含的工具( clef, bootnode )安装到 PATH 。
使用以下命令验证安装:
入门
有关谱号初始化、启动和自动化规则配置的概述和分步指南,请参见 cmd/clef/tutorial.md 。
使用
clef 可以通过以下两种方式使用:
作为外部签名者
作为 geth 签名者
作为外部签名者
使用 clef 作为外部签名者需要通过其 RPC API 与 clef 进行交互。 默认情况下,这是通过 IPC socket 公开的。 API 也可以使用 --rpcaddrCLI 标志通过 HTTP 公开。
作为 geth 签名者
使用 clef 作为 geth 签名者不需要通过 clef API 进行直接交互。 相反, geth 可以正常使用,并且会自动委托给 clef 。
使用 clef 作为 geth 签名者:
开始 clef
使用 --signer /path/to/clef.ipcCLI 标志启动 geth
示例工作流程:
启动 clef 并使其可以使用您的帐户
启动 geth 并且不要让您的帐户对其可用
使用 eth_sendTransaction 签署并提交交易以进行验证、传播和铸造
使用帐户插件扩展
默认情况下, clef 管理文件存储的密钥库帐户。 可以通过使用 account plugins 启用其他帐户管理选项。 有关使用带有 clef 的插件的更多信息,请参阅 Pluggable Architecture Overview 。
更多信息
可以在 cmd/clef directory 中的 .md 文件中找到更多信息。
帐户插件
account 插件可与 GoQuorum 或 clef 一起使用以提供额外的帐户管理。
我们建议先阅读 Plugins overview 以了解如何使用插件。
可用的帐户插件
与 GoQuorum 和 Clef 一起使用
RPC API
有限的 API 允许用户直接与 account 插件交互:
plugin@account_newAccount
使用新密钥创建插件管理帐户:
plugin@account_importRawKey
从现有的私钥创建一个插件管理的帐户:
CLI
有限的 CLI 允许用户直接与帐户插件交互:
geth 帐户新插件
从现有密钥创建插件管理帐户:
geth 帐户插件导入
从现有的私钥创建一个插件管理的帐户:
geth 帐户插件列表
列出给定配置的所有插件管理帐户:
开发人员 |
请参阅 For Developers |
修改日期 | 修改人 | 备注 |
2021-07-14 16:48:00[当前版本] | 姜天雨 | 修改内容 |
2021-07-14 16:44:48 | 姜天雨 | 修改内容 |
2021-07-14 16:43:54 | 姜天雨 | 创建版本 |
附件类型 | PNG |
|