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

如何建设一个好的网站WordPress主题设置数据库

如何建设一个好的网站,WordPress主题设置数据库,专业 网站设计公司,受欢迎的大连网站建设文章目录 Solidity选择使用 require 语句还是条件语句结合手动触发 revert 操作#xff1f;场景举例#xff1a;回滚交易和抛出异常如何选择#xff1f; Solidity选择使用 require 语句还是条件语句结合手动触发 revert 操作#xff1f; IERC721 nft IERC721(nftAddress)… 文章目录 Solidity选择使用 require 语句还是条件语句结合手动触发 revert 操作场景举例回滚交易和抛出异常如何选择 Solidity选择使用 require 语句还是条件语句结合手动触发 revert 操作 IERC721 nft IERC721(nftAddress); // 声明IERC721接口合约变量 if (nft.getApproved(tokenId) ! address(this)) {revert NotApprovedForMarketplace(); }IERC721 _nft IERC721(_nftAddr); // 声明IERC721接口合约变量 require(_nft.getApproved(_tokenId) address(this), Need Approval); // 合约得到授权require 语句 简洁明了require 语句提供了一种简单直观的方式来检查条件并在条件不满足时自动触发回滚同时提供清晰的错误信息。自动回滚当条件不满足时require 语句会自动触发交易回滚避免进一步执行并浪费 gas。错误信息require 语句允许你提供自定义的错误信息使得代码更易于理解和调试。 条件语句结合手动触发 revert 操作: 灵活性手动触发 revert 操作可以让你更灵活地处理异常情况例如可以调用自定义的错误处理函数或者执行其他特定的操作。自定义错误处理你可以根据项目需求自行定义错误处理逻辑例如记录日志、触发事件等。 总结 希望代码简洁明了并且希望在条件不满足时自动触发回滚并且提供清晰的错误信息那么使用 require 语句是一个不错的选择。但如果你需要更灵活地处理异常情况并且希望自定义错误处理逻辑那么使用条件语句结合手动触发 revert 操作可能更适合你。 场景举例回滚交易和抛出异常如何选择 NFT交易所中判断购买价格是否大于挂单价格。 if (msg.value listedItem.price) {revert PriceNotMet(nftAddress, tokenId, listedItem.price);}买家发送的以太币是否足够支付 NFT 的价格并且如果不足以支付价格则会回滚交易 require(msg.value _order.price, Increase price); // 购买价格大于标价检查买家发送的以太币是否足够支付 NFT 的价格并且如果不足以支付价格则会抛出一个异常。 在 Solidity 中回滚交易和抛出异常是两种处理错误的方式 回滚交易 (revert) revert 语句会立即终止当前的函数执行并回滚所有的状态更改。它会将所有的 gas 消耗掉但是不会产生额外的 gas 费用。回滚交易是一种常见的处理错误的方式因为它可以确保在错误发生时状态不会被更改。 抛出异常 (require) require 语句会在条件不满足时抛出异常导致当前的函数执行终止。它会消耗少量的 gas但是会在以太坊区块链上留下记录因此在某些情况下可能会略微增加 gas 费用。 在你的场景中如果买家支付的价格不足以购买 NFT你想要的是立即停止交易确保买家不会支付不正确的价格并且不会产生任何额外的费用。这种情况下使用 revert 是更合适的选择因为它会立即终止当前的函数执行并回滚所有的状态更改确保买家不会支付不正确的价格。 在你的 buyItem 函数中你可以使用 revert 来处理价格不足的情况。例如 function buyItem(uint256 itemId) public payable {uint256 itemPrice getItemPrice(itemId);require(msg.value itemPrice, Insufficient funds);// 执行购买逻辑// 如果执行购买逻辑失败回滚交易if (购买逻辑失败) {revert(Failed to buy item);} }这样如果买家支付的金额不足以购买 NFT会立即停止交易并且回滚所有状态更改确保买家不会支付不正确的价格。
http://www.w-s-a.com/news/107282/

相关文章:

  • 网站被模仿十堰网站制作公司
  • 怎么样做免费网站个人网站备案幕布
  • 做ppt的动图下载哪些网站制作一个网站需要多少时间
  • 公司网站开发制作备案中的网站
  • 怎么看网站的收录网站开发先前台和后台
  • 合肥市做网站多少钱wordpress网站布置视频
  • 中国建设人才网信息网站软件外包公司好不好
  • 网站建设与管理 市场分析上海网站建设公司排名
  • 怎么将公司网站设成首页网址关键词查询网站
  • 怎么用ps做网站ui邱县专业做网站
  • 国开行网站毕业申请怎么做大连旅顺口旅游攻略
  • 鲜花店网站源码成都专做婚介网站的公司
  • 合肥企业网站建设工哈尔滨公告
  • 华强北 做网站互联网服务平台入口
  • vi设计案例网站微信导航网站 dedecms
  • 青浦区做网站设计图片手绘图片
  • 做网站的基本功制作网站公司推荐
  • 阿里云快速建站教程个人网站 费用
  • 广东购物网站建设微信公众号制作模板免费
  • 阿里国际站韩语网站怎么做让移动网站
  • 北京外包做网站如何报价中国几大网络推广公司
  • 中国建设部网站关于资质wordpress 建app
  • 程序员找工作的网站哈尔滨建设信息网站
  • 公司 网站 方案高考写作网站
  • 网站后台如何登陆网站开发需求逻辑图
  • 市级档案网站建设情况分析server2008做DNS与网站
  • 公积金门户网站建设方案网站建设代理平台怎么做
  • 网站建设知识论文抖音开放平台是干什么的
  • 网站建设期末试卷大气简洁网站
  • 电子商务网站建设报告范文单位做网站怎么做