【系列】EOS开发4 EOS中账户、钱包和密钥的关系

EOS对于账户的设计与ETH有很大的不同,引入了Account账户, Wallet钱包, 钱包密码, Key公私钥, Permission权限等众多概念,刚入门的时候感觉一头雾水。本文希望通过对这些概念的梳理,帮助读者能够很容易的上手EOS智能合约的开发。

如图所示,右边是EOS Wallet钱包,里面只存放私钥,而且钱包有一个密码,需要输入密码才能解锁钱包,读取私钥。
左边是EOS Account账户,可以把它看成是一个保险箱,里面有EOS Token以及智能合约,而需要转移里面的EOS Token(或者执行智能合约),你需要钱包中对应的私钥来解锁这个保险箱。

EOS Dawn 3.0测试版本中创建一个账户的命令是:
cleos create account {创建者账户名} {新的账户名} 公钥1 公钥2

其中{创建者账户名}是为这个创建动作支付EOS的账户,公钥1和公钥2分别是两个不同权限的密钥对的公钥。

所以把权限系统加上,图就变成上面这个样子,一个保险柜有两个开关,不过打开后可以进行操作的权限是不同的。2个私钥可以存在一个钱包里,也可以如上图所示存在不同的钱包里(由不同的人控制)。

owner权限是账户的最高权限,可以修改其它权限。
active权限默认可以进行转账等操作,但不能修改权限。

每个保险箱有一个名字,就是EOS账户名。
转账和智能合约等操作的执行都是在Account这个保险箱进行,所以账户名在EOS世界其实是以太坊的地址。
与以太坊不同,EOS的账户名不再是一串很长很长的地址,而是一个你可以自定义的英文字母+数字(12345)+符号(.),最长12位,最短1位,全局唯一,先到先得,注册费用还没公布,但据最新的消息,长度不同注册需要的EOS也不一样。

「力场 lichang.io」公链挖矿第一社区!

原文地址:https://blog.51cto.com/13899701/2369577

时间: 2024-08-01 16:58:41

【系列】EOS开发4 EOS中账户、钱包和密钥的关系的相关文章

【系列】EOS开发3 EOS提供的程序和工具

上一篇文章使用了nodeos命令来启动eos服务,这一篇文章,就来介绍一下eos提供的相关程序和工具. nodeos EOSIO的核心守护进程,它可通过插件配置来启动一个节点. cleos 这是一个命令行工具,它跟nodeos开放的REST API接口进行交互.在cleos使用时需要带上 nodeos实例的IP和端口.此外,cleos提供全面的命令行提示,如果不清楚说那个什么参数,可直接输 cleos 回车后会打印出 参数说明.如果需要查看子命令后的参数,也是如此,比如 输入 cleos cre

【系列】 EOS开发6 创建EOS账户

安装docker 使用命令行创建EOS账户需要有一套EOS开发环境,这里我们使用一个已经安装了EOS套件的docker环境,本文使用Mac系统,关于docker软件的安装可查看Mac docker install 创建EOS账户 启动docker docker run --rm -it eosio/eos:latest /bin/bash 确认eos主网信息 root@7dd4e87a4ac7:/opt/eosio# ./bin/cleos -u http://mainnet.eoswz.com

EOS开发环境搭建

获取代码 下载所有的EOSIO代码,clone eos库和所有的子模块. shell 命令如下: git clone https://github.com/EOSIO/eos --recursive 如果忘记加 --recursive 参数也没关系,随后也可以用命令 clone 所有子模块. git submodule update --init --recursive 安装构建设置 EOSIO可以在多个平台上安装构建,并有各种路径进行安装构建.大多数用户更喜欢使用自动化脚本或docker,而更

普元EOS开发积累第一篇(常见错误解决方法) 持续更新

普元启动服务失败的解决方法 当多个人同时使用一个数据库的时候,启动普元控制台会一直停留在rcall,然后显示一个超时的警告,那样就需要修改一下普元的一个定时器配置项. 安装目录下\Primeton\Platform\apps_config\default\config 中的一个user-config.xml文件 将下列代码中高亮字段中的true改为false即可  <module name="Schedule">          <group name="

源中瑞虚拟币开发,虚拟币冷钱包储存

源中瑞虚拟币开发,虚拟币冷钱包储存 问:什么是冷钱包储存? 答:虚拟币钱包的冷储存(Cold storage)是指将钱包离线保存的一种方法,就是把你本身服务器钱包的币先转移到离线的钱包(没联网的)放着.比如:玩家在一台离线的电脑上生成虚拟币地址和私钥,并将其妥善保存起来,以后挖矿或者在交易平台得到的虚拟币都可以直接发到这个离线生成的虚拟币地址上面. 问:为什么要对虚拟币钱包使用冷储存呢? 答:使用虚拟币钱包冷储存技术主要是出于安全上的考量.因为钱包服务器的钱包不能加密这也可能不安全,那么当钱包里

iOS开发系列文章(持续转载中……) 感谢作者,直接连接到作者文章的

C语言 iOS开发系列--C语言之基础知识 iOS开发系列--C语言之数组和字符串 iOS开发系列--C语言之指针 iOS开发系列--C语言之预处理 iOS开发系列--C语言之存储方式和作用域 iOS开发系列--C语言之构造类型 Objective-C iOS开发系列-Objective-C之基础概览 iOS开发系列--Objective-C之类和对象 iOS开发系列--Objective-C之协议.代码块.分类 iOS开发系列-Objective-C之内存管理 iOS开发系列--Objecti

多币种钱包系统开发,类似vpay、plus钱包app系统开发

区块链钱包是什么? 钱包是一种软件,用于管理比特币地址,以及比特币的交易.钱包往往需要同步区块链的全数据,但通常钱包安装在手机上,此时只同步与自己相关的区块链数据.多币种钱包系统开发 Tel:前面 138中间2315后面3201 区块链的钱包主要用于存储区块链资产的地址和私钥文件,目前根据使用场景的不同分为了不同类型的数字资产钱包,主要包括: 中心化钱包:使用用户名/密码进行登陆,可在多个链上交易多个通证. 多种类钱包:可通过相同的私钥保存不同链上的通证. 网络钱包:通过网络托管的链上钱包,有的

C#基础系列:开发自己的窗体设计器(PropertyGrid显示中文属性名)

既然是一个窗体设计器,那就应该能够设置控件的属性,设置属性最好的当然是PropertyGrid了,我们仅仅需要使用一个PropertyGrid.SelectedObject = Control就可以搞定,让PropertyGrid显示Control的所有属性.可是这里显示的属性名是英文的.对于我们开发人员来说这无可厚非,我们也乐于接受.并且让PropertyGrid显示中文属性名,这对于我们开发人员的使用来说显得多此一举.可是,对于我这种类型的一个应用工具,英文属性名对于很多客户来说可能就很难懂

iOS开发系列--网络开发

iOS开发系列--网络开发 2014-10-22 08:34 by KenshinCui, 50097 阅读, 53 评论, 收藏,  编辑 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力的.今天就会给大家介绍这部分内容: Web请求和响应 使用代理方法 简化请求方法 图片缓存 扩展--文件分段下载 扩展--文件上传 NSURLSession