EOS 上线前,先搞懂这两个基本概念
如果你曾经尝试在本地运行 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 上线前,先搞懂这两个基本概念的更多相关文章
- 搞懂分布式技术10:LVS实现负载均衡的原理与实践
搞懂分布式技术10:LVS实现负载均衡的原理与实践 浅析负载均衡及LVS实现 原创: fireflyc 写程序的康德 2017-09-19 负载均衡 负载均衡(Load Balance,缩写LB)是一 ...
- 彻底搞懂Javascript的“==”
本文转载自:@manxisuo的<通过一张简单的图,让你彻底地.永久地搞懂JS的==运算>. 大家知道,==是JavaScript中比较复杂的一个运算符.它的运算规则奇怪,容让人犯错,从而 ...
- 不想再被鄙视?那就看进来! 一文搞懂Python2字符编码
程序员都自视清高,觉得自己是创造者,经常鄙视不太懂技术的产品或者QA.可悲的是,程序员之间也相互鄙视,程序员的鄙视链流传甚广,作为一个Python程序员,自然最关心的是下面这幅图啦 我们项目组一值使用 ...
- 每个java初学者都应该搞懂的问题
对于这个系列里的问题,每个学JAVA的人都应该搞懂.当然,如果只是学JAVA玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列.内容均来自于CSDN的经典老贴. ...
- 一文搞懂RAM、ROM、SDRAM、DRAM、DDR、flash等存储介质
一文搞懂RAM.ROM.SDRAM.DRAM.DDR.flash等存储介质 存储介质基本分类:ROM和RAM RAM:随机访问存储器(Random Access Memory),易失性.是与CPU直接 ...
- 真正“搞”懂http协议01—背景故事
去年读了<图解HTTP>.<图解TCP/IP>以及<图解网络硬件>但是读了之后并没有什么深刻的印象,只是有了一层模糊的脉络,刚好最近又接触了一些有关http的相关内 ...
- 让你彻底搞懂JS中复杂运算符==
让你彻底搞懂JS中复杂运算符== 大家知道,==是JavaScript中比较复杂的一个运算符.它的运算规则奇怪,容易让人犯错,从而成为JavaScript中“最糟糕的特性”之一. 在仔细阅读了ECMA ...
- c#代码 天气接口 一分钟搞懂你的博客为什么没人看 看完python这段爬虫代码,java流泪了c#沉默了 图片二进制转换与存入数据库相关 C#7.0--引用返回值和引用局部变量 JS直接调用C#后台方法(ajax调用) Linq To Json SqlServer 递归查询
天气预报的程序.程序并不难. 看到这个需求第一个想法就是只要找到合适天气预报接口一切都是小意思,说干就干,立马跟学生沟通价格. 不过谈报价的过程中,差点没让我一口老血喷键盘上,话说我们程序猿的人 ...
- 彻底搞懂字符编码(unicode,mbcs,utf-8,utf-16,utf-32,big endian,little endian...)[转]
最近有一些朋友常问我一些乱码的问题,和他们交流过程中,发现这个编码的相关知识还真是杂乱不堪,不少人对一些知识理解似乎也有些偏差,网上百度, google的内容,也有不少以讹传讹,根本就是错误的(例如说 ...
随机推荐
- JAVA在不确定具体 Annotation 类型时,获得注解参数
package com.lzw.demo; @SpringBootApplication public class DemoApplication { public static void ma ...
- perl的foreach循环的坑
最近在写perl脚本的时候用foreach遍历hash的时候,出现遇到了一个问题,就是说当hash为一层的时候,并不会有问题,但是当hash类型结构比较复杂的时候,就会有需要注意的地方了. 还是举例子 ...
- Java并发编程-线程可见性&线程封闭&指令重排序
一.指令重排序 例子如下: public class Visibility1 { public static boolean ready; public static int number; } pu ...
- Luogu P1078 文化之旅
题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不同的国家可能有相同的文化.不同文化 ...
- Hive:子查询
Hive只支持在FROM子句中使用子查询,子查询必须有名字,并且列必须唯一:SELECT ... FROM(subquery) name ...
- Hibernate入门这一篇就够了
前言 本博文主要讲解介绍Hibernate框架,ORM的概念和Hibernate入门,相信你们看了就会使用Hibernate了! 什么是Hibernate框架? Hibernate是一种ORM框架,全 ...
- V4L2驱动的移植与应用(二)
二.V4L2的应用 下面简单介绍一下V4L2驱动的应用流程. 1. 视频采集的基本流程 一般的,视频采集都有如下流程: 2. 打开视频设备 在V4L2中,视频设备被看做一个文件.使用open函数打 ...
- java中equals和==以及toString
我们通常在控制台输出时使用System.out.print(),print只能直接输出基本类型和字符串,对于其他的类型直接输出将会输出@开头的引用,因此若需要输出对应的内容则需要使用toSring方法 ...
- pat1011-1020
一开始几道题写到吐血,真的自己现在好弱 1011 水题不说了 #include<bits/stdc++.h> using namespace std; const int N = 105; ...
- MyEclipse开发平台下如何将新建的JSP页面的默认编码格式设置为UTF-8--JSP
新建的JSP页面原始的编码格式是ISO-8859-1(测试的MyEclipse版本为2014),它是不支持中文,在预览JSP页面时会出现乱码的现象.当然自己手动改一下编码格式就好了,但是那太过麻烦,每 ...