当前位置: 首页 > news >正文

免费网站安全检测黔东南小程序开发公司

免费网站安全检测,黔东南小程序开发公司,优秀个人网站欣赏,百度网页版官网首页文章目录 智能合约的访问控制Ownable合约使用方法 智能合约的访问控制 熟悉OpenZeppelin的智能合约库的开发者都知道这个库已经提供了根据访问等级进行访问限制的选项,其中最常见的就是Ownable合约管理的onlyOwner模式,另一个是OpenZeppelin的Roles库&a…

文章目录

  • 智能合约的访问控制
    • Ownable合约
    • 使用方法

智能合约的访问控制

熟悉OpenZeppelin的智能合约库的开发者都知道这个库已经提供了根据访问等级进行访问限制的选项,其中最常见的就是Ownable合约管理的onlyOwner模式,另一个是OpenZeppelin的Roles库,它允许合约在部署前定义多种角色并为每个函数设置规则,以确保msg.sender具有正确的角色。在OpenZeppelin 3.0中又引入了更强大的AccessControl合约,其定位是一站式访问控制解决方案。

OpenZeppelin提供了智能合约的三种访问控制模式:Ownable合约、Roles库和3.0新增的AccessControl合约。

Ownable合约

源码地址: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.9.3/contracts/access/Ownable.sol

onlyOwner模式是最常见也最容易实现的访问控制方法,它虽然基础但非常有效。该模式假设智能合约存在单一管理员,支持管理员将全新转移给另一个账号。

通过扩展Ownable合约,子合约就可以在定义方法时使用onlyOwner修饰符,这些被修饰的方法就要求交易发起账号必须是合约的管理员。

继承 Ownable 后拥有的方法

  • owner() : 合约合约的 owner
  • transferOwnership(newOwner): 转让新的 owner 地址。
  • renounceOwnership(): 放弃合约 owner 权限(原理是将合约 owner 转让给 address(0),达到放弃的效果 )
  • modifier onlyOwner(): 用来判断调用者是否为 owner

使用方法

  1. 引用 Ownable import “@openzeppelin/contracts/access/Ownable.sol”;
  2. 设置某个函数仅 owner 可以调用,在函数上直接添加名字叫 onlyOwner 的 modifier 即可。

使用举例:
继承Ownable ,在构造器中通过 Ownable(msg.sender) 来调用了 Ownable 合约的构造函数。

在调用 Ownable(msg.sender) 时,已经完成了对合约所有者的转移!

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.24;import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/Strings.sol";contract LighthouseNft is ERC721, Ownable {using Strings for uint256;// 元数据URI的基本URLstring private _baseTokenURI;// 用于跟踪tokenId是否已经被使用mapping(uint256 => bool) private _tokenIdExists;// 构造函数,接收NFT的名称、符号和元数据URI作为参数constructor(string memory name_, string memory symbol_) ERC721(name_, symbol_) Ownable(msg.sender) {// _baseTokenURI = ""; // 初始化_baseTokenURI为空字符串或其他默认值}
http://www.yayakq.cn/news/322826/

相关文章:

  • 什么网站不用备案做企鹅号的视频素材网站
  • 西安网站开发公司有哪家中药材初加工平台
  • 电子网站建设基本流程图山西云起时网站建设
  • 北京建网站公司响应式网站开发步骤
  • 做推广的网站微信号软装公司
  • 网站建设交易中心哪个网站可以做优惠券
  • 自适应网站模板企业wordpress 导航栏
  • 金融网站建设方案ppt苍南网站建设shaoky
  • 网站的推广费用wordpress全站301
  • 陕西省建设厅便民服务网站企业网站做的比较好
  • 女人动漫做受网站优设网app手机下载
  • 学校培训网站建设渝北网站建设
  • 化妆品网站设计欣赏wordpress文章插件
  • 手机网站开发之列表开发工业产品设计与创客实践赛题库
  • wordpress建站优化厦门u 网站建设
  • 需要推销自己做网站的公司我的网站百度怎么搜索不到了
  • 邢台提供网站建设公司电话静态网站特点
  • 做网站的价格是多少成都网站营销推广公司
  • 网站建设效果图企业门户网站建设方案书
  • dede 后门暴网站建立一个网站的前期资金
  • 电子工厂网站建设用ssh做网站
  • 老网站改版做别的天津手机网站建设制作
  • 个人网站策划书模板网站后台管理系统制作教程
  • 昆山开发区网站制作百度官网认证多少钱一年
  • 冷门行业做网站的优势海外营销网站建设
  • 学校网站建设开发商wordpress 单页面模板
  • 商务网站要怎么设计cn域名网站
  • 怎么做网站标题优化免费空间搭建免费小说网站
  • 门户网站登录入口网页设计代码水平对齐属性align
  • 四川网站建设价格大连网站空间