Gửi Ether vào một hợp đồng

Sep 30 2020

Tôi đã thêm ba chức năng dưới đây vào hợp đồng đã triển khai của mình như được mô tả trong bài viết https://programtheblockchain.com/posts/2017/12/15/writing-a-contract-that-handles-ether/

Tôi đã triển khai bằng Remix trên Rinkeby. Khi tôi nhập 1 Ether vào giao dịch Gửi tiền trong Remix, tôi gặp lỗi "Không thể ước tính khí".

Tại sao chức năng Nạp tiền lại phát sinh lỗi?

Cảm ơn bạn

hàm rút () public {msg.sender.transfer (address (this) .balance); }

function deposit(uint256 amount) payable public {
    require(msg.value == amount);
    // nothing else to do!
}

function getBalance() public view returns (uint256) {
    return address(this).balance;
}

Cập nhật

Tôi đã cố gắng sử dụng chức năng dự phòng nhưng Remix không thích nó.

độ rắn pragma> = 0,4,0 <0,7,0;

Cảm ơn bạn

Trả lời

1 Picard78 Sep 30 2020 at 15:48
  1. Tôi đã sử dụng hàm dự phòng bên dưới và nó hoạt động.

receive() external payable {}

  1. Bài đăng này là những gì tôi thực sự đang tìm kiếm trong câu hỏi ban đầu của tôi. Mọi thứ đều hoạt động tốt.

Làm cách nào để bạn gửi Ether dưới dạng một hàm cho hợp đồng bằng Remix?