😼 seeloop的小站
搜索
快照
归档
Github
eddie
文章
5
标签
3
Github
归档
搜索
标签
编程相关
Solidity loop(3) —— ethers.js
发布于: 2024-11-10
最后更新: 2024-11-10
次查看
Solidity
type
status
date
slug
summary
tags
category
icon
password
😀
前言: 记录了我在学习ethers.js中的一些思考,以及一些容易遗漏的记录;后续随着理解的更加深入,仍会同步更新; 如果需要详细学习相关知识,请参考‣ ,本文仅推荐用于伴读。
 

提供其Provider、读取合约信息、发送ETH、合约交互、部署合约

Documentation
Documentation for ethers, a complete, tiny and simple Ethereum library.
Documentation
https://docs.ethers.org/v6/
Documentation
  • Contract读取
    • 创建钱包的api
       

      检索事件,监听合约事件、事件过滤、BigInt和单位转换、StaticCall

      • 监听合约
        • 事件过滤
          • StaticCall
             

            识别ERC721合约、编码calldata、批量生成钱包/批量转账/批量归集

            • interfaceId补充
              • 接口类Interface
                • 通过calldata来调用函数
                   

                  MerkleTree脚本、数字签名脚本、监听Mempool

                  Mempool
                  在用户的交易被矿工打包进以太坊区块链之前,所有交易会汇集到Mempool(交易内存池)中。矿工也是在这里寻找费用高的交易优先打包,实现利益最大化。通常来说,gas price越高的交易,越容易被打包。 Mev也发生在其中,即为通过调整gas,机器人会在一笔滑点设置过高的swap交易之前插入买单,用户交易之后发送一个卖单,以此获利的一个过程;
                   

                  解码交易详情,靓号生成器、读取任意数据、抢先交易脚本、识别ERC20合约

                  • ERC1967Proxy
                    • ERC1967Proxy,为了避免代理和逻辑合约在存储使用上的冲突,逻辑合约的地址通常保存在一个特定的存储槽,并保证编译器永远不会分配该存储槽;
                  • 通过slot获取某一个ERC20代币的private 变量
                    • 如shib的合约,_balance是一个mapping (address => uint256) private;
                      这里的_balance作为一个映射类型,并且由于是第一个状态变量,因此基础槽位是0,而其中具体的value存储位置,需要进一步进行哈希计算;同理_allowances基础槽位为1;
                      针对多个槽位共同占用一个槽的情况时:需要先读取整个槽,然后通过位运算提取所需的值;
                  • 抢先交易脚本
                     

                    Flashbots、EIP712签名脚本

                    • Flashbots flashbots relay是和public mempool相对应的,可以直接被打包,然后发送给矿工上链;
                      • 作者:eddie
                      • 链接:https://www.binlog.com/article/13a4ec7d-70d7-8076-93f0-e0653664e396
                      • 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
                      相关文章
                      Solidity loop(2) —— 实践
                      Solidity loop(1) —— 基础
                      hello-worldSolidity loop(2) —— 实践
                      Loading...
                      eddie
                      eddie
                      quantity,efficacy,quality
                      文章
                      5
                      标签
                      3
                      最新发布
                      Solidity loop(3) —— ethers.js
                      Solidity loop(3) —— ethers.js
                      2024-11-10
                      Solidity loop(1) —— 基础
                      Solidity loop(1) —— 基础
                      2024-11-10
                      Solidity loop(2) —— 实践
                      Solidity loop(2) —— 实践
                      2024-11-10
                      SnapShot
                      SnapShot
                      2024-10-30
                      hello-world
                      hello-world
                      2024-9-13
                      2021-2025 eddie.

                      seeloop的小站 | quantity,efficacy,quality

                      Powered by NotionNext 4.7.0.