BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR
Partnered With:

Giới thiệu đơn giản về Solidity|Bài 26: Xóa hợp đồng

Đọc bài viết này mất 5 phút
tự hủy là nút khẩn cấp của hợp đồng thông minh, hủy hợp đồng và chuyển số ETH còn lại vào tài khoản được chỉ định.
Tiêu đề gốc: "Giới thiệu về chủ nghĩa tối giản vững chắc: 26. Xóa hợp đồng"
Tác giả gốc: 0xAA


Gần đây tôi đã tham gia Tìm hiểu lại về Solidity, củng cố các chi tiết và viết "Giới thiệu về Solidity Minimalist" cho người mới bắt đầu (các chuyên gia lập trình có thể tìm một hướng dẫn khác) và cập nhật 1-3 bài giảng mỗi tuần.


Tất cả các mã và hướng dẫn đều là nguồn mở trên github: github.com/AmazingAng/WTFSolidity


tự hủy


Lệnh tự hủy có thể được sử dụng để xóa hợp đồng thông minh và chuyển số ETH còn lại của hợp đồng đến địa chỉ được chỉ định. tính năng tự hủy được thiết kế để giải quyết các trường hợp nghiêm trọng khi hợp đồng gặp trục trặc. Lúc đầu nó được đặt tên là tự sát, nhưng từ này quá nhạy cảm. Để bảo vệ các lập trình viên chán nản, đổi tên thành self-destruct.


Cách sử dụng tính năng tự hủy


cách sử dụng tính năng tự hủy rất đơn giản:



Trong đó_addr là địa chỉ nhận số ETH còn lại trong hợp đồng.


Ví dụ  



Trong hợp đồng DeleteContract, chúng tôi đã viết một giá trị biến trạng thái công khai và hai hàm: getBalance() để lấy số dư ETH của hợp đồng, deleteContract() được sử dụng để tự hủy hợp đồng và chuyển ETH cho người khởi tạo.


Sau khi triển khai hợp đồng, chúng tôi chuyển 1 ETH sang hợp đồng DeleteContract. Lúc này, getBalance() sẽ trả về 1 ETH và biến giá trị là 10.


Khi chúng ta gọi hàm deleteContract(), hợp đồng sẽ tự hủy và tất cả các biến sẽ bị xóa. Lúc này, giá trị sẽ trở thành giá trị mặc định là 0 và getBalance() cũng sẽ trả về giá trị null.


Tóm tắt


tự hủy là nút khẩn cấp của hợp đồng thông minh, hủy hợp đồng và chuyển giao ETH còn lại vào tài khoản được chỉ định. Khi cuộc tấn công The DAO nổi tiếng xảy ra, những người sáng lập Ethereum chắc hẳn đã phải hối hận vì đã không thêm tính năng tự hủy vào hợp đồng để ngăn chặn cuộc tấn công của hacker.


Liên kết gốc


Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm Telegram đăng ký: https://t.me/theblockbeats

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

举报 Báo lỗi/Báo cáo
Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi