eos账户系统权限和action映射

thefist11 thefist11     2022-12-26     370

关键词:

1. 定义

可以将某个消息处理群组分配到某个权限级别上,或者反过来说,可以在某个权限级别上定义很多消息处理群组。
eg. 一个帐户所有者可以将自己社交媒体应用与自己的“朋友”权限群组建立映射。 有了这个映射,任何朋友可以以这一帐户的身份在这一帐户的社交媒体上发帖。 尽管他们将以帐户所有者的身份发帖,他们仍然使用自己的密钥来签名消息。 这意味着总是可以辨识出是哪一个朋友在以何种方式使用帐户。

2. 举例

  • 映射①:将@EXCHANGE.CONTRACT账户的所有Action映射到了FAMILY权限,也就是使用@USER用户的FAMILY权限(或者更高级权限)可以执行@EXCHANGE.CONTRACT账户的所有Action。

  • 映射②:将@EXCHANGE.CONTRACT账户的WITHDRAW(提现)Action映射到LAWYER权限,所以LAWYER权限可以执行WITHDRAW Action,但无法执行其他Action。

  • 映射③: TRADE GROUP 并没有特殊映射,不过因为@EXCHANGE.CONTRACT账户的所有Action都映射到了FAMILY权限,可以直接通过FAMILY权限执行,或者使用更高级的ACTIVE甚至OWNER权限执行。

2.1 Action的权限检查

如果@USER 账户想执行@EXCHANGE.CONTRACT/TRADE/BUY 这个 Action,系统会检查
@USER 账户是否定义了@EXCHANGE.CONTRACT/TRADE/BUY 映射,没有的话会检查@EXCHANGE.CONTRACT/TRADE映射

接着会检查@EXCHANGE.CONTRACT 映射,发现@EXCHANGE.CONTRACT 映射到了 FAMILY 权限,这时就会检查本次执行是否满足@USER.FAMILY权限(达到阈值),若FAMILY权限不足则会检查@USER.ACTIVE,接着会检查@USER.OWNER。

如果没有发现任何符合的映射,会直接检查本次执行是否满足@USER.ACTIVE权限,若不满足则会检查@USER.OWNER

eos账户系统action分级

1.定义与权限分级类似,账户Action也可以分级和分组Action同样遵循“向下兼容”2.举例智能合约账户叫“@EXCHANGE.CONTRACT”WITHDRAW(提现)Action>Action名叫“TRADEGROUP(交易组)”=组里有BUY(买入)&#... 查看详情

eos账户系统账户的权限

EOS中的账户就像一个链上标识符,具有与之关联的访问权限。EOS帐户可以由几个人拥有,具体取决于权限。1.权限分类基于角色确定是否为任何给定的Action授予权限。1.1默认权限每个账户有两个默认的权限名称1.1.1Owner所... 查看详情

eos账户系统账户权限分级

1.一个分层的权限结构每个账户都可以通过其他账户和密钥的组合来控制。EOS允许账户定义什么样的账户名和密钥的组合可以把特定的操作发送到另一个账户。eg.可以使用一个密钥访问用户的社交媒体账户,另一个密钥用于... 查看详情

eos账户系统场景

1.智能合约的场景问题“智能合约”=账户声明的Action+以及对Action的回应脚本(程序)。真人用户和智能合约本质上都是一个账户(Account)。Action真人账户也是一个智能合约,可以对外声明别人可以对他... 查看详情

eos账户系统权限评估

...已知的。EOS提供了一个声明式权限管理系统,可以对账户进行细粒度、高级别的控制,以确定谁在何时可以做什么。2.1.评估过程 查看详情

eos账户系统账户和钱包

1.账户系统包含Account(账户)Wallet(钱包)钱包密码Key(公/私钥)Permission(权限)账户和钱包之间没有内在的关系。1.1钱包一个存储可能与账户有关的密钥的客户端。可以被认为是对在区块链上执... 查看详情

eos开发(十)使用rpcapi创建账户

...它调用eosio.token合约中的transfer方法。而我们知道,创建账户时需要为账户购买和抵押资源。其实只需要为新账户购买内存资源,否则会创建失败。而抵押CPU和NET资源可以不在创建账户时同时进行。但一般来说,为了使新账户可... 查看详情

3.9eos权限多重签名(代码片段)

3.9.1.用户和权限3.9.1.1.账户帐户是存储在区块链中的可读标识符。它可能属于一个个人或者组织,这取决于账户的权限配置,需要账户才能将交易或将交易以其他方式推送到区块链。3.9.1.2.授权和权限每个账户有两个默认的权限... 查看详情

eos的世界里可能再也没有小偷了

EOS针对以下两种情况设计了应急措施: 1.账户被盗(私钥被盗或有权限的其他账户被盗)2.账户遗失(私钥遗失或有权限的其他账户遗失) ##1.账户被盗 EOS有可能会强制要求所有账户的Owner权限必须使用多签名,也就... 查看详情

eos系统特点

1.共识:打包仅靠21个EOS超级节点2.并行执行在账户层对智能合约进行并行化处理:每个线程都会按顺序串行处理该账户本次提交的所有智能合约,而同一个区块可以包含多个不同账户提交的智能合约。将不同账户的智... 查看详情

eos消息设计初步说明

1.EOSEOS是作为一个传递账户间已认证信息的平台。脚本语言和虚拟机的实现将独立于EOS操作系统技术,任何开发语言或虚拟机,只要有适当的、性能足够的沙箱,都可以通过API与EOS集成在一起。2.消息定义消息就是账... 查看详情

eos

...(在区块链上存储数据,向系统购买链上购买,抵押eos到系统账户),cpu(运算时间消耗(ms)),带宽(衡量三天内合约执行产生的数据量(byte))--note因此用以转账都用一个eos账号,以tag,memo区分资金来源1 查看详情

刘文彬精解eos智能合约演练(代码片段)

...t.htmlEOS,智能合约,abi,wasm,cleos,eosiocpp,开发调试,钱包,账户,签名权限热身本文旨在针对EOS智能合约进行一个完整的实操演练,过程中深入熟悉掌握整个EOS智能合约的流程,过程中出现的问题也会及时研究并入我们自己的知识... 查看详情

精eos智能合约:system系统合约源码分析(代码片段)

系统合约在链启动阶段就会被部署,是因为系统合约赋予了EOS链资源、命名拍卖、基础数据准备、生产者信息、投票等能力。本篇文章将会从源码角度详细研究system合约。关键字:EOS,eosio.system,智能合约,name类型,native.hpp,n... 查看详情

eos账户系统密钥被盗恢复

1.定义一种在密钥被盗时恢复其帐户控制的方法:帐户所有者可以使用在过去30天内活动的任何其批准的帐户恢复合作伙伴的密钥,在其帐户恢复合作伙伴的允许后,重置其帐户上的所有者密钥。在没有帐户所有者的... 查看详情

eos开发基础之三:使用cleos命令行客户端操作eos——关于钱包wallet和账户account

...查看钱包、上锁和解锁钱包等,这一节咱们就来开始操作账户account吧。上一节讲到了每一个account都需要与两对密钥绑定,那么我们就先给它创建两对密钥吧。1、创建密钥(./cleoscreatekey)如下图,创建了密钥后,我们查看一下wa... 查看详情

eos智能合约源代码解读合约之action(代码片段)

1.动作(action)是EOS合约的灵魂,是EOS的基础组成单位1.1一个动作就是一个公开的(pubic)的C++类的成员方法必须使用[[eosio::action]]C++11特性修饰,否则就是一个普通的类成员函数访问级别必须是公开的public必须没有... 查看详情

eos框架

1.系统框架1.1扩充功能提供账户、身份验证、数据库、异步通信和跨越数百个CPU内核或集群的应用程序调度等功能boost::beastwebsockets的替代P2P网络协议,该协议多线程网络和更快的同步。这个网络插件与现有的网络插件并排工... 查看详情