paint-brush
Cách viết và biên dịch mã hợp đồng thông minh Solidity của bạn trong Remix: Khái niệm cơ bản về phát triển dApptừ tác giả@dansierrasam79
2,412 lượt đọc
2,412 lượt đọc

Cách viết và biên dịch mã hợp đồng thông minh Solidity của bạn trong Remix: Khái niệm cơ bản về phát triển dApp

từ tác giả Daniel Chakraborty6m2023/03/23
Read on Terminal Reader

dài quá đọc không nổi

Bài đăng trên blog của tuần này giới thiệu chủ đề về hợp đồng thông minh nhưng bằng ngôn ngữ mà hầu hết các nhà phát triển web có thể thấy dễ dàng chuyển sang: chúng ta đang nói về Solidity. Hầu hết các nhà phát triển hợp đồng thông minh bắt đầu với Solidity và Môi trường phát triển tích hợp Remix là công cụ đầu tiên mà họ thường bắt đầu hành trình của mình.
featured image - Cách viết và biên dịch mã hợp đồng thông minh Solidity của bạn trong Remix: Khái niệm cơ bản về phát triển dApp
Daniel Chakraborty HackerNoon profile picture
0-item
1-item

Mặc dù khái niệm về hợp đồng thông minh đã có từ những năm 90, Ethereum là nền tảng đầu tiên nhận ra tiềm năng của nó và loại bỏ nhu cầu về bên thứ ba nhờ vào việc triển khai.


Với việc Ethereum chiếm vị trí trung tâm, thị trường hợp đồng thông minh đã phát triển ngày càng mạnh mẽ và ước tính sẽ phát triển đến quy mô thị trường trị giá 8,3 tỷ đô la Mỹ vào năm 2030 . Rõ ràng, với việc các hợp đồng thông minh được ưa chuộng trong các dự án trên một số ngành, không có gì ngạc nhiên khi các nhà phát triển hợp đồng thông minh được trả lương cao, do nhu cầu ngày càng tăng.


Nói về điều này, bài đăng trên blog tuần này giới thiệu chủ đề về hợp đồng thông minh nhưng bằng ngôn ngữ mà hầu hết các nhà phát triển web có thể thấy dễ dàng chuyển sang: chúng ta đang nói về Solidity.

Môi trường phát triển tích hợp The Remix

Nếu bạn muốn học phát triển hợp đồng thông minh, lựa chọn lý tưởng liên quan đến việc chọn một ngôn ngữ phổ biến, dễ học và cung cấp một môi trường phát triển dễ tiếp cận.


Vì lý do này, hầu hết các nhà phát triển hợp đồng thông minh đều bắt đầu với Solidity và vì lý do đó, Môi trường phát triển tích hợp Remix là công cụ đầu tiên mà họ thường bắt đầu hành trình phát triển web3 của mình. Đối với hầu hết, đây sẽ là lần đầu tiên họ sử dụng môi trường phát triển nhưng điều này được thực hiện dễ dàng vì Remix IDE có thể được thiết lập trong bất kỳ trình duyệt phổ biến nào.


The Remix IDE - Màn hình mặc định


Ở cấp độ cơ bản, điều quan trọng cần lưu ý là mỗi hợp đồng thông minh là một tệp .sol nhờ ngôn ngữ mà nó được viết bằng: Solidity. Ngoài ra, việc soạn thảo hợp đồng yêu cầu bạn chọn phiên bản bạn muốn sử dụng. Cả hai nhiệm vụ viết và biên dịch hợp đồng thông minh của bạn phải được thực hiện trước khi triển khai hợp đồng thông minh của bạn lên Testnet hoặc Mainnet.


Nói về điều này, điều quan trọng là bạn phải kiểm tra hợp đồng thông minh của mình trên Testnet trước khi triển khai nó trên Mainnet. Khi sử dụng Remix, bạn có thể sử dụng mạng thử nghiệm Goerli hoặc Sepolia. Tuy nhiên, đối với điều này, bạn sẽ cần kết nối ví Web3 của mình với Remix ngay từ đầu - tốt nhất là sử dụng ví Metamask.


Ví Metamask


Nếu bạn không biết Testnet là gì, hãy nghĩ về nó như một môi trường nơi bạn có thể chạy hợp đồng của mình bằng cách sử dụng tiền giả trong khi đánh giá xem hợp đồng thông minh của bạn đã sẵn sàng cho thế giới thực hay chưa thông qua thử nghiệm. Nói tóm lại, đó là một mô phỏng về cách hợp đồng thông minh sẽ hoạt động trước khi triển khai trên Mainnet.


Cuối cùng, bạn cần hiểu rằng mọi hợp đồng thông minh, sau khi được triển khai, được xác định bởi một địa chỉ duy nhất. Tất nhiên, bạn có thể chuyển tiền vào và ra khỏi hợp đồng thông minh của mình bằng các tài khoản người dùng giả có sẵn trong Remix. Ngoài ra, bạn cũng phải tìm hiểu mọi thứ có thể về việc thanh toán phí gas và cách nó được khấu trừ khỏi tài khoản của bạn khi bạn viết và chạy hợp đồng thông minh đầu tiên của mình.

Những bước đầu tiên của bạn để sử dụng Remix IDE

Bây giờ, nếu bạn muốn viết và biên dịch hợp đồng thông minh đầu tiên của mình bằng cách sử dụng Remix IDE, có bốn biểu tượng trong bảng biểu tượng mà bạn phải học cách sử dụng:


Bảng biểu tượng


Mỗi biểu tượng trong số bốn biểu tượng này đại diện cho các chức năng khác nhau về cách sử dụng không gian làm việc:

  1. Chương trình quản lý dữ liệu
  2. Tìm kiếm trong Tệp
  3. Trình biên dịch Solidity
  4. Triển khai & Chạy giao dịch


Việc chọn File Explorer sẽ đưa bạn đến không gian làm việc mặc định, như hình bên dưới:

Không gian làm việc mặc định


Bạn sẽ có thể tạo, sửa đổi và xóa các thư mục cũng như tệp Solidity tại đây. Tải tệp lên không gian làm việc của bạn cũng như thêm tệp đó vào ý chính của Github cũng là các tùy chọn khả dụng.


Biểu tượng thứ hai trong bảng điều khiển được gắn nhãn Tìm kiếm trong Tệp và biểu tượng này cho phép bạn thực hiện điều đó. Trong trường hợp này, chúng tôi đang tìm cụm từ tìm kiếm 'máy bán hàng tự động' và cụm từ đó sẽ xuất hiện bên dưới.


Tìm kiếm trong Tệp


Đối với việc chọn tùy chọn trình biên dịch Solidity, chúng ta sẽ được đưa đến một màn hình như hình dưới đây:

Trình biên dịch Solidity


Tại đây, bạn có thể chọn phiên bản trình biên dịch và hợp đồng bạn muốn biên dịch trước khi nhấn nút màu xanh lam, như được hiển thị ở trên.


Đối với biểu tượng cuối cùng trong bảng có tên Triển khai & Chạy Giao dịch, chúng tôi sẽ đề cập đến cách sử dụng biểu tượng đó trong bài đăng blog tiếp theo của loạt bài này.

Làm việc với Hợp đồng Solidity đầu tiên của bạn

Giờ đây, một số ngôn ngữ hợp đồng thông minh phổ biến có cú pháp tương tự như JavaScript, Python và Rust - những ngôn ngữ đã phổ biến đối với các nhà phát triển có kinh nghiệm.


Tuy nhiên, thứ nổi bật là Solidity khi nền tảng Ethereum tiếp tục thuê các nhà phát triển với tốc độ đồng đều, vì vậy tốt nhất là bắt đầu hành trình của chúng tôi với việc triển khai hợp đồng thông minh máy bán hàng tự động bằng ngôn ngữ này. Bạn có thể sao chép mã hợp đồng thông minh của máy bán hàng tự động từ trang web Ethereum này.


Quen thuộc với máy bán hàng tự động?


Cần phải chỉ ra rằng hoạt động của máy bán hàng tự động rất giống với cách thức hoạt động của hợp đồng thông minh. Trên thực tế, hai phương thức 'nạp tiền' và 'mua hàng', như bạn có thể thấy trong hợp đồng thông minh của Máy bán hàng tự động, sao chép các hành động mà chủ sở hữu máy bán hàng tự động và người mua của nó thực hiện trong đời thực.


Bây giờ, điều hướng đến không gian làm việc của bạn bằng cách chọn biểu tượng 'File Explorer'. Mở tệp .sol mới bằng biểu tượng Tạo tệp mới, như hình bên dưới:


Biểu tượng Tạo tệp mới


Bây giờ, hãy dán mã hợp đồng thông minh của Máy bán hàng tự động vào tệp đó cùng với Mã định danh giấy phép SPDX, như được hiển thị bên dưới:

Hợp đồng thông minh 'Máy bán hàng tự động'


Sau đó, đã đến lúc biên dịch hợp đồng thông minh đầu tiên của bạn trong Remix dựa trên phiên bản trình biên dịch được chọn trong câu lệnh “pragma”. Tất nhiên, sửa lỗi cũng sẽ là một phần của quá trình này.

Biên dịch Hợp đồng thông minh Solidity đầu tiên của bạn trong Remix

Bây giờ, khi chúng tôi đã thêm mã hợp đồng thông minh của mình vào tệp .sol trong không gian làm việc mặc định, bước tiếp theo là gỡ lỗi mã của bạn. Do không có lỗi, bạn sẽ biên dịch hợp đồng thông minh trước khi triển khai nó vào Testnet.


Trước khi chúng tôi bắt đầu, phím tắt Ctrl + S sẽ biên dịch hợp đồng thông minh của bạn. Bây giờ, nếu tùy chọn Solidity Compiler trong bảng biểu tượng có dấu kiểm màu lục, mã của bạn đã sẵn sàng để triển khai!


Biên dịch thành công (có dấu tích màu xanh lá cây)


Tất nhiên, không phải mọi thứ đều theo kế hoạch. Trong hầu hết các trường hợp, sẽ có lỗi mà bạn sẽ phải giải quyết trước khi thành công với nỗ lực biên dịch mã bạn đã viết. Biểu tượng Trình biên dịch Solidity sẽ giống như thế này, trong đó '1' cho biết số lỗi trong mã của bạn:


Biên dịch không thành công (có 1 lỗi)


Nói về các lỗi phổ biến, những người mới bắt đầu có xu hướng không chọn đúng phiên bản trình biên dịch phù hợp với phiên bản đã chọn trong tuyên bố pragma của hợp đồng thông minh, như minh họa bên dưới:


Lỗi trong tuyên bố pragma


Để khắc phục điều này, hãy truy cập menu thả xuống trong tùy chọn Solidity Compiler:

Thay đổi menu thả xuống phiên bản trình biên dịch (bằng mũi tên hai chiều)


Thay đổi phiên bản trình biên dịch thành “0.8.7+commit.e28d00a7”, để có kết quả như sau:

Thay đổi thành phiên bản 0.8.7 như trong câu lệnh pragma


Một lỗi phổ biến khác liên quan đến việc mắc lỗi cú pháp, chẳng hạn như lỗi liên quan đến ánh xạ “cupcakeBalances”:


Lỗi cú pháp: không có ánh xạ như vậy đã được khai báo trước đó, phải không?


Nếu bạn chưa nhận thấy, dấu chấm than màu đỏ nằm trong hộp màu đỏ cho biết câu lệnh có lỗi. Trong trường hợp này, khi bạn sửa lỗi đánh máy bằng cách thêm “k” và nhấn Ctrl + S, dấu hiệu đó sẽ biến mất.


Sau khi sửa lỗi đánh máy, lỗi đã được giải quyết


Với việc giải quyết hai lỗi đơn giản này, bạn cũng sẽ thấy một dấu kiểm màu xanh lá cây xuất hiện cùng với biểu tượng Trình biên dịch Solidity. Rõ ràng, bạn đã biên dịch thành công hợp đồng thông minh đầu tiên của mình.


Vì vậy, bây giờ đã đến lúc triển khai hợp đồng thông minh của bạn lên Testnet nhưng điều này sẽ được đề cập trong một bài đăng trên blog trong tương lai.


Điều đó nói rằng, chúng tôi đang xây dựng Metaverse lấy nhà phát triển làm trung tâm để bạn tìm hiểu thêm về Phát triển Web3 và xây dựng kỹ năng của mình.


Đăng ký để tham gia Danh sách trắng Lumos Metaverse để có quyền truy cập độc quyền: