3.7 钱包、帐户、token、智能合约、action、权限、权重和阀值之间关系

3.7.1 账户、钱包和密钥的关系


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

创建一个账户的命令是:cleos create account {创建者账户名} {新的账户名} 公钥1 公钥2

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

所以把权限系统加上,图就变成上面这个样子,一个保险柜有两个开关,不过打开后可以进行操作的权限是不同的。2个私钥可以存在一个钱包里,也可以如上图所示存在不同的钱包里(由不同的人控制)。
owner权限是账户的最高权限,可以修改其它权限。
active权限默认可以进行转账等操作,但不能修改权限。
每个保险箱有一个名字,就是EOS账户名。
转账和智能合约等操作的执行都是在Account这个保险箱进行,所以账户名在EOS世界其实是以太坊的地址。
与以太坊不同,EOS的账户名不再是一串很长很长的地址,而是一个你可以自定义的英文字母+数字(12345)+符号(.),最长12位,最短1位,全局唯一,先到先得,注册费用还没公布,但据最新的消息,长度不同注册需要的EOS也不一样。

3.7.2 账户、钱包、token、合约、活动、权限、权重、阀值的关系


1、创建帐户,首先要创建帐户的公私钥对,公私钥对可以代表对应该账号下的某个权限的权重。帐户使用公私钥对事物进行签名操作,让区块链节点确定事物中的活动是由某帐户的哪个权限授权的。
2、帐户可以部署、加载合约,所以合约是属于某个帐户的,在EOS系统中1个帐户只能有一个合约。
3、Token是由帐户创建和发行的,发行的Token属于帐户。帐户拥有Token,并且可以通过eosio.token合约中定义的活动转账给其他账户。
4、帐户的公私钥对是存放在钱包中,钱包仅仅是一个有名字有密码的公私钥对的容器。
5、一个实际用户可以创建多个帐户,用户通过钱包中的公私钥对管理对哪个账户的哪个权限授权用于执行某个合约中的动作。
6、一个用户可以拥有多个钱包,账户和钱包没有直接的所属关系只有使用关系即某个账户使用了某个钱包存放了自己的公私钥对。
7、一个keosd钱包服务可以管理多个命名钱包,用户可以通过钱包服务提取钱包中的公私钥对其发起的事务进行签名。
8、一个用户可以开启一个或者多个keosd钱包服务。
9、一个钱包中可以存放零个或者多个密钥对。
10、一个帐户可以拥有多种权限。
11、每一个权限都有一个使用该权限的阀值。
12、每一个权限都可以由一对或者多对密钥及对应的权重来控制权限的使用。
13、每一个密钥都会有使用某权限的权重,当拥有的密钥对应的权重累计大于等于阀值即可使用该权限。
14、每个对某个账户的某个活动都会需要对应的账户的权限使用授权。
15、一个合约中可以定义多种不同的活动,账户调用对应的合约来执行不同活动。

3.7.3 总结

综上,我们通过一些列问题的问答来理解账户、钱包、token、合约、活动、权限在EOS中的作用。

问答如下:

  1. EOS系统中的主体是什么?答:账户
  2. 有了账户能做什么?答:做事务
  3. 怎么做事务?答:通过合约
  4. 合约包含哪些依赖元素?答:(1)账户 (2)权限 (3)token
  5. 权限是什么?怎么管理?答:公私钥对,通过钱包管理
  6. 什么是token,怎么使用? 答:做事物占用了系统资源,需要花费gas(token)。

为了更好理解上述概念,我们不妨举个生活中的例子:

生活中有这样的三口之家,爸爸、妈妈、小孩

  • 他们所居住的房间我们看作一个账户,房间都有一个唯一的且可被人为识别的地址(账户名称),例如:某某小区12#1201
  • 房间里有很多设施设备(电视、电脑、空调.......),我们把不同设备具有的功能看作智能合约里定义的活动功能
  • 如果小孩想看电视(执行合约的动作),需要进入房间的授权(账号权限),能不能进入房间由是否持有爸爸或者妈妈的钥匙(公私密钥)决定。
  • 爸爸、妈妈的钥匙存放在各自的有密码的钥匙包(钱包)里。
  • 小孩在得到爸爸或者妈妈的要钥匙后(授权),就可以打开电视并收看(执行合约)。
  • 看电视需要缴纳电费(token),电费是按照房间地址(账号名称)收取的。

链接

http://www.3heu.com/
https://www.jianshu.com/p/ebdc83590f2d
https://blog.csdn.net/arm_snow/article/details/89708300

原文地址:https://blog.51cto.com/14267585/2387202

时间: 2024-11-10 16:49:21

3.7 钱包、帐户、token、智能合约、action、权限、权重和阀值之间关系的相关文章

十分钟部署智能合约

eos环境搭建 1.git clone源代码 git clonehttps://github.com/EOSIO/eos --recursive 2.下载编译之后,里面有三个应用程序,这三个应用程序也都是命令行的: 1.Cleos: 2.Nodeos: 3.Keosd. 这三个应用程序之间有什么关系呢?我们现在使用的前端,怎么使用EOS呢? -Cleos,它是一个命令行程序.在前端使用EOS是通过Cleos输入命令,给EOS下达指令. -Nodeos,其实它就是挖矿客户端.在启动Nodeos之后

【刘文彬】【精解】EOS智能合约演练

原文链接:醒者呆的博客园,https://www.cnblogs.com/Evsward/p/eos-contract.html EOS,智能合约,abi,wasm,cleos,eosiocpp,开发调试,钱包,账户,签名权限 热身 本文旨在针对EOS智能合约进行一个完整的实操演练,过程中深入熟悉掌握整个EOS智能合约的流程,过程中出现的问题也会及时研究并入我们自己的知识体系.本文会主要跟随EOS官方Wiki的智能合约部分进行研究学习,主要分为 开启一个私有链 创建钱包 载入基础IO的智能合约支

[Android Pro] 注册 Google Play 开发者帐户

官网地址: https://support.google.com/googleplay/android-developer/answer/6112435?hl=zh-Hans 博客地址: http://android-developers.blogspot.com/ 注册 Google Play 开发者帐户 要在 Google Play 上发布 Android 应用,您需要创建一个 Google Play 开发者帐户. Introduction (Getting Started) (Google

EOS 智能合约案例解析(3)

详解 EOS 智能合约的 abi 文件 这次向大家介绍 eosio.token 智能合约的最后一个文件 -- abi文件.ABI 全称 Application Binary Interface,中文名"应用程序二进制接口",顾名思义是一个接口文件,描述了智能合约与上层应用之间的数据交换格式.abi 文件格式类似 JSON,具备很好的可读性,有利于智能合约工程师与上层应用工程师之间的工作衔接.eosio.token.abi 文件地址: https://github.com/EOSIO/e

EOS智能合约案例解析(1)

为了帮助大家熟悉 EOS 智能合约,EOS 官方提供了一个代币(资产)智能合约 Demo -- eosio.token.eosio.token 智能合约目前还不是特别完善,个别功能还没有完成.但这个示例合约给出了 EOS 官方智能合约开发的标准结构和开发方法,并且真正的 EOS 代币也会借鉴这个示例合约的逻辑,是 EOS 智能合约入门的经典案例. 照例,eosio.token 合约由三个文件(cpp,hpp,abi)文件组成,本篇文章将为大家讲解 eosio.token.hpp 文件.原文件地址

EOS 智能合约案例解析(2)

详解 EOS 智能合约的 cpp 文件 之前的文章介绍了 eosio.token 智能合约的 hpp 文件,这次向大家介绍 eosio.token.cpp 文件,cpp 文件即 C++ 代码文件,智能合约所有的业务逻辑内容都是在 cpp 文件中实现的. eosio.token.cpp 文件地址: https://github.com/EOSIO/eos/blob/master/contracts/eosio.token/eosio.token.cpp 了解 C/C++ 开发的同学肯定熟悉,cpp

以太坊智能合约项目-Token合约开发与部署

修订日期 姓名 邮箱 2019-09-05 brucefeng [email protected] 一. 钱包环境安装 以太坊钱包顾名思义,就是管理以太坊地址,存储以太坊Token的工具,再简单点说,任何区块链网络都需要我们有自己的账户,管理账户的软件可称之为钱包,无论是炒币的还是研究以太坊开发的,钱包都是必不可少的. 1.钱包分类 1.1 Mist 说到以太坊钱包,第一个要说的当然就是Ethereum官方钱包+浏览器 Mist.Mist是一个全节点钱包(全节点钱包通俗的来说就是同步了全部的以太

由Trust Wallet理解以OA信用盘平台出售带杀大赔小功能太坊钱包管理和智能合约

钱包管理钱包管理就要提到OA信用盘平台出售带杀大赔小功能QQ2952777280 话仙论坛http://hxforum.com 一个类EtherKeystore, 应用的核心业务的处理类, 有钱包管理(创建.删除.导入.导出).助记词转化.签名工作.私钥管理等功能.EtherKeystore中使用了由Trust开源的了两个库: TrustKeystore: 用于管理钱包的通用以太坊密钥库.TrustCore: 区块链核心的数据结构和算法.还有CryptoSwift, 一个标准的安全加密算法集合的

WoToken智能合约软件开发搬砖钱包系统定制开发那家公司好

WoToken区块链模式APP开发,WoToken智能合约软件开发搬砖钱包系统定制开发那家公司好,专业请找[孙女士 微/电 ①⑧⑥①⑤⑥①④零⑥②],WoToken钱包智能系统定制开发,WoToken数字资产APP定制开发,WoToken智能合约软件定制开发,WoToken区块链模式APP定制开发;可开发类似软件,非平台方,玩家勿扰. wotoken利用AI人工智能实现高频交易,自动搬砖,首创期货交易,交易挖矿等多方面套利!!!wotoken拥有多智能合约技术,并结合自有的高性节点为数字资产提供