如果你曾经尝试在本地运行 EOS 测试节点,会发现编译、运行并不是特别复杂,但官方教程里两个概念很容易把人搞晕: Account(账户)和 Wallet (钱包)。

EOS 的 Wallet 跟其他区块链项目是类似的,都是一个基本功能:本地储存密钥,仅此而已。你可能说了不对啊,其他项目的 Wallet 不光存密钥,还存代币呢。这里就是大家的一个误区,其他项目的 Wallet 也没有存你的代币,你的代币是存在整个区块链网络里的,只是区块链网络里的代币可以由你钱包里的密钥支配,给你了“钱包存代币”的错觉。那 EOS 的代币不由密钥支配?对,应该说不直接由密钥支配,先别急,先把 Wallet 说完。

Wallet = 本地存密钥,怎么存呢?一个 eosc (eos客户端) 可以建立多个 Wallet,每个 Wallet 可以存多个密钥(公/私钥对),不管这些密钥之间有没有关系,都能直接存在一起。每个 Wallet 都可以通过密码加密。EOS 公网上线后,一定要将存有密钥的 Wallet 加密,并且将 Wallet 文件单独备份好。 Wallet 密码也要单独备份。总而言之:私钥、Wallet 文件、Wallet 密码永远都在本地,不要上网,不要跟任何人分享。

Wallet 说完了,前面说 EOS 的代币不直接由密钥(或者钱包)支配,那由什么支配呢?答案就是 Account。Account 字面意思是“账户”,但我觉得有个概念更适合:“法人”。Account 是 EOS 网络的基本单位,是保存在区块链网络上的。一个 Account 背后可能只是一个自然人,也可能是一个数千人的大公司,或者是个智能合约。EOS 代币就是由 Account 持有的。先来看看最基本的情况:一个自然人持有一个 Account。

读过上篇文章的已经了解,每个 Account 有三种权限: Owner、Active、Recovery。

只要你钱包里拥有的密钥能达到阈值要求,就能直接行使相应权限,也就是说如果本地钱包存有上述两个公钥对应的私钥,就可以行使 @Xiaodi 账户的 Owner 与 Active 权限。对于 Recovery 权限,则需要 Recovery 列表里至少两个账户的授权才能行使。

再来看看一个稍复杂的 Account:

你看的没错 EOS 是可以增加权限种类的,对于这个 @XiaodiGongZhongHao(小笛公众号)账户,增加了 Publish (发布文章权限)。

相信读者可以自己分析了:Owner 权限必须两个账号同时授权,因为阈值是2;Active 权限则只需一个账户授权;Publish 权限中,虽然第三个公钥的权重为1,但阈值是2,也就是说这个公钥签了名也是没法发布文章的,需要两个账户之一再次签名。可以直接公布此公钥的对应私钥,这是模拟网友使用对应私钥投稿,编辑审核的情况。

配合可以增加的权限种类,可修改的阈值和权重,EOS 的 Account 权限可以有无限种玩法。

圆方圆区块链汇集大批区块链名师,采取导师值班制,为学员实时解决技术疑难。请关注圆方圆区块链知识星球与导师。(培训咨询请联系船长13826054890微信手机同号)

作者小笛 ,专注于 EOS 技术研究与区块链智能合约开发.是圆方圆区块链的导师,更多小笛老师的文章和视频请关注圆方圆链圈公众号。

EOS 上线前,先搞懂这两个基本概念的更多相关文章

  1. 搞懂分布式技术10:LVS实现负载均衡的原理与实践

    搞懂分布式技术10:LVS实现负载均衡的原理与实践 浅析负载均衡及LVS实现 原创: fireflyc 写程序的康德 2017-09-19 负载均衡 负载均衡(Load Balance,缩写LB)是一 ...

  2. 彻底搞懂Javascript的“==”

    本文转载自:@manxisuo的<通过一张简单的图,让你彻底地.永久地搞懂JS的==运算>. 大家知道,==是JavaScript中比较复杂的一个运算符.它的运算规则奇怪,容让人犯错,从而 ...

  3. 不想再被鄙视?那就看进来! 一文搞懂Python2字符编码

    程序员都自视清高,觉得自己是创造者,经常鄙视不太懂技术的产品或者QA.可悲的是,程序员之间也相互鄙视,程序员的鄙视链流传甚广,作为一个Python程序员,自然最关心的是下面这幅图啦 我们项目组一值使用 ...

  4. 每个java初学者都应该搞懂的问题

    对于这个系列里的问题,每个学JAVA的人都应该搞懂.当然,如果只是学JAVA玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列.内容均来自于CSDN的经典老贴. ...

  5. 一文搞懂RAM、ROM、SDRAM、DRAM、DDR、flash等存储介质

    一文搞懂RAM.ROM.SDRAM.DRAM.DDR.flash等存储介质 存储介质基本分类:ROM和RAM RAM:随机访问存储器(Random Access Memory),易失性.是与CPU直接 ...

  6. 真正“搞”懂http协议01—背景故事

    去年读了<图解HTTP>.<图解TCP/IP>以及<图解网络硬件>但是读了之后并没有什么深刻的印象,只是有了一层模糊的脉络,刚好最近又接触了一些有关http的相关内 ...

  7. 让你彻底搞懂JS中复杂运算符==

    让你彻底搞懂JS中复杂运算符== 大家知道,==是JavaScript中比较复杂的一个运算符.它的运算规则奇怪,容易让人犯错,从而成为JavaScript中“最糟糕的特性”之一. 在仔细阅读了ECMA ...

  8. c#代码 天气接口 一分钟搞懂你的博客为什么没人看 看完python这段爬虫代码,java流泪了c#沉默了 图片二进制转换与存入数据库相关 C#7.0--引用返回值和引用局部变量 JS直接调用C#后台方法(ajax调用) Linq To Json SqlServer 递归查询

    天气预报的程序.程序并不难. 看到这个需求第一个想法就是只要找到合适天气预报接口一切都是小意思,说干就干,立马跟学生沟通价格. ​ ​不过谈报价的过程中,差点没让我一口老血喷键盘上,话说我们程序猿的人 ...

  9. 彻底搞懂字符编码(unicode,mbcs,utf-8,utf-16,utf-32,big endian,little endian...)[转]

    最近有一些朋友常问我一些乱码的问题,和他们交流过程中,发现这个编码的相关知识还真是杂乱不堪,不少人对一些知识理解似乎也有些偏差,网上百度, google的内容,也有不少以讹传讹,根本就是错误的(例如说 ...

随机推荐

  1. hdu 2046递推

    递推公式   F[N]=F[N-1]+F[N-2]; AC代码: #include<cstdio> const int maxn=55; long long ans[maxn]; void ...

  2. ubuntu14.04 安装Jenkins

    wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - sudo sh -c 'ec ...

  3. 【django之form和认证系统小练习】

    作业要求: 作业 : 基于form表单和form组件作业注册页面 基于认证系统实现登录,注册,注销,修改密码 """ Django settings for day20_ ...

  4. angularjs1.6.4中使用ng-table出现data.slice is not a function的问题

    这个问题困扰了我2个小时. 项目中angularjs的版本从1.4.8升级到1.6.4,升级完成之后,发现ng-table不能用了.主要报错信息是ng-table中data.slice is not ...

  5. spring schedule定时任务(二):配置文件的方式

    接着上一篇,这里使用spring配置文件的方式生成spring定时任务. 1.相应的web.xml没有什么变化,因此便不再罗列.同样的,相应的java代码业务逻辑改动也不大,只是在原来的基础上去掉@C ...

  6. javascript学习笔记 --event事件

    事件源(按钮.窗口)->事件对象->事件处理程序 事件源可以是网页元素浏览器窗口事件处理程序一般是一个函数.       一个事件可以被多个函数处理       事件的总类       鼠 ...

  7. 图像采集系统的Camera Link标准接口设计

    高速数据采集系统可对相机采集得到的实时图像进行传输.实时处理,同时实现视频采集卡和计算机之间的通信.系统连接相机的接口用的是Camera Link接口,通过Camera Link接口把实时图像高速传输 ...

  8. 【mongodb系统学习之十】mongodb查询(三)

    6).特殊类型的查询: A).查询键为null的文档:查询时,如果按常规的key:null的方式做条 件,不仅会匹配到值为null的,还会匹配到不存在这个键的:如果只是要值为null的文档,就必须使用 ...

  9. JavaScript获取当前值

    JavaScript获取当前值 1.说明        获取select下拉框中的选中的值以及文本值 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  10. Hibernate中的条件查询完成类

    Hibernate中的条件查询有以下三个类完成: 1.Criteria:代表一次查询 2.Criterion:代表一个查询条件 3.Restrictions:产生查询条件的工具类