Web3 Development with Solidity
VBI AcademyTường Thái
GitHubGitHub
  • Welcome
    • Giới thiệu
    • Blockchain là gì?
    • Giá trị của Smart Contract
    • Smart Contract đã làm được những gì?
    • Tạo ví và tương tác với Blockchain
    • Gas trong giao dịch Blockchain
    • Blockchain thực sự hoạt động như thế nào?
    • Private Key & Signature trong giao dịch Blockchain
    • Blockchain Oracle & Storage
    • Những khái niệm High Level
    • Tổng quan ngành Blockchain
    • Giới thiệu
    • Giới thiệu Remix IDE
    • Solidity Source File Layout
    • Biến và kiểu dữ liệu
    • Functions
    • Array & Struct
    • Mapping
    • Storage, Calldata & Memory
    • Deploy Contract
    • Tương tác với Contract đã Deploy
    • Recap
    • Demo
    • Deploy contract từ một contract khác
    • Solidity Import
    • Hiểu thêm về Array
    • ABI & Tương tác giữa các contract
    • Kế thừa & Ghi đè
    • Demo
    • Setup dự án
    • Payable & `msg.value`
    • Wei
    • Validations với `require()`
    • Biến Constant
    • Biến Immutable & `constructor()`
    • Validations với `if/else` & `revert()`
    • Gửi Ether thông qua một Function
    • Fallback & Receive Functions
    • `this` keyword
    • Custom Error
    • Modifier
    • Giới thiệu Chainlink Oracle
    • Setup Chainlink Data Feed
    • Chuyển giá trị thành Wei
    • Sử dụng AI
    • Library
    • Mapping & Array Funders
    • Event
    • Giới thiệu Foundry Framework
    • Cài đặt trên macOS
    • Cài đặt trên Windows
    • Setup dự án
    • Khởi tạo Local Anvil Chain
    • Deploy Contract lên Anvil Chain bằng `forge create`
    • Deploy Contract lên Anvil Chain bằng `forge script`
    • Bảo mật Private Key bằng `cast wallet`
    • Giải thích Transaction
    • Tương tác với Contract đã Deploy trên Anvil Chain
    • Lấy RPC-URL cá nhân trên Alchemy
    • Deploy Contract lên Sepolia Testnet
    • Tương tác với Contract đã Deploy trên Sepolia Chain
    • Bảo mật RPC-URL với ENV File
    • Verify Contract với `forge verify-contract`
    • Tương tác với Contract đã Verify
    • Verify Contract trong khi Deploy
    • Makefile
    • Setup dự án
    • Install Chainlink Library
    • Tại sao phải Testing
    • Thiết lập Test File & Test Case
    • Unit Testing cho Function `fund()`
    • Sử dụng Mock Contract cho Local Testing
    • Fork Test
    • Thiết lập Deploy & Helper Config Script
    • Sử dụng Script cho Test File
    • Testing Coverage
    • Install OpenZeppelin Library
    • Unit Testing cho Function `withdraw()`
    • Interactions Script
    • Integration Test
    • Nâng cấp Helper Config Script
    • Hoàn thiện Integration Test
    • Nâng cấp Makefile
    • Staging Test
    • Demo dự án
    • Setup dự án
    • Triển khai Connect Wallet
    • Xây dựng Layout
    • Lấy dữ liệu trên Smart Contract
    • Xây dựng Donation Form
    • Refactor Code Base
    • Xây dựng Loader
    • Lấy History Events trong Contract
    • Hiển thị Latest Donation
    • Lời khuyên luyện tập
    • Custom Provider
Có câu hỏi? Hãy để lại feedback →
#6: Smart Contract TestingInstall OpenZeppelin Library

Install OpenZeppelin Library trong Foundry

OpenZeppelin là một thư viện phổ biến cung cấp các hợp đồng thông minh an toàn và đã được kiểm tra kỹ lưỡng.

Testing CoverageUnit Testing cho Function `withdraw()`

MIT 2025 © TerranCrypt.