Kỹ năng phát triển hợp đồng học được từ mã Uniswap
Gần đây, khi viết một hướng dẫn phát triển sàn giao dịch phi tập trung, tôi đã tham khảo mã nguồn của Uniswap V3 và học được nhiều kiến thức quý giá. Là một nhà phát triển lần đầu tiên thử nghiệm phát triển hợp đồng Defi, những mẹo này sẽ rất hữu ích cho những người mới muốn học phát triển hợp đồng.
Địa chỉ triển khai hợp đồng có thể dự đoán
Thông thường, địa chỉ nhận được từ việc triển khai hợp đồng có vẻ ngẫu nhiên vì liên quan đến nonce. Nhưng trong một số trường hợp, chúng ta cần suy luận địa chỉ hợp đồng thông qua cặp giao dịch và thông tin liên quan. Uniswap sử dụng phương thức CREATE2 để tạo hợp đồng, thêm tham số salt, khiến địa chỉ hợp đồng được tạo ra có thể dự đoán. Logic tạo địa chỉ là: địa chỉ mới = hash("0xFF", địa chỉ người tạo, salt, initcode).
. Phương pháp này vừa đảm bảo giao dịch bình thường không bị tràn, vừa đảm bảo độ chính xác. Mặc dù về lý thuyết vẫn tồn tại một chút mất mát độ chính xác rất nhỏ, nhưng trong thực tế, điều này có thể chấp nhận được.
![Web3 Người mới bắt đầu: Những mẹo nhỏ về phát triển hợp đồng mà tôi đã học được từ mã Uniswap])https://img-cdn.gateio.im/webp-social/moments-b0c3d4eb7e8ca88cc4cfc9476a34437a.webp(
Tính toán lợi nhuận của cơ chế Share
Để ghi lại hiệu quả lợi nhuận phí giao dịch của LP, Uniswap đã áp dụng một phương thức tương tự như cổ phần. Bằng cách ghi lại tổng phí giao dịch và phí giao dịch được phân bổ cho mỗi đơn vị thanh khoản, LP chỉ cần tính toán phí giao dịch có thể rút ra dựa trên thanh khoản nắm giữ, giảm đáng kể mức tiêu thụ gas.
![Web3 người mới series: Những mẹo nhỏ trong phát triển hợp đồng mà tôi học được từ mã Uniswap])https://img-cdn.gateio.im/webp-social/moments-45e66af69435e6d4412ae506e77ab893.webp(
Sử dụng thông tin ngoại chuỗi một cách hợp lý
Xem xét chi phí cao của việc lưu trữ trên chuỗi, không phải tất cả thông tin đều cần được lưu trữ trên chuỗi hoặc lấy từ chuỗi. Ví dụ, danh sách hồ giao dịch, thông tin hồ có thể được lưu trữ trong cơ sở dữ liệu truyền thống, đồng bộ định kỳ với dữ liệu trên chuỗi. Phương pháp này có thể nâng cao hiệu quả và giảm chi phí.
Phân chia hợp đồng và tái sử dụng hợp đồng tiêu chuẩn
Một dự án có thể bao gồm nhiều hợp đồng thực tế được triển khai, ngay cả khi chỉ triển khai một hợp đồng, cũng có thể phân chia mã thành nhiều hợp đồng để duy trì thông qua kế thừa. Đồng thời, việc sử dụng các hợp đồng chuẩn có sẵn (như ERC721) có thể nâng cao hiệu quả phát triển và tăng cường độ tin cậy của hợp đồng.
Kết luận
Thực hành là phương pháp học tập tốt nhất. Bằng cách thử nghiệm xây dựng một phiên bản đơn giản của sàn giao dịch phi tập trung, có thể hiểu sâu hơn về việc triển khai mã nguồn của Uniswap và học hỏi kinh nghiệm quý giá từ các dự án thực tế. Đối với các nhà phát triển có hứng thú tìm hiểu sâu về phát triển dự án Web3 và Defi, tham gia các khóa học thực chiến sẽ là một lựa chọn rất tốt.
![Web3 Người mới bắt đầu: Những mẹo phát triển hợp đồng tôi học được từ mã Uniswap])https://img-cdn.gateio.im/webp-social/moments-f95ddc9d89809cf11dbe65b9bafda157.webp(
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.
12 thích
Phần thưởng
12
6
Chia sẻ
Bình luận
0/400
GateUser-9ad11037
· 14giờ trước
Người mới nhập một vị thế教程齁
Xem bản gốcTrả lời0
WalletManager
· 14giờ trước
Kiểm toán nghiêm ngặt trước hợp đồng chính là công trình nền tảng... Học một đợt xung
Giải mã mã Uniswap: 7 mẹo phát triển hợp đồng thông minh chi tiết
Kỹ năng phát triển hợp đồng học được từ mã Uniswap
Gần đây, khi viết một hướng dẫn phát triển sàn giao dịch phi tập trung, tôi đã tham khảo mã nguồn của Uniswap V3 và học được nhiều kiến thức quý giá. Là một nhà phát triển lần đầu tiên thử nghiệm phát triển hợp đồng Defi, những mẹo này sẽ rất hữu ích cho những người mới muốn học phát triển hợp đồng.
Địa chỉ triển khai hợp đồng có thể dự đoán
Thông thường, địa chỉ nhận được từ việc triển khai hợp đồng có vẻ ngẫu nhiên vì liên quan đến nonce. Nhưng trong một số trường hợp, chúng ta cần suy luận địa chỉ hợp đồng thông qua cặp giao dịch và thông tin liên quan. Uniswap sử dụng phương thức CREATE2 để tạo hợp đồng, thêm tham số salt, khiến địa chỉ hợp đồng được tạo ra có thể dự đoán. Logic tạo địa chỉ là: địa chỉ mới = hash("0xFF", địa chỉ người tạo, salt, initcode).
. Phương pháp này vừa đảm bảo giao dịch bình thường không bị tràn, vừa đảm bảo độ chính xác. Mặc dù về lý thuyết vẫn tồn tại một chút mất mát độ chính xác rất nhỏ, nhưng trong thực tế, điều này có thể chấp nhận được.
![Web3 Người mới bắt đầu: Những mẹo nhỏ về phát triển hợp đồng mà tôi đã học được từ mã Uniswap])https://img-cdn.gateio.im/webp-social/moments-b0c3d4eb7e8ca88cc4cfc9476a34437a.webp(
Tính toán lợi nhuận của cơ chế Share
Để ghi lại hiệu quả lợi nhuận phí giao dịch của LP, Uniswap đã áp dụng một phương thức tương tự như cổ phần. Bằng cách ghi lại tổng phí giao dịch và phí giao dịch được phân bổ cho mỗi đơn vị thanh khoản, LP chỉ cần tính toán phí giao dịch có thể rút ra dựa trên thanh khoản nắm giữ, giảm đáng kể mức tiêu thụ gas.
![Web3 người mới series: Những mẹo nhỏ trong phát triển hợp đồng mà tôi học được từ mã Uniswap])https://img-cdn.gateio.im/webp-social/moments-45e66af69435e6d4412ae506e77ab893.webp(
Sử dụng thông tin ngoại chuỗi một cách hợp lý
Xem xét chi phí cao của việc lưu trữ trên chuỗi, không phải tất cả thông tin đều cần được lưu trữ trên chuỗi hoặc lấy từ chuỗi. Ví dụ, danh sách hồ giao dịch, thông tin hồ có thể được lưu trữ trong cơ sở dữ liệu truyền thống, đồng bộ định kỳ với dữ liệu trên chuỗi. Phương pháp này có thể nâng cao hiệu quả và giảm chi phí.
Phân chia hợp đồng và tái sử dụng hợp đồng tiêu chuẩn
Một dự án có thể bao gồm nhiều hợp đồng thực tế được triển khai, ngay cả khi chỉ triển khai một hợp đồng, cũng có thể phân chia mã thành nhiều hợp đồng để duy trì thông qua kế thừa. Đồng thời, việc sử dụng các hợp đồng chuẩn có sẵn (như ERC721) có thể nâng cao hiệu quả phát triển và tăng cường độ tin cậy của hợp đồng.
Kết luận
Thực hành là phương pháp học tập tốt nhất. Bằng cách thử nghiệm xây dựng một phiên bản đơn giản của sàn giao dịch phi tập trung, có thể hiểu sâu hơn về việc triển khai mã nguồn của Uniswap và học hỏi kinh nghiệm quý giá từ các dự án thực tế. Đối với các nhà phát triển có hứng thú tìm hiểu sâu về phát triển dự án Web3 và Defi, tham gia các khóa học thực chiến sẽ là một lựa chọn rất tốt.
![Web3 Người mới bắt đầu: Những mẹo phát triển hợp đồng tôi học được từ mã Uniswap])https://img-cdn.gateio.im/webp-social/moments-f95ddc9d89809cf11dbe65b9bafda157.webp(