辨别貔貅币的一种代码思路

这篇具有很好参考价值的文章主要介绍了辨别貔貅币的一种代码思路。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说在前头

Web3是一种新兴的网络概念,由于某些原因导致我们能够接触到的相关技术知识实在有限,每当我遇见技术瓶颈总是不能找到充足的资料,这也让我萌生了填补这片空白知识的冲动。“Hello Web3” 这个专栏会尽力将我掌握的web3 知识分享给大家。如果分享的知识能帮助到大家,希望能够 关注点赞 支持作者!
本人已在github上发布Web3j工具,欢迎使用和star

辨别貔貅币的一种代码思路

知识前置

  • 貔貅币指的是一类只能买入不能卖出的币,对喜欢冲土狗的老兄伤害极大

  • solidity中的函数具有事务性,函数中任何代码执行失败,所有步骤都会回滚

  • 执行智能合约前估算gasLimit的函数实际上是执行了相关函数,但是没有提交

思路剖析

  • 貔貅币无法卖出,我们只需要将买入、授权、卖出三个流程全部走一遍就可知道这个币是否是貔貅币。

  • 但是将三个流程逐个走一遍需要花费一定的成本和手续费(gas),等待链上反馈执行信息的流程也比较缓慢。

  • 将这三个步骤放入到一个solidity函数中,配合估算gasLimit的函数即可模拟对一个币的买入卖出全过程且无需任何成本。

代码展示

为了避免代码长度影响文章篇幅,所以去掉了IERC20、IPancakeRouter01、IPancakeRouter02等引用文件,只展示最精华的部分文章来源地址https://www.toymoban.com/news/detail-450293.html

pragma solidity =0.8.4;
contract PiXiuCheck{
   

    IPancakeRouter02 public uniswapV2Router;

    constructor(
        address pancakeRuouter
    )</

到了这里,关于辨别貔貅币的一种代码思路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决java: 程序包org.apache.hadoop.conf不存在的一种冷门思路

    我们在用idea编译Hadoop项目时,明明已经导入了相关的jre依赖包,但是编译时提示包不存在 原因是我们还没在项目的 pom.xml 文件中配置相关的变量 找到它 打开之后长这样 最后一步,代码里面那个“2.6.0”是我的Hadoop版本,将它改成你自己安装的Hadoop的版本就行了,三个都要。

    2024年02月11日
    浏览(48)
  • frida注入进程报错Failed to spawn: unable to find application with identifier的一种解决思路

    之前写过一篇文章【转载】绕过ssl pining使用burp抓包微信小程序_HRay\\\'s blog-CSDN博客 今天在测试一款app的时候使用frida-ps -U查看进程结果如下 乐学小鹅为我们要注入的进程,但是注入进程时使用命令 frida -U -f 乐学小鹅 -l D:ADBfridascript.js --no-paus 爆出错误Failed to spawn: unable to fin

    2024年02月11日
    浏览(77)
  • Unity 代码设置UI尺寸的一种方法

    在Unity中 UI的实际宽高可以通过rect.size获得,但是这个属性是只读的无法修改。 所以想要修改尺寸,通常有两种方式 方法1:使用rect.SizeDelta来修改UI的大小,而SizeDelta会根据锚点设置的不同变化,数值上也不直观,不便于操作 方法2:使用SetSizeWithCurrentAnchors方法设置宽高 但是突然想

    2024年02月02日
    浏览(35)
  • 一种新兴的身份安全理念:身份结构免疫

    随着组织的数字身份数量激增,基于身份的网络攻击活动也在不断增长。在身份优先的安全原则下,新一代身份安全方案需要更好的统一性和控制度。而在现有的身份管理模式中,组成业务运营的各应用程序和服务需要依赖特定的身份存储系统来获取凭据,往往难以管理和集

    2024年04月09日
    浏览(71)
  • 【Dijkstra】最短路算法的一种

    首先,本文默认读者基本熟悉Dijkstra基本原理 DIjkstra是单源最短路的一种算法。使用数组d[i]来储存结点i到源点s的最短路径长度,每次更新d[i]数组后,d[i]中最小的一定是一条最短路径长度。也就是说每次更新后都能找到一条最短路径,以下给出证明: 假设d[]数组中当前最小

    2024年02月03日
    浏览(55)
  • 下载YouTube视频的一种方法

    yt-dlp 安装Python环境 pip install yt-dlp 默认格式,高于720P的格式一般是 webm 格式 yt-dlp https://youtu.be/sKrT6mBrosc 下载视频转换成mp4(用–merge-output-format参数) yt-dlp –merge-output-format mp4 https://youtu.be/sKrT6mBrosc 1.只下载音频 找m4a格式,列表越靠后越清晰。比如ID:140 | EXT:m4a | audio onl

    2024年02月13日
    浏览(62)
  • vscode “未定义标识符”的一种情况

    原来工程复制到新电脑上面,变量出现“未定义标识符”的红色底纹波浪线,按Ctrl + 鼠标左键,可以跳转到定义处(说明,\\\"includePath\\\"项设置正确)。 根据电脑的具体的情况,修改“intelliSenseMode”: 1)如果你的电脑是默认的情况(没有额外安装编译器),设置为\\\"intelliSens

    2024年02月12日
    浏览(51)
  • node.js调用C++的一种方案

    nodejs官方维护了一套ABI(应用二进制接口),用于完成nodejs和C++的通信。 官网介绍的Node-API是C API,对应的node-addon-api是它的C++版本,更容易使用,本文介绍的也是这个C++的版本。 通过一个示例来说明如何使用node-addon-api 1、初始化一个空项目(生成package.json文件) npm init 2、

    2024年02月03日
    浏览(42)
  • Kotlin单例模式的一种懒汉模式写法

    Kotlin单例模式的一种懒汉模式写法 kotlin用object实现单例模式,companion object与java静态_zhangphil的博客-CSDN博客 kotlin中很容易使用object实现java中的单例模式。由于kotlin中没有static修饰词,可以用companion object实现Java中的static效果。kotlin用object实现单例模式,companion object与java静态

    2024年02月12日
    浏览(36)
  • GPT属于AI,是LLM的一种实现

    GPT(Generative Pre-trained Transformer)作为一种创新的语言模型,既属于人工智能(AI)的一部分,也是大规模语言模型(LLM)的一种实现。本文将探讨GPT在AI和LLM领域的重要性和影响。 GPT(Generative Pre-trained Transformer)是一种基于深度学习的语言模型,它的出现标志着AI技术在自然

    2024年01月21日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包