新手问答 EOS 帐户权限操作--你找不到的干货 (原创)

lome · 2018年01月25日 · 最后由 lome 回复于 2018年06月28日 · 1993 次阅读
本帖已被设为精华帖!

EOS 帐户权限

EOS每个帐户生成需要两对密匙,这个之前已经说过,每个密匙代表不同的权限。

active 表示帐户的活跃权限,包括转账,投票等权限。 owner 表示帐户的拥有着权限,可以管理用户的所有权限, 代表的是帐户的最高的权限。 官方白皮书对EOS权限管理的灵活,可以说是大肆褒奖,那么权限怎么管理呢?这就是今天我要说的问题。

目录

  • 查看权限
  • 改变权限
  • 增加权限
  • 删除权限

查看权限

有人说查看权限非常简单,不就是看看用户信息嘛! 其实不然,EOS用户的权限是与key相关联的,所以确定你有没有全县的其实是要看你有没有这些公匙对应的私匙:

  1. 查看自己帐户的详细信息: my account.png
  2. 查看打开的钱包里有没有帐户里Public key 对应的私匙,如果有对应的私匙,说明你拥有该公匙对应的权限: wallet.png

更改授权(群组)

初始化的帐户是有两种权限的,这一步我们来给帐户加一个权限(群组)。 1.这里我就拿我在测试的公网上的一个帐户, 初始化的帐户是这样的: lome4.png

  1. 下面讲解一下命令: > ./eosc set account permission 帐户名 权限 JSON 授权 ./eosc set account permission lome4 active '{"threshold": 1, "keys": [{"key": "EOS6ePVMSdSkGn4wDMqcCSTSN3GnRgEPxDPEioQQXUkfYxT8jrudg", "weight": 1}], "accounts": [{"permission":{"account":"lome5","permission":"active"},"weight": 1}]}' owner # threshold权限阀值,权限等于阀值才能获取该权限,否则授权失败 # keys 是该权限已授权的密匙 : keys中的key为授权的密匙对的公匙,weight 为授权密匙对的权重 ps: 若阀值是2,权重是1,是不能够完成授权的,操作将失败 # accounts 是该权限已授权的帐户: permission是被授权用户的权限这里指的就是lome的active权限 weight指的也是权重。ps:重要:授权用户权限其实跟授权key是一个道理,其实授权帐户权限,实质上就是授权该权限的密匙对权限。 # 最后owner是权限,只有owner权限才能改变用户的权限 下面我们来看一下授权以后的帐户权限 权限.png 下面我们来做一个实验,我将lome5的active key放入一个钱包,把lome4的所有权限锁定,我们尝试一下能不能转账: lome5的帐户详情如下: lome5.png 下面我将lome5的权限单独放到一个钱包,其他钱包全部锁起来,情况如下图: testwallet.png 这个时候按道理我们是没有lome4的active权限的,因为我们解锁的钱包中没有lome4的active key的密匙对,那么我转账试一下,见证奇迹的时刻: per0.png 是的我们转成功了!!是不是应该庆祝一下!! 那么我们再做一个实验,我们将key和lome5@active权重设置成1, 把lome4@active的阀值设置成2,那么会发生什么呢? 怎么该权限这里不再赘述,改完以后权限是这样的: per1.png 这时我们在刚才只有lome5权限的情况下转一次帐,情况如下: per2.png 那么我们再加入lome4@active权限呢?我猜权限肯定不一样了,如图: ./eosc wallet import -n test 私匙 #这一步把私匙加入刚才的钱包中 皮儿.png 可以看到这次的签名有两个,一个是lome4@active的签名,一个是lome5@active的签名。 ## 这样权限的修改及权限的作用就已经很清楚了

增加权限

增加权限首先要有所有者权限,相信经过上面的讲解,大家对权限已经很熟悉了,下面来让我们增加一个权限吧:

代码格式如下:

./eosc set account permission lome4 eosfans '{"permissions":[{"perm_name":"eosfans", "parent": "active", "required_auth":{"threshold":1, "keys":[], "accounts":[]}}]}' active   
#  这里我给帐户增加了一个权限名字叫eosfans,权限是lome@active权限下创建的,所以它的parent权限是active,权重阀值是1,这里就不再加了,天色不早了,哈哈哈。想赋值什么权限都可以根据上一节来

执行代码得到的lome4的帐户详情如下: per5.png 如图我的帐户里已经多了一个分组。

删除权限

终于来到了最后一节,恭喜你! 有人会说这个权限或者群组没用了怎么办?这节我就来教你,我们来删除它: 执行代码如下

./eosc set account permission lome4 eosfans 'NULL' active

命令就不再多赘述什么意思。这个命令中只有NULL前面没见过,这里是用来专门删除权限或者群组用的。执行结果如下: per6.png 怎么样?权限(群组)是不是没有了

结语

权限的增删改查,到这里都已经讲解完毕,如果对你学习eos真的有一些小作用请你将eosfans社区分享给身边学习eos的朋友,敬谢!! 若转载请注明出处。谢谢!!!

共收到 10 条回复
strahe 将本帖设为了精华贴 03月26日 03:41

不错不错.

不错,表示有用

mark001 EOS账号就是钱包吗? 中提及了此贴 04月26日 20:35

这个权限的增删改查现在格式不对了,有最新的格式吗

OuterST 回复

稍后会有

lome 回复

辛苦,看了两天了- -

lome EOS3.0 智能合约使用指南 中提及了此贴 04月28日 19:39

请问一下,可以解绑账户绑定的公钥吗?

图片怎么加载不出来了

dangerous 回复

图片资源有问题。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册