Skip to main content

开发者账号

img

概览

ICP 开发者账号、或者身份,使用公私钥对进行身份验证。账号由主体来标识。主体则是一个通用的标识,用于表示用户、容器以及一些将来的其他概念。开发者账号的主体值是从账号对应的公钥中派生出来的。

ICP 开发者账号类似比特币或以太坊的钱包地址,其中一个主要的区别在于 ICP 账号没有初始余额。

ICP 身份术语

与 ICP 身份相关的术语还包括:

  • 账本账号标识符:与您的 ICP 账本账号相关联的标识符。

  • 钱包:用于存储各种代币。开发者主要使用 cycles 钱包来管理开发智能合约所需的 cycles。

  • 互联网身份 (Internet Identity) :ICP 的原生身份验证服务。互联网身份不使用用户名和密码、而是使用存储在本地设备硬件中的通行密钥 (passkey)。

账本与钱包的区别

在 ICP 上,账本是一个系统容器、用于存储账号及其交易。用户拥有一个账本账号标识符,账本账户用于持有 ICP 代币。要获取您的账本账户的信息,您需要查询账本系统容器。

ICP 上的钱包则用于存储 cycles,这些 cycles 可以发送给容器、以支付其消耗的资源。

在典型的开发者工作流程中,开发者会将 ICP 代币存入对应的账本账户,然后将这些代币转换为 cycles 存储在 cycles 钱包中。

创建账号

要创建一个新的开发者账户,请使用 IC SDK 工具 dfx,命令如下所示:

dfx identity new <identity_name>

使用 dfx 创建的身份是全局的,并不限于某个特定项目。身份名称必须使用以下字符:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_@0123456789

存储账户密钥

当使用 dfx 创建新的身份时,私钥会存储在 ~/.config/dfx/identity/<identity_name>/identity.pem 文件中。请务必将此文件备份到安全的地方。

另外您可以使用 --storage-mode 标志来创建受密码保护的 PEM 文件、或明文 PEM 文件。以下是一些示例:

dfx identity new <identity_name> --storage-mode password-protected

或者:

dfx identity new <identity_name> --storage-mode plaintext

更多关于创建账号的信息,请参考该指南

获取账号主体

您可以通过以下命令获取账号的主体标识符:

dfx identity use <identity_name>
dfx identity get-principal

主体标识符的格式类似于:

itk7v-ihlxk-ktdrh-fcnst-vkoou-orj77-52ogl-jqwj5-zpfdv-az3lr-xqe

您还可以通过运行以下命令来检查相应的私钥:

dfx identity export default

结果类似如下所示:

-----BEGIN EC PRIVATE KEY-----
MHQCAQEEIIGTvo7+8q+dRVoDWPVp1hBziKUEOffo1PDkY2Vn8sKMoAcGBSuBBAAK
oUQDQgAEXFFBa0oxGdamv537nusjtgVuzElEMtEbbj4dQ1xyu2WMa+PU9q9LIK26
Ar821EwGwp1Qc9Vv93FGPTvRb4HVXQ==
-----END EC PRIVATE KEY-----

导入账号

您可以使用以下命令将现有的 PEM 文件导入成为您的身份:

dfx identity import <identity_name> pem_file-name

此命令也支持 --storage-mode 标志,允许导入受密码保护的 PEM 文件、或明文 PEM 文件。

如何充值 ICP

当您拥有了开发者账号,您需要使用 ICP 来充值该账号。首先,您需要使用以下命令获取账户的账本账号标识符:

dfx identity use <identity_name>
dfx ledger account-id

该命令将返回对应账号在 ICP 账本上的账号编号:

e213184a548871a47fb526f3cba24e2ee2fbbc8129c4ab497ef2ce535130a0a4

接下来您需要将 ICP 代币发送到该账本账号标识符。您可以通过以下途径获取 ICP 代币:

  • 直接通过交易所购买 ICP 代币,请查看该页面以了解可以购买 ICP 代币的交易所;

  • 通过参与 IC 治理的奖励获得代币。;

  • 通过 Internet Computer Association(ICA)或 DFINITY 基金会的 grant 计划获得代币;

  • 作为节点提供者获得 ICP 代币,以作为提供算力的报酬。

当您的账号中收到了 ICP 代币,您可以使用以下命令查看余额:

dfx ledger balance --network ic

结果类似如下所示:

19.420000 ICP

更多关于 ICP 账本的命令,请参考该指南

有问题么?

欢迎大家随时向我们提出任何技术问题。我们会尽力尽快回应

  1. 上网比较方便的,在 ICP China 的 Twitter Community,用中文发帖提问

  2. 有经验的开发者在 DFINITY 基金会运营的开发者论坛上用英文提问

    info

    https://forum.dfinity.org/ ,可以 cue 我们:BenPaulVincentHerbert

  3. 深度 ICP 用户可以在 OpenChat 上的 IC123.xyz Community 里的频道 ic123.xyz 工作组 里提问题

    欢迎您申请 DFINITY 基金会的 Developer Grant 项目,加入互联网计算机的大家庭!