Bài viết
Chia sẻ kiến thức của bạn.
Triển khai trên lớp 1
Tôi đã học cách triển khai một hợp đồng thông minh đơn giản trên testnet bằng cách sử dụng Remix.
Quy trình thực hành tốt nhất để cạn kiệt giao thức DeFi vào bất kỳ mạng lớp 1 hoặc 2 nào?
Bạn có sử dụng Remix không, bạn có sử dụng bất kỳ CLI nào hoặc bất kỳ giải pháp thay thế nào khác không? Có ai trong số họ an toàn hơn người kia không? và tại sao lại chọn thủ tục đó so với 2 thủ tục còn lại?
Ví dụ: khi nhóm Uniswap triển khai mã Uniswap vào lớp 1 Ethereum, họ đã triển khai mã như thế nào?
Cảm ơn
- Cyfrin Updraft
- Blockchain
- Smart Contract
Câu trả lời
1Có một số cách để triển khai hợp đồng thông minh, giống như rất nhiều. Tất cả phụ thuộc vào sở thích của một cá nhân. Hãy nói về 2-3 cách tiếp cận hàng đầu mà hầu hết các nhà phát triển thích áp dụng theo như tôi quan tâm:
-
Hardat - Đó là một môi trường phát triển được xây dựng đặc biệt cho Ethereum. Người ta có thể làm nhiều việc khác nhau với các hợp đồng thông minh, như gỡ lỗi, thử nghiệm và triển khai. Nó rất đơn giản để sử dụng, có CLI riêng và sử dụng Javascript, một ngôn ngữ khá phổ biến và được hầu hết mọi người trong không gian biết đến.
-
Foundry - Đó là một vũ khí phổ biến khác mà các nhà phát triển thường thích để phát triển hợp đồng thông minh của họ. Nó đã trở nên phổ biến gần đây, bởi vì nó sử dụng Solidity cho mọi thứ, điều đó có nghĩa là không cần phải chuyển sang nhiều ngôn ngữ khác nhau cho phần phát triển, bạn biết Solidity, bạn có tất cả. Và vâng, nó cũng đi kèm với CLI, và có thể khá khó so với Hardhat. Tuy nhiên, nỗi đau đó đáng giá.
-
Remix (Không cần phải dán liên kết của nó) - Bạn biết Remix, công cụ đầu tiên mà chúng tôi được giới thiệu. Vâng, vâng, đó là cách dễ nhất nhưng làm những việc khác ngoài triển khai có thể đủ khó khăn. Tuy nhiên, chưa bao giờ thấy các nhà phát triển sử dụng nó nhiều cho các mục đích phát triển nghiêm túc. Thậm chí đôi khi tôi đã sử dụng nó để kiểm tra những điều rất cơ bản, trong đó tôi cần triển khai một hợp đồng để kiểm tra một số phần của nó thay vì viết toàn bộ kịch bản cho điều đó.
Cùng với đó, bạn có thể tìm thấy một số công cụ khác đã trở nên khá lỗi thời hiện nay. Tôi nhớ khi bắt đầu vào cuối năm 2023, có những công cụ như Truffle mà tôi không thích thành thật (chỉ là ý kiến cá nhân).
Có một công cụ khác mà cá nhân tôi biết, người khác không biết nhiều vì bây giờ nó là một công cụ khởi đầu, được tạo ra bởi một nhóm nhỏ và tôi biết người sáng lập (tôi là một trong những người đầu tiên anh ấy chia sẻ ý tưởng của mình). Đó là AnyFlow. Dự án này thực sự được xây dựng để tránh những khó khăn mà các nhà phát triển đôi khi gặp phải trong quá trình Phát triển Hợp đồng Thông minh. Một số tính năng của nó là:
- Không cần quan tâm đến mã thông báo testnet
- Giao diện người dùng tuyệt vời
- Không có cli
Điều kiện tiên quyết duy nhất của AnyFlow là dự án của bạn phải là một dự án hardhat (được tạo chỉ bằng một lệnh duy nhất). Sau đó, tất cả những gì bạn cần làm là kết nối GitHub của bạn, kéo repo của bạn lên, chọn các chuỗi và triển khai. Cá nhân tôi đã thử nó, hoàn toàn tốt, đặc biệt là khi bạn thiếu mã thông báo testnet.
Bây giờ hãy trả lời một số câu hỏi cụ thể của bạn:
Quy trình thực hành tốt nhất để triển khai giao thức DeFi vào bất kỳ mạng lớp 1 hoặc 2 nào là gì?
Cho dù đó là giao thức DeFi hay một loạt các hợp đồng thông minh được liên kết với nhau, quy trình luôn giữ nguyên hầu hết thời gian. Kiểm tra hợp đồng, triển khai chúng và bảo vệ khóa riêng của bạn (cố gắng tìm cách tốt hơn là lưu trữ khóa của bạn trong một .env
tệp. Hơn nữa, bạn nên giữ ví nhà phát triển và ví có tiền thực tế riêng biệt. Tại sao vậy? Do nhiều vụ hack đã xảy ra trong những ngày này và mục tiêu là chúng tôi, chúng tôi là nhà phát triển. Tôi đã phải đối mặt với một cuộc tấn công nhưng đã được cứu bằng cách nào đó (bạn biết lý do), nhưng nhiều người không phải lúc nào cũng may mắn như vậy.
Bạn có sử dụng Remix không, bạn có sử dụng bất kỳ CLI nào hoặc bất kỳ giải pháp thay thế nào khác không? Có ai trong số họ an toàn hơn người kia không? và tại sao lại chọn thủ tục đó so với 2 thủ tục còn lại?
Tôi đã trả lời phần đầu của nó rồi. Nói về an toàn, chưa bao giờ nghe chính xác về bất kỳ vi phạm hoặc lỗ hổng nào khi nói đến triển khai (trừ khi có lỗi của chính nhà phát triển, ví dụ, anh ta đã nhầm khóa riêng của mình vào Github, v.v.). Do đó, hầu hết chúng đều an toàn. Chọn bất kỳ trong số chúng là sở thích cá nhân của bạn, tại sao không thử tất cả và chỉ chọn cái bạn cảm thấy thoải mái?
Ví dụ: khi nhóm Uniswap triển khai mã Uniswap vào lớp 1 Ethereum, họ đã triển khai mã như thế nào?
Tôi không biết chính xác nhóm Uniswap đã sử dụng gì để triển khai Uniswap, có lẽ có thể được tìm kiếm ngay lập tức thông qua Google hoặc tìm hiểu một chút trong các bài viết khác nhau, hoặc chính GitHub của Uniswap. Thành thật mà nói, nó không quan trọng nhiều. Một khi bạn đã biết chính xác những điều xung quanh việc triển khai hợp đồng thông minh, bạn có thể sẽ đoán xem họ đã thực hiện nó như thế nào (nếu không chính xác). Điểm cần tập trung ở đây là, cách họ viết và thử nghiệm nó, nhưng đó là do bạn. Tuy nhiên, tôi chắc chắn rằng họ không sử dụng Remix.
Chúc may mắn!
Bạn có biết câu trả lời không?
Hãy đăng nhập và chia sẻ nó.
Cyfrin Updraft is an education platform specializing on teaching the next generation of smart contract developers