在EOS区块链中任何操作都是以账号为发起者,在ADPP智能合约使用过程需要厘清账号权限相关的规则,否则可能没有充分授权导致action调用出错:

1)普通账号:调用智能合约操作的账号。

2)合约账号:部署合约的账号。一个合约账号accout1仅仅是对于部署其上的合约A而言,才算合约账号,对于部署在账号account2上的合约B而言,account1就是一个普通账号。

3)在多个智能合约相互调用的情况中,操作账号是合约账号时。例如:合约账号account1调用部署其上的合约A的actionA1,actionA1中又触发合约B的actionB2,那么需要设置权限,将account1的“eosio.code"”权限授权给自己,从而部署在自己身上的合约操作其他合约B被视为合法使用自己身份来操作合约B。如下:

$ cleos set account permission account1 active '{"threshold": 1,"keys": [{"key": "EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV","weight": 1}],"accounts": [{"permission":{"actor":"account1","permission":"eosio.code"},"weight":1}]}' owner -p account1

4)在多个智能合约相互调用的情况中,操作账号是普通账号时。例如:普通账号account0调用部署在合约帐号account1上的合约A的actionA1,actionA1中又触发合约B的actionB2,那么需要设置权限,将account0的“eosio.code"”权限授权给合约账号account1,从而部署在account1身上的合约A操作合约B被视为合法使用account0身份来操作合约B。如下:

$ cleos set account permission account0 active '{"threshold": 1,"keys": [{"key": "EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV","weight": 1}],"accounts": [{"permission":{"actor":"account1","permission":"eosio.code"},"weight":1}]}' owner -p account0

EOS系列九:EOS权限设置相关推荐

  1. EOS智能合约开发系列(九): 高级权限设置

    知识星球地址:https://t.zsxq.com/NNVRZzr 欢迎访问知识星球,并留言探讨.

  2. 【eos系列】eos系统合约介绍 — 发币合约eosio.token

    简介 本章将深入源码,为大家分析eos的系统合约eosio.token的实现细节.eosio.token是eos的发币合约,这个合约主要实现了EOS代币的创建.发行.转账等功能. 主要合约方法 eos ...

  3. linux 自学系列:chown 目录权限设置

    chown -R python.python /xxxx 转载于:https://www.cnblogs.com/bjdxy/archive/2013/01/18/2866582.html

  4. EOS系列 - EOSIO 2.0

    EOSIO 2.0 - 增强性能,提高安全性和新的开发人员工具 版本历史 block.one在2018年6月正式发布EOSIO 1.0版本 block.one在2019年6月1日发布会上正式宣布推出E ...

  5. 【eos系列】账户 钱包 私链搭建

    简介 本篇文章,将跟大家介绍eos的基本入门操作,包括私链的搭建.如何创建钱包.如何创建账户等.大家在看完本章之后,应该能在本机上搭建好eos私链,学会创建钱包和账户,为后面做质押资源.转账.投票等基 ...

  6. EOS系列 - EOS-VM

    EOS-WASM VM分类 声明式 BTC | ByteBall(DAG项目) EVM ETH | QTUM(量子链, UTXO + 以太坊EVM) JVM TRON(波场) WASM EOS EOS ...

  7. EOS系列 - 解决升级EOS2.0 `env.set_proposed_producers_ex unresolveable` 问题

    解决升级到EOSIO 2.0以上的版本之后, 部署eosio.bios或eosio.system会报错 Error 3070000: WASM Exception \ Error Details: \ ...

  8. EOS系列 - EOSIO 跨链通信

    跨链通信使一个区块链能够以可证实的安全方式验证另一个区块链上事件的真实性,目标是让区块链之间的通信像智能合约之间的内部链式沟通一样安全. 轻量级的默克尔树证明 比特币的SPV(简单支验证) EOS引入 ...

  9. EOS系列 - EOSIO WEB IDE

    这是一个面向开发者的开发容器, 具有IDE和私链测试环境 介绍功能 在Gitpod.io和Docker的支持下, 这个工具在云服务中运行,使新开发人员能够建立智能合约和Web应用程序开发环境以及完全集 ...

最新文章

  1. 力扣(LeetCode)刷题,简单题(第22期)
  2. Spring Boot + Dataway :接口不用写,配配就出来?
  3. java prototype是什么,java设计模式-原型模式(Prototype)
  4. Bzoj 3652: 大新闻(数位dp)
  5. python图像转字符画_Python实现图片转字符画的示例
  6. centos6.6 x86_64 install virtualbox 增强功能和ulipad
  7. 魔百盒服务器响应超时,hitool烧写fastboot提示超时,我的两个都是这么回事,怎么办?...
  8. Java-综合项目-房屋出租系统(总结与反思)
  9. 2022淘宝618超级喵运会怎么玩?2022淘宝618喵运会玩法技巧
  10. CVPR 9999 Best Paper:《一种加辣椒的番茄炒蛋》
  11. 简易数字时钟 按键可校准
  12. 强烈推荐:程序员接私活那点事
  13. P4850 [IOI2009] 葡萄干 raisins 题解
  14. 教你如何看懂体检报告
  15. 大一春季联赛,dfs简单题(思路)
  16. 视频教程-系统集成项目管理工程师考试感性理性认识-软考
  17. ios11适配 以及会有的坑
  18. 机器学习(四)ROC 和 AUC
  19. win7升级Win10之360百度等升级助手均因系统未激活不可升级
  20. 美容美发店会员系统管理方案

热门文章

  1. Sketchup Ruby 二次开发 启动外部应用
  2. 什么是腾讯企业邮箱的假期自动回复?怎么设置?
  3. Android 按键防止过快点击(防抖),在ButterKnife中的简单解决方案。
  4. 英雄联盟服务器不稳定领取皮肤,由于英雄联盟服务器问题 将免费赠送玩家皮肤当做赔偿...
  5. 魔塔猎人上线后反馈和后期计划
  6. Android Studio 简单UI界面
  7. 邮箱发件问候语有哪些_如何设置商务语音信箱问候语(带有示例)
  8. Linux常用命令知识库
  9. dirsearch目录扫描工具
  10. 2021年安徽省安全员C证考试试卷及安徽省安全员C证试题及解析