1. 介绍
  2. 入门
  3. 1. 安装
  4. 2. Foundry之旅的第一步
  5. 项目
  6. 3. 创建新项目
  7. 4. 处理现有项目
  8. 5. 依赖项
  9. 6. 项目布局
  10. Forge 概述
  11. 7. Forge概述
  12. 8. 测试
    1. 8.1. 编写测试
    2. 8.2. cheatcodes
    3. 8.3. Forge标准库概览
    4. 8.4. 了解Traces
    5. 8.5. 分叉测试
  13. 9. 高级测试
    1. 9.1. 模糊测试
    2. 9.2. 差异测试
  14. 10. 部署和验证
  15. 11. Gas追踪
    1. 11.1. Gas报告
    2. 11.2. Gas快照
  16. 12. 调试器
  17. Cast概览
  18. 13. Cast概述
  19. Anvil概述
  20. 14. Anvil 概述
  21. 配置
  22. 15. 使用foundry.toml进行配置
  23. 16. 持续集成
  24. 17. 与 VSCode 集成
  25. 18. Shell Autocompletion
  26. 19. 静态分析器
  27. 20. 与Hardhat集成
  28. 教程
  29. 21. 最佳实践
  30. 22. 使用 Solmate 创建 NFT
  31. 23. Docker 和 Foundry
  32. 24. 测试EIP-712签名
  33. 25. Solidity脚本
  34. 26. 使用Cast和Anvil分叉主网
  35. Appendix
  36. 27. FAQ
  37. 28. References
    1. 28.1. forge 命令
      1. 28.1.1. 常用命令
        1. 28.1.1.1. forge
        2. 28.1.1.2. forge help
        3. 28.1.1.3. forge completions
      2. 28.1.2. Project 命令
        1. 28.1.2.1. forge init
        2. 28.1.2.2. forge install
        3. 28.1.2.3. forge update
        4. 28.1.2.4. forge remove
        5. 28.1.2.5. forge config
        6. 28.1.2.6. forge remappings
        7. 28.1.2.7. forge tree
      3. 28.1.3. Build 命令
        1. 28.1.3.1. forge build
        2. 28.1.3.2. forge clean
        3. 28.1.3.3. forge inspect
      4. 28.1.4. Test 命令
        1. 28.1.4.1. forge test
        2. 28.1.4.2. forge snapshot
      5. 28.1.5. Deploy 命令
        1. 28.1.5.1. forge create
        2. 28.1.5.2. forge verify-contract
        3. 28.1.5.3. forge verify-check
        4. 28.1.5.4. forge flatten
      6. 28.1.6. Utility 命令
        1. 28.1.6.1. forge debug
        2. 28.1.6.2. forge bind
        3. 28.1.6.3. forge cache
        4. 28.1.6.4. forge cache clean
        5. 28.1.6.5. forge cache ls
        6. 28.1.6.6. forge script
        7. 28.1.6.7. forge upload-selectors
    2. 28.2. cast 命令
      1. 28.2.1. 常用命令
        1. 28.2.1.1. cast
        2. 28.2.1.2. cast help
        3. 28.2.1.3. cast completions
      2. 28.2.2. Chain 命令
        1. 28.2.2.1. cast chain-id
        2. 28.2.2.2. cast chain
        3. 28.2.2.3. cast client
      3. 28.2.3. Transaction 命令
        1. 28.2.3.1. cast publish
        2. 28.2.3.2. cast receipt
        3. 28.2.3.3. cast send
        4. 28.2.3.4. cast call
        5. 28.2.3.5. cast rpc
        6. 28.2.3.6. cast tx
        7. 28.2.3.7. cast run
        8. 28.2.3.8. cast estimate
        9. 28.2.3.9. cast access-list
      4. 28.2.4. Block 命令
        1. 28.2.4.1. cast find-block
        2. 28.2.4.2. cast gas-price
        3. 28.2.4.3. cast block-number
        4. 28.2.4.4. cast basefee
        5. 28.2.4.5. cast block
        6. 28.2.4.6. cast age
      5. 28.2.5. Account 命令
        1. 28.2.5.1. cast balance
        2. 28.2.5.2. cast storage
        3. 28.2.5.3. cast proof
        4. 28.2.5.4. cast nonce
        5. 28.2.5.5. cast code
      6. 28.2.6. ENS 命令
        1. 28.2.6.1. cast lookup-address
        2. 28.2.6.2. cast resolve-name
        3. 28.2.6.3. cast namehash
      7. 28.2.7. Etherscan 命令
        1. 28.2.7.1. cast etherscan-source
      8. 28.2.8. ABI 命令
        1. 28.2.8.1. cast abi-encode
        2. 28.2.8.2. cast 4byte
        3. 28.2.8.3. cast 4byte-decode
        4. 28.2.8.4. cast 4byte-event
        5. 28.2.8.5. cast calldata
        6. 28.2.8.6. cast pretty-calldata
        7. 28.2.8.7. cast --abi-decode
        8. 28.2.8.8. cast --calldata-decode
        9. 28.2.8.9. cast upload-signature
      9. 28.2.9. Conversion 命令
        1. 28.2.9.1. cast --format-bytes32-string
        2. 28.2.9.2. cast --from-bin
        3. 28.2.9.3. cast --from-fix
        4. 28.2.9.4. cast --from-rlp
        5. 28.2.9.5. cast --from-utf8
        6. 28.2.9.6. cast --parse-bytes32-string
        7. 28.2.9.7. cast --to-ascii
        8. 28.2.9.8. cast --to-base
        9. 28.2.9.9. cast --to-bytes32
        10. 28.2.9.10. cast --to-fix
        11. 28.2.9.11. cast --to-hexdata
        12. 28.2.9.12. cast --to-int256
        13. 28.2.9.13. cast --to-rlp
        14. 28.2.9.14. cast --to-uint256
        15. 28.2.9.15. cast --to-unit
        16. 28.2.9.16. cast --to-wei
        17. 28.2.9.17. cast shl
        18. 28.2.9.18. cast shr
      10. 28.2.10. Utility 命令
        1. 28.2.10.1. cast sig
        2. 28.2.10.2. cast keccak
        3. 28.2.10.3. cast compute-address
        4. 28.2.10.4. cast interface
        5. 28.2.10.5. cast index
        6. 28.2.10.6. cast --concat-hex
        7. 28.2.10.7. cast --max-int
        8. 28.2.10.8. cast --min-int
        9. 28.2.10.9. cast --max-uint
        10. 28.2.10.10. cast --to-checksum-address
      11. 28.2.11. Wallet 命令
        1. 28.2.11.1. cast wallet
        2. 28.2.11.2. cast wallet new
        3. 28.2.11.3. cast wallet address
        4. 28.2.11.4. cast wallet sign
        5. 28.2.11.5. cast wallet vanity
        6. 28.2.11.6. cast wallet verify
    3. 28.3. anvil参考
    4. 28.4. Config参考
      1. 28.4.1. Overview
      2. 28.4.2. Project
      3. 28.4.3. Solidity Compiler
      4. 28.4.4. Testing
      5. 28.4.5. Formatter
      6. 28.4.6. Etherscan
    5. 28.5. Cheatcodes参考
      1. 28.5.1. Environment
        1. 28.5.1.1. warp
        2. 28.5.1.2. roll
        3. 28.5.1.3. fee
        4. 28.5.1.4. difficulty
        5. 28.5.1.5. chainId
        6. 28.5.1.6. store
        7. 28.5.1.7. load
        8. 28.5.1.8. etch
        9. 28.5.1.9. deal
        10. 28.5.1.10. prank
        11. 28.5.1.11. startPrank
        12. 28.5.1.12. stopPrank
        13. 28.5.1.13. record
        14. 28.5.1.14. accesses
        15. 28.5.1.15. recordLogs
        16. 28.5.1.16. getRecordedLogs
        17. 28.5.1.17. setNonce
        18. 28.5.1.18. getNonce
        19. 28.5.1.19. mockCall
        20. 28.5.1.20. clearMockedCalls
        21. 28.5.1.21. coinbase
        22. 28.5.1.22. broadcast
        23. 28.5.1.23. startBroadcast
        24. 28.5.1.24. stopBroadcast
        25. 28.5.1.25. pauseGasMetering
        26. 28.5.1.26. resumeGasMetering
      2. 28.5.2. Assertions
        1. 28.5.2.1. expectRevert
        2. 28.5.2.2. expectEmit
        3. 28.5.2.3. expectCall
      3. 28.5.3. Fuzzer
        1. 28.5.3.1. assume
      4. 28.5.4. Forking
        1. 28.5.4.1. createFork
        2. 28.5.4.2. selectFork
        3. 28.5.4.3. createSelectFork
        4. 28.5.4.4. activeFork
        5. 28.5.4.5. rollFork
        6. 28.5.4.6. makePersistent
        7. 28.5.4.7. revokePersistent
        8. 28.5.4.8. isPersistent
        9. 28.5.4.9. allowCheatcodes
        10. 28.5.4.10. transact
      5. 28.5.5. External
        1. 28.5.5.1. ffi
        2. 28.5.5.2. projectRoot
        3. 28.5.5.3. getCode
        4. 28.5.5.4. getDeployedCode
        5. 28.5.5.5. setEnv
        6. 28.5.5.6. envOr
        7. 28.5.5.7. envBool
        8. 28.5.5.8. envUint
        9. 28.5.5.9. envInt
        10. 28.5.5.10. envAddress
        11. 28.5.5.11. envBytes32
        12. 28.5.5.12. envString
        13. 28.5.5.13. envBytes
        14. 28.5.5.14. parseJson
      6. 28.5.6. Utilities
        1. 28.5.6.1. addr
        2. 28.5.6.2. sign
        3. 28.5.6.3. label
        4. 28.5.6.4. deriveKey
        5. 28.5.6.5. rememberKey
        6. 28.5.6.6. toString
      7. 28.5.7. Snapshots
      8. 28.5.8. RPC
      9. 28.5.9. Files
    6. 28.6. Forge Standard Library参考
      1. 28.6.1. Std Logs
      2. 28.6.2. Std Assertions
        1. 28.6.2.1. fail
        2. 28.6.2.2. assertFalse
        3. 28.6.2.3. assertEq
        4. 28.6.2.4. assertApproxEqAbs
        5. 28.6.2.5. assertApproxEqRel
      3. 28.6.3. Std Cheats
        1. 28.6.3.1. skip
        2. 28.6.3.2. rewind
        3. 28.6.3.3. hoax
        4. 28.6.3.4. startHoax
        5. 28.6.3.5. deal
        6. 28.6.3.6. deployCode
        7. 28.6.3.7. bound
        8. 28.6.3.8. changePrank
        9. 28.6.3.9. makeAddr
        10. 28.6.3.10. makeAddrAndKey
        11. 28.6.3.11. noGasMetering
      4. 28.6.4. Std Errors
        1. 28.6.4.1. assertionError
        2. 28.6.4.2. arithmeticError
        3. 28.6.4.3. divisionError
        4. 28.6.4.4. enumConversionError
        5. 28.6.4.5. encodeStorageError
        6. 28.6.4.6. popError
        7. 28.6.4.7. indexOOBError
        8. 28.6.4.8. memOverflowError
        9. 28.6.4.9. zeroVarError
      5. 28.6.5. Std Storage
        1. 28.6.5.1. target
        2. 28.6.5.2. sig
        3. 28.6.5.3. with_key
        4. 28.6.5.4. depth
        5. 28.6.5.5. checked_write
        6. 28.6.5.6. find
        7. 28.6.5.7. read
      6. 28.6.6. Std Math
        1. 28.6.6.1. abs
        2. 28.6.6.2. delta
        3. 28.6.6.3. percentDelta
      7. 28.6.7. Script Utils
        1. 28.6.7.1. computeCreateAddress
        2. 28.6.7.2. deriveRememberKey
      8. 28.6.8. Console Logging
    7. 28.7. DSTest参考
  38. 29. Miscellaneous
    1. 29.1. Struct encoding

Foundry 中文

Std Assertions

  • fail
  • assertFalse
  • assertEq
  • assertApproxEqAbs
  • assertApproxEqRel