#5: Foundry FrameworkTương tác với Contract đã Deploy trên Anvil Chain

Tương Tác Với Contract Đã Deploy Lên Anvil Chain

Sau khi triển khai hợp đồng lên Anvil Chain, bạn có thể tương tác với nó bằng cách gọi các hàm công khai. Dưới đây là các bước để thực hiện điều này, giả định rằng Anvil đã được khởi tạo.

Bước 1: Lấy địa chỉ hợp đồng

Khi bạn triển khai hợp đồng, forge script hoặc forge create sẽ cung cấp địa chỉ của hợp đồng đã được triển khai. Bạn cần địa chỉ này để tương tác với hợp đồng.

Bước 2: Sử dụng cast để tương tác

Foundry cung cấp công cụ cast để tương tác với các hợp đồng thông minh. Bạn có thể sử dụng cast để gọi các hàm công khai của hợp đồng.

Ví dụ: Gọi hàm công khai

Giả sử bạn có một hợp đồng với hàm công khai getValue() mà bạn muốn gọi. Dưới đây là cách thực hiện:

  1. Gọi hàm không trả phí (view/pure)

    cast call <CONTRACT_ADDRESS> "getValue()" --rpc-url http://127.0.0.1:8545

    Thay <CONTRACT_ADDRESS> bằng địa chỉ của hợp đồng.

  2. Gọi hàm trả phí

    Nếu bạn cần gọi một hàm thay đổi trạng thái, bạn sẽ cần cung cấp khóa riêng:

    cast send <CONTRACT_ADDRESS> "setValue(uint256)" <NEW_VALUE> --rpc-url http://127.0.0.1:8545 --private-key <PRIVATE_KEY>

    Thay <CONTRACT_ADDRESS>, <NEW_VALUE>, và <PRIVATE_KEY> bằng giá trị tương ứng.

Bước 3: Kiểm tra kết quả

Sau khi gọi hàm, bạn có thể kiểm tra kết quả hoặc trạng thái của hợp đồng bằng cách gọi các hàm view hoặc pure để xác nhận rằng các thay đổi đã được thực hiện như mong đợi.

Kết luận

Tương tác với hợp đồng trên Anvil Chain cho phép bạn kiểm tra và xác minh hoạt động của hợp đồng trong một môi trường cục bộ an toàn. Sử dụng cast giúp bạn dễ dàng thực hiện các cuộc gọi hàm và kiểm tra kết quả một cách nhanh chóng và hiệu quả.