7 mẹo phát triển hợp đồng hữu ích hỗ trợ dự án Defi

Chia sẻ mẹo phát triển hợp đồng

Gần đây, khi viế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 một số dự án nổi tiếng và học được nhiều kỹ thuật phát triển hợp đồng thú vị. Là một người mới lần đầu thử nghiệm phát triển hợp đồng Defi, những kỹ thuật này đã mang lại cho tôi nhiều cảm hứng, tôi tin rằng cũng sẽ hữu ích cho những người bạn khác muốn học phát triển hợp đồng.

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

Địa chỉ hợp đồng có thể dự đoán

Thông thường, địa chỉ của hợp đồng được triển khai trông có vẻ ngẫu nhiên, vì nó liên quan đến nonce. Nhưng trong một số tình huống, chúng ta cần suy luận địa chỉ hợp đồng thông qua thông tin giao dịch, điều này rất hữu ích trong việc xác định quyền giao dịch hoặc lấy địa chỉ của bể.

Một phương pháp là sử dụng cách CREATE2 để tạo hợp đồng, thông qua việc thêm tham số salt để làm cho địa chỉ được tạo ra có thể dự đoán. Logic tạo địa chỉ mới là: hash("0xFF", địa chỉ người tạo, salt, initcode).

Web3 Người mới bắt đầu: Những mẹo nhỏ trong phát triển hợp đồng mà tôi đã học từ mã Uniswap

Sử dụng hàm callback một cách thông minh

Trong một số tình huống, việc hợp đồng A gọi phương thức của hợp đồng B và B lại gọi lại phương thức của A là rất hữu ích.

Ví dụ, trong giao dịch, phương thức swap của hợp đồng pool sẽ gọi lại swapCallback, truyền vào số lượng Token thực tế cần thiết. Bên gọi sẽ chuyển Token vào pool trong hàm gọi lại, điều này đảm bảo tính an toàn và toàn vẹn của phương thức swap, không cần ghi chép biến phức tạp.

Sử dụng ngoại lệ để truyền thông tin

Trong việc giao dịch mô phỏng để ước tính Token cần thiết, có thể ném ra lỗi đặc biệt trong hàm callback, sau đó bắt lỗi đó và phân tích thông tin cần thiết từ nó. Như vậy không cần phải cải tiến phương thức swap riêng cho ước tính nhu cầu, logic sẽ đơn giản hơn.

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

Giải quyết vấn đề độ chính xác của số lớn

Trong các tình huống liên quan đến tính toán, để tránh mất độ chính xác trong phép chia, có thể dịch trái 96 bit ( tương đương với nhân với 2^96), sau đó thực hiện phép chia. Bằng cách này, có thể đảm bảo độ chính xác mà không bị tràn.

Tính toán lợi nhuận theo phương thức Share

Đối với các tình huống cần ghi lại lợi nhuận phí LP, không thể ghi lại cho mỗi LP trong mỗi giao dịch, điều này sẽ tiêu tốn rất nhiều Gas. Có thể áp dụng cách tương tự như cổ tức cổ phiếu, chỉ ghi lại tổng phí và phí được phân bổ cho mỗi đơn vị thanh khoản, khi LP rút tiền sẽ tính theo thanh khoản nắm giữ.

Web3 Người mới series: Những mẹo phát triển hợp đồng mà tôi đã học được từ mã Uniswap

Lưu trữ thông tin hỗ trợ ngoài chuỗi

Không phải tất cả thông tin đều cần được đưa lên blockchain hoặc lấy từ blockchain. Một số dữ liệu không quan trọng như danh sách giao dịch, thông tin pool, v.v. có thể được lưu trữ trong cơ sở dữ liệu thông thường và đồng bộ định kỳ từ blockchain. Điều này có thể cải thiện hiệu suất và hiệu quả.

Phân tách hợp đồng và tái sử dụng hợp đồng tiêu chuẩn

Các dự án lớn có thể chia nhỏ hợp đồng thành nhiều phần, hoặc chia nhỏ và bảo trì thông qua kế thừa. Đồng thời, có thể tái sử dụng các hợp đồng tiêu chuẩn như ERC721, tăng cường hiệu quả phát triển.

Tự tay phát triển 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ề ứng dụng của những kỹ thuật này. Hy vọng những chia sẻ này sẽ hữu ích cho mọi người.

Web3 người mới: Những mẹo phát triển hợp đồng mà tôi đã học từ mã Uniswap

DEFI-6.41%
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.
  • Phần thưởng
  • 7
  • Chia sẻ
Bình luận
0/400
HappyMinerUnclevip
· 08-04 03:00
Điều này phức tạp quá nhỉ, các bạn Người khai thác hãy nhận lấy hố.
Xem bản gốcTrả lời0
SadMoneyMeowvip
· 08-03 20:33
Cách chơi hợp đồng này thật quá xa xỉ.
Xem bản gốcTrả lời0
SandwichTradervip
· 08-01 04:28
Một thế hệ mới tồi tệ nhưng không phải là những kẻ lừa đảo.
Xem bản gốcTrả lời0
LayerZeroHerovip
· 08-01 03:29
Khuyên bạn nên thử nghiệm trực tiếp trên dapptools, sử dụng gas để kiểm tra đáng tin cậy hơn.
Xem bản gốcTrả lời0
hodl_therapistvip
· 08-01 03:21
Bạn chắc chắn rằng đây là công nghệ mới nhất không... trông có vẻ hơi cũ.
Xem bản gốcTrả lời0
NewPumpamentalsvip
· 08-01 03:11
mức độ salt vẫn chưa tới đâu nhỉ anh em
Xem bản gốcTrả lời0
DiamondHandsvip
· 08-01 03:10
Vừa kém vừa thích học yyds
Xem bản gốcTrả lời0
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)