### 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 SignatureChecker.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/utils/cryptography/SignatureChecker.sol SignatureChecker库是一个用于链上签名验证的helper库。该...
## 目录 1. [导入钱包私钥到 keystore](#1-导入钱包私钥到-keystore) 2. [编写合约和部署脚本](#2-编写合约和部署脚本) 3. [配置环境变量](#3-配置环境变量) 4. [编写 Bash 部署脚本](#4-编写-bash-部署脚本) 5. [运行部署脚本](#5-运行部...
## 概述 [Hyperliquid](https://hyperliquid.gitbook.io/hyperliquid-docs) 的双重架构结合了高性能的交易引擎 ( **[HyperCore](https://hyperliquid.gitbook.io/hyperliquid-docs/hypercore)**) 和 EVM 兼容性 ( **[HyperEVM](https://hyperliquid.gitbook.io/hyperliquid-docs/hyperevm)**),为...
## 概述 [Hyperliquid](https://hyperliquid.gitbook.io/hyperliquid-docs) 的双重架构结合了高性能交易引擎(**[HyperCore](https://hyperliquid.gitbook.io/hyperliquid-docs/hypercore)**)与 EVM 兼容性(**[HyperEVM](https://hyperliquid.gitbook.io/hyperliquid-docs/hyperevm)**),为...
### 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 PullPayment.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/security/PullPayment.sol PullPayment库是对Openzeppelin中Escrow库的一种封装。从安全角度看,PullPayme...
## 介绍 在本文中,我们将讨论不变性以及如何使用 foundry 测试套件对 Solidity 智能合约进行不变性测试。 不变性测试是一种类似于单元测试和模糊测试的测试方法,用于验证代码的正确性。如果你不熟悉单元测试,请参阅我...
以下是一个在 [Foundry](https://learnblockchain.cn/article/9780) 环境中使用 OpenZeppelin 安全创建和验证 ECDSA 签名的最小示例(可以直接复制粘贴)。 ## 合约:Verifier.sol ```solidity // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/...
我在写 foundry project 的 test script,其中一个 function 用 stdstore 把 isSuccess 的值从 false 改成 true,但是测试的时候,发现值并没有被更新。 测试代码: ``` ... stdstore .target(addrContract) .sig(contract.isSuccess.sel...
### 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 Strings.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/utils/Strings.sol ### 1. 补充:关于memory的string的layout 在memory中创建一个数组,前32个字节存放...
## 前五大 Web3 开发工具 \| 语言、框架与安全性 行业领先的 web3 开发工具,帮助区块链和智能合约开发者加速工作流程,实现高效编程。 在这篇文章中,我们将讨论程序员需要了解的顶级 web3 工具,以及智能合约开发者需熟...
如果你尚未在系统上设置 cURL,可以访问以下链接进行设置: [cURL 设置](https://help.ubidots.com/en/articles/2165289-learn-how-to-install-run-curl-on-windows-macosx-linux) ```solidity ## 安装 foundry curl -L https://foundry.paradigm.xyz | bash ## 克隆练习题...
在remix上进行部署的合约,使用以下命令用foundry验证合约出现报错,请问如何fix? > forge verify-contract \ --chain-id 137 \ --num-of-optimizations 200 \ --watch \ --verifier-url 'https://api.phalcon.xyz/api/rpc_id'\ contract_address \ src/bank...
### 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 Base64.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/utils/Base64.sol Base64库是一个专门用于Base64编码的工具库。 ### 1. 补充:为什么要用Base64编码 ...
### 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 Escrow.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/utils/escrow/Escrow.sol Escrow合约是Openzeppelin中所有escrow拓展库的基础合约,用于为指定地址锁存et...
# cast命令初步使用 cast 与 forge 不同,是用于与以太坊合约进行交互的工具。 而 forge 侧重于合约的开发和测试,两者配合使用。 ## 常用钱包命令 + `cast wallet -h` 查看帮助 + `cast wallet new/new-mnemonic` 生成一个私钥或助记词 + `ca...