⚠️仅限学习使用⚠️

内部资料,禁止转载。

Identity

在Internet Computer中使用的identity dfx identity

dfx identity deploy-wallet <canister-id>
为提供canister id的canister下载wallet,一般使用dfx deploy的canister自动含有wallet

dfx identity get-principal
获取当前identity的pricipal。
理解 : 一个用户可以创建多个identity,每个identity唯一地与一个principal对应,这个“用户”的概念可以用ubuntu中root用户与普通权限的用户进行理解,在root权限下与在普通 用户的权限下使用的identity与principal是不同的。

dfx identity get-wallet
对于wallet:wallet是canister(或者说一个project)的一个属性,因此,需要在项目根目 录中(含有dfx.json文件)的文件夹中使用本命令。
理解:wallet是一个canister,每个project都有一个wallet canister,里面有用户的identity数据。

dfx identity import <identity名字> <pem文件路径(指定到.pem)>
从pem文件创建一个指定identity名字的identity,这个需要自己添加到canister中,使用
dfx identity list不能显示出本identity

dfx identity list
列出当前所有的identity

dfx identity new <identity名字,自己指定>
创建一个新的identiy, 使用dfx identity list可以显示出本identity

dfx identity remove <identity名字>
移除一个已经存在的identity

dfx identity rename <原来的identity名字> <新的identity名字>
对自己的某个identity重命名

dfx identity set-wallet <canister id>
设置你的wallet canister id

dfx identity use <identity名字>
使用指定的identity

dfx identity whoami
显示当前使用的identity名字

补充:

部署canister时可加参数,格式如下:

dfx deploy --argument '(...)'

本地调试时,caller是本地的identity principal,可以通过以下指令查询:

dfx identity get-principal

keysmith ⽤途: 获取密钥和identity

不能⽤来转账或者对消息进⾏签名,也不能转账,可以将keysmith与dfx结合使⽤

⽤法 :

keysmith account <seed.txt路径> 输出由seed.txt得到的account identifier keysmith generate 创建助记词,记录到seed.txt
keysmith legacy-address 显示根据seed.txt得到的财产地址
keysmith principal 显示根据seed.txt得到的应用于InternetComputer 的 principal

keysmith private-key 根据seed.txt得到私钥,将私钥写入identity.pem文件
keysmith public-key 显示根据seed.txt得到的公钥public key keysmith version 显示当前keysmith的版本
keysmith x-public-key 显示根据seed.txt得到的拓展公钥

A Student on the way to full stack of Web3.