Vâng, các đồng chí, tôi sẽ cho bạn biết làm thế nào để thực sự viết các hợp đồng thông minh, mà không cần tô điểm và vô nghĩa mà Internet đang tràn ngập. Bản thân tôi đã phải chịu đựng điều này trong một thời gian dài và tôi sẵn sàng chia sẻ kinh nghiệm của mình.
Tôi sẽ bắt đầu bằng việc nói rằng việc viết hợp đồng thông minh không khó như vẻ bề ngoài, nhưng cũng không đơn giản như những "guru" với các khóa học đắt đỏ hứa hẹn. Đặc biệt là rất bực bội khi những người chơi lớn trên thị trường cố gắng độc quyền lĩnh vực kiến thức này.
Lựa chọn ngôn ngữ - bước đầu tiên đến thành công hoặc thất bại
Để viết hợp đồng thông minh, chủ yếu sử dụng Solidity - đây được coi là tiêu chuẩn trong ngành. Nhưng thật sự mà nói, ngôn ngữ này tự nó khá thô và có rất nhiều lỗ hổng. Tôi đã làm việc với nó vài năm và liên tục gặp phải những vấn đề mà không ai cảnh báo.
Có những lựa chọn khác — FunC cho TON, chẳng hạn. Nhưng ở đây có một vấn đề khác — tài liệu rất ít, và nó thường bằng tiếng Anh với bản dịch kém.
Cài đặt nơi làm việc
Quên đi những hướng dẫn phức tạp. Cặp đôi phù hợp nhất với tôi là Visual Studio Code + tiện ích mở rộng cho Solidity + Remix IDE để kiểm tra nhanh. Không cần phải phát minh lại chiếc xe đạp và cài đặt hàng tấn chương trình như những gì các hướng dẫn chính thức khuyên.
Viết hợp đồng — những cạm bẫy
Khi viết hợp đồng, điều quan trọng là phải nhớ — bất kỳ sai lầm nào của bạn cũng có thể bị sử dụng để đánh cắp tiền. Thực sự là bất kỳ sai lầm nào! Tôi đã từng mắc phải lỗi này khi quên kiểm tra tràn trong một hàm đơn giản, và suýt nữa đã mất một khoản tiền lớn.
Đây là những gì tôi sẽ nói với bạn - đừng tin tưởng vào các ví dụ trong tài liệu. Chúng thường chứa mã không an toàn, mà tuyệt đối không được đưa vào sản xuất. Còn các mẫu doanh nghiệp thì thường được viết bởi những người mà đôi khi thậm chí không hiểu các nguyên tắc cơ bản của công nghệ blockchain.
Kiểm tra — đừng tiết kiệm cho điều này
Hãy kiểm tra mọi thứ ít nhất một trăm lần! Đừng tin những người nói "có thể thử nghiệm sau cũng được". Trong thế giới tiền điện tử, đó là con đường dẫn đến việc mất tất cả. Tôi thường viết các bài kiểm tra ngay cả trước khi viết hợp đồng, suy nghĩ về các kịch bản tấn công khác nhau.
Tôi đã thấy các dự án mất hàng triệu đô la chỉ vì các nhà phát triển quá lười biếng để kiểm tra tất cả các trường hợp cạnh hoặc vội vàng phát hành.
Triển khai vào mạng
Khi bạn triển khai hợp đồng — đừng quên kiểm tra phí. Đôi khi mạng bị quá tải, và thay vì số tiền bình thường, bạn có thể phải trả một khoản tiền lớn cho việc triển khai. Tôi đã từng suýt gửi giao dịch với phí cao hơn cả giá trị của dự án.
Và đừng mù quáng tin tưởng bất kỳ ví phổ biến nào - chúng cũng sai. Tốt hơn là sử dụng các công cụ đáng tin cậy như mũ cứng hoặc nấm cục.
Điều gì tiếp theo?
Ngay cả sau khi triển khai, cần phải theo dõi hợp đồng. Tin tặc không ngủ, và mỗi ngày họ tìm ra những lỗ hổng mới. Về mặt này, blockchain thật tàn nhẫn — chỉ cần một lần triển khai với lỗi, và mọi thứ, hãy viết đi mất.
Thực ra, đừng nghĩ rằng hợp đồng thông minh là panacea. Hầu hết các dự án trong blockchain là tiền bị ném ra ngoài cửa sổ. Nhưng nếu bạn làm điều gì đó có giá trị - hãy làm cho nó chất lượng.
Hãy nhớ: trong blockchain không có hoàn tiền giao dịch và không có hoàn trả! Ở đây bạn hoàn toàn chịu trách nhiệm về mã của mình.
Chúc bạn may mắn với các hợp đồng của mình! Và vâng — đừng nghe tất cả những "chuyên gia" có hai tuần kinh nghiệm đó. Hãy học từ những sai lầm của người khác, chứ không phải từ sai lầm của chính mình.
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Viết hợp đồng thông minh - ghi chú và ý kiến cá nhân của tôi
Vâng, các đồng chí, tôi sẽ cho bạn biết làm thế nào để thực sự viết các hợp đồng thông minh, mà không cần tô điểm và vô nghĩa mà Internet đang tràn ngập. Bản thân tôi đã phải chịu đựng điều này trong một thời gian dài và tôi sẵn sàng chia sẻ kinh nghiệm của mình.
Tôi sẽ bắt đầu bằng việc nói rằng việc viết hợp đồng thông minh không khó như vẻ bề ngoài, nhưng cũng không đơn giản như những "guru" với các khóa học đắt đỏ hứa hẹn. Đặc biệt là rất bực bội khi những người chơi lớn trên thị trường cố gắng độc quyền lĩnh vực kiến thức này.
Lựa chọn ngôn ngữ - bước đầu tiên đến thành công hoặc thất bại
Để viết hợp đồng thông minh, chủ yếu sử dụng Solidity - đây được coi là tiêu chuẩn trong ngành. Nhưng thật sự mà nói, ngôn ngữ này tự nó khá thô và có rất nhiều lỗ hổng. Tôi đã làm việc với nó vài năm và liên tục gặp phải những vấn đề mà không ai cảnh báo.
Có những lựa chọn khác — FunC cho TON, chẳng hạn. Nhưng ở đây có một vấn đề khác — tài liệu rất ít, và nó thường bằng tiếng Anh với bản dịch kém.
Cài đặt nơi làm việc
Quên đi những hướng dẫn phức tạp. Cặp đôi phù hợp nhất với tôi là Visual Studio Code + tiện ích mở rộng cho Solidity + Remix IDE để kiểm tra nhanh. Không cần phải phát minh lại chiếc xe đạp và cài đặt hàng tấn chương trình như những gì các hướng dẫn chính thức khuyên.
Viết hợp đồng — những cạm bẫy
Khi viết hợp đồng, điều quan trọng là phải nhớ — bất kỳ sai lầm nào của bạn cũng có thể bị sử dụng để đánh cắp tiền. Thực sự là bất kỳ sai lầm nào! Tôi đã từng mắc phải lỗi này khi quên kiểm tra tràn trong một hàm đơn giản, và suýt nữa đã mất một khoản tiền lớn.
Đây là những gì tôi sẽ nói với bạn - đừng tin tưởng vào các ví dụ trong tài liệu. Chúng thường chứa mã không an toàn, mà tuyệt đối không được đưa vào sản xuất. Còn các mẫu doanh nghiệp thì thường được viết bởi những người mà đôi khi thậm chí không hiểu các nguyên tắc cơ bản của công nghệ blockchain.
Kiểm tra — đừng tiết kiệm cho điều này
Hãy kiểm tra mọi thứ ít nhất một trăm lần! Đừng tin những người nói "có thể thử nghiệm sau cũng được". Trong thế giới tiền điện tử, đó là con đường dẫn đến việc mất tất cả. Tôi thường viết các bài kiểm tra ngay cả trước khi viết hợp đồng, suy nghĩ về các kịch bản tấn công khác nhau.
Tôi đã thấy các dự án mất hàng triệu đô la chỉ vì các nhà phát triển quá lười biếng để kiểm tra tất cả các trường hợp cạnh hoặc vội vàng phát hành.
Triển khai vào mạng
Khi bạn triển khai hợp đồng — đừng quên kiểm tra phí. Đôi khi mạng bị quá tải, và thay vì số tiền bình thường, bạn có thể phải trả một khoản tiền lớn cho việc triển khai. Tôi đã từng suýt gửi giao dịch với phí cao hơn cả giá trị của dự án.
Và đừng mù quáng tin tưởng bất kỳ ví phổ biến nào - chúng cũng sai. Tốt hơn là sử dụng các công cụ đáng tin cậy như mũ cứng hoặc nấm cục.
Điều gì tiếp theo?
Ngay cả sau khi triển khai, cần phải theo dõi hợp đồng. Tin tặc không ngủ, và mỗi ngày họ tìm ra những lỗ hổng mới. Về mặt này, blockchain thật tàn nhẫn — chỉ cần một lần triển khai với lỗi, và mọi thứ, hãy viết đi mất.
Thực ra, đừng nghĩ rằng hợp đồng thông minh là panacea. Hầu hết các dự án trong blockchain là tiền bị ném ra ngoài cửa sổ. Nhưng nếu bạn làm điều gì đó có giá trị - hãy làm cho nó chất lượng.
Hãy nhớ: trong blockchain không có hoàn tiền giao dịch và không có hoàn trả! Ở đây bạn hoàn toàn chịu trách nhiệm về mã của mình.
Chúc bạn may mắn với các hợp đồng của mình! Và vâng — đừng nghe tất cả những "chuyên gia" có hai tuần kinh nghiệm đó. Hãy học từ những sai lầm của người khác, chứ không phải từ sai lầm của chính mình.