الدرس رقم 2

Khái niệm cơ bản về hợp đồng thông minh Solidity

Chào mừng đến với Bài học 2! Hôm nay, chúng ta sẽ đi sâu vào thế giới hấp dẫn của lập trình Solidity và tạo ra các hợp đồng thông minh. Chúng ta sẽ khám phá cú pháp cơ bản của Solidity, kiểu dữ liệu, biến và hàm. Ngoài ra, chúng tôi sẽ viết hợp đồng thông minh đơn giản đầu tiên và triển khai nó trên Nile Testnet bằng TronIDE và ví TronLink của chúng tôi. Hãy nhảy ngay vào!

Giới thiệu về ngôn ngữ lập trình vững chắc cho hợp đồng thông minh

Solidity là ngôn ngữ lập trình chính để tạo hợp đồng thông minh trên Tron và các chuỗi khối dựa trên Ethereum khác. Cú pháp của Solidity tương tự như JavaScript, giúp những người có nền tảng JavaScript dễ học hơn.

Hoạt động 1: Dành khoảng 20 phút để xem qua tài liệu Solidity (https://docs.soliditylang.org/). Viết ra bất kỳ điểm tương đồng hoặc khác biệt nào mà bạn nhận thấy giữa Solidity và các ngôn ngữ lập trình khác mà bạn biết.

Cú pháp, kiểu dữ liệu, biến và hàm trong Solidity

Trong Solidity, chúng ta có nhiều kiểu dữ liệu khác nhau, bao gồm uint, address, bool và string. Chúng ta định nghĩa các biến để lưu trữ dữ liệu và viết các hàm để thao tác với dữ liệu này. Hãy tạo một hợp đồng thông minh rất cơ bản. Chúng tôi sẽ tạo một hợp đồng lưu trữ một số và cho phép chúng tôi truy xuất và thay đổi số đó.

Mở TronIDE và tạo Không gian làm việc mới. Trong hợp đồng đầu tiên có tên Storage.sol, bạn có thể tìm thấy mã này:

Độ rắn 
 // SPDX-Mã định danh giấy phép: GPL-3.0 

 độ rắn pragma >=0.7.0 <0.9.0; 

 /** 
 * @title Storage 
 * @dev Lưu trữ và truy xuất giá trị trong một biến 
 */ 
 hợp đồng Storage { 

 uint256 number; 

 /** 
 * @dev Lưu trữ giá trị trong biến 
 * @param num value để lưu trữ 
 */ 
 hàm store(uint256 num) public {
        number = num;
    }

    /** 
 * @dev Giá trị trả về 
 * @return giá trị của 'number' 
 */ 
 hàm lấy() chế độ xem công khai trả về (uint256){
        return number;
    }
}

Trong hợp đồng này, chúng tôi tuyên bố:

  • number biến trạng thái thuộc loại uint256 (số nguyên không dấu 256 bit)
  • Hàm store() cập nhật giá trị của number
  • Hàm retrieve() trả về giá trị hiện tại của number

Viết và triển khai Hợp đồng thông minh Tron đơn giản trên Nile Testnet

Bây giờ chúng ta đã có hợp đồng, hãy triển khai nó trên Nile Testnet.

  • Bước 1: Biên dịch hợp đồng trong TronIDE bằng cách nhấp vào biểu tượng thứ hai từ trên xuống trên thanh bên trái (Biên dịch).
  • Bước 2: Đảm bảo ví TronLink của bạn được kết nối với Nile Testnet.

  • Bước 3: Nhấp vào biểu tượng thứ ba từ trên xuống trên thanh bên trái trong TronIDE (Triển khai & Chạy giao dịch), chọn hợp đồng của bạn trong menu thả xuống và nhấp vào 'Triển khai'.

Thì đấy! Hợp đồng đầu tiên của bạn hiện đã có trên Nile Testnet!

Tương tác với hợp đồng đã triển khai

Sau khi triển khai thành công hợp đồng thông minh của bạn trên Nile Testnet thông qua TronIDE, hãy làm theo các bước sau:

  • Bước 1: Mở tab “Triển khai và chạy giao dịch” trong TronIDE. Đây là biểu tượng thứ ba từ trên xuống ở thanh bên trái.
  • Bước 2: Trong phần “Hợp đồng đã triển khai” bên dưới, bạn sẽ thấy danh sách các hợp đồng bạn đã triển khai. Tìm hợp đồng có tên “Storage”. Bấm vào nó để mở rộng và xem các chức năng của hợp đồng.
  • Bước 3: Bạn sẽ thấy hai hàm được liệt kê là store()retrieve().
  • Bước 4: Để lưu trữ một số, hãy nhập số mong muốn vào trường bên cạnh hàm store() . Đảm bảo số này nằm trong phạm vi có thể chấp nhận được đối với uint256 (trong khoảng từ 0 đến xấp xỉ 1,15x10^77). Sau khi nhập số, hãy nhấp vào nút store() . Một giao dịch sẽ được bắt đầu.

  • Bước 5: Một thông báo TronLink sẽ bật lên, yêu cầu bạn xác nhận để thực hiện giao dịch này. Xác nhận giao dịch.
  • Bước 6: Sau khi giao dịch được xác nhận (bạn có thể kiểm tra trạng thái trong lịch sử giao dịch ví TronLink của mình), bạn có thể gọi retrieve() . Nhấp vào nút retrieve() . Không cần nhập bất kỳ giá trị nào cho hàm này.
  • Bước 7: Lệnh gọi hàm retrieve() sẽ không tạo giao dịch mới vì đây là hàm view (nó không sửa đổi trạng thái hợp đồng). Bạn sẽ thấy đầu ra được hiển thị trong tab “console” ở cuối màn hình TronIDE. Số bạn nhìn thấy phải giống với số bạn đã lưu trữ bằng hàm store() .

Đó là nó! Bạn đã tương tác với hợp đồng đã triển khai của mình. Sự tương tác này tạo thành phần cốt lõi trong cách người dùng tương tác với dApp của bạn.

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.
الكتالوج
الدرس رقم 2

Khái niệm cơ bản về hợp đồng thông minh Solidity

Chào mừng đến với Bài học 2! Hôm nay, chúng ta sẽ đi sâu vào thế giới hấp dẫn của lập trình Solidity và tạo ra các hợp đồng thông minh. Chúng ta sẽ khám phá cú pháp cơ bản của Solidity, kiểu dữ liệu, biến và hàm. Ngoài ra, chúng tôi sẽ viết hợp đồng thông minh đơn giản đầu tiên và triển khai nó trên Nile Testnet bằng TronIDE và ví TronLink của chúng tôi. Hãy nhảy ngay vào!

Giới thiệu về ngôn ngữ lập trình vững chắc cho hợp đồng thông minh

Solidity là ngôn ngữ lập trình chính để tạo hợp đồng thông minh trên Tron và các chuỗi khối dựa trên Ethereum khác. Cú pháp của Solidity tương tự như JavaScript, giúp những người có nền tảng JavaScript dễ học hơn.

Hoạt động 1: Dành khoảng 20 phút để xem qua tài liệu Solidity (https://docs.soliditylang.org/). Viết ra bất kỳ điểm tương đồng hoặc khác biệt nào mà bạn nhận thấy giữa Solidity và các ngôn ngữ lập trình khác mà bạn biết.

Cú pháp, kiểu dữ liệu, biến và hàm trong Solidity

Trong Solidity, chúng ta có nhiều kiểu dữ liệu khác nhau, bao gồm uint, address, bool và string. Chúng ta định nghĩa các biến để lưu trữ dữ liệu và viết các hàm để thao tác với dữ liệu này. Hãy tạo một hợp đồng thông minh rất cơ bản. Chúng tôi sẽ tạo một hợp đồng lưu trữ một số và cho phép chúng tôi truy xuất và thay đổi số đó.

Mở TronIDE và tạo Không gian làm việc mới. Trong hợp đồng đầu tiên có tên Storage.sol, bạn có thể tìm thấy mã này:

Độ rắn 
 // SPDX-Mã định danh giấy phép: GPL-3.0 

 độ rắn pragma >=0.7.0 <0.9.0; 

 /** 
 * @title Storage 
 * @dev Lưu trữ và truy xuất giá trị trong một biến 
 */ 
 hợp đồng Storage { 

 uint256 number; 

 /** 
 * @dev Lưu trữ giá trị trong biến 
 * @param num value để lưu trữ 
 */ 
 hàm store(uint256 num) public {
        number = num;
    }

    /** 
 * @dev Giá trị trả về 
 * @return giá trị của 'number' 
 */ 
 hàm lấy() chế độ xem công khai trả về (uint256){
        return number;
    }
}

Trong hợp đồng này, chúng tôi tuyên bố:

  • number biến trạng thái thuộc loại uint256 (số nguyên không dấu 256 bit)
  • Hàm store() cập nhật giá trị của number
  • Hàm retrieve() trả về giá trị hiện tại của number

Viết và triển khai Hợp đồng thông minh Tron đơn giản trên Nile Testnet

Bây giờ chúng ta đã có hợp đồng, hãy triển khai nó trên Nile Testnet.

  • Bước 1: Biên dịch hợp đồng trong TronIDE bằng cách nhấp vào biểu tượng thứ hai từ trên xuống trên thanh bên trái (Biên dịch).
  • Bước 2: Đảm bảo ví TronLink của bạn được kết nối với Nile Testnet.

  • Bước 3: Nhấp vào biểu tượng thứ ba từ trên xuống trên thanh bên trái trong TronIDE (Triển khai & Chạy giao dịch), chọn hợp đồng của bạn trong menu thả xuống và nhấp vào 'Triển khai'.

Thì đấy! Hợp đồng đầu tiên của bạn hiện đã có trên Nile Testnet!

Tương tác với hợp đồng đã triển khai

Sau khi triển khai thành công hợp đồng thông minh của bạn trên Nile Testnet thông qua TronIDE, hãy làm theo các bước sau:

  • Bước 1: Mở tab “Triển khai và chạy giao dịch” trong TronIDE. Đây là biểu tượng thứ ba từ trên xuống ở thanh bên trái.
  • Bước 2: Trong phần “Hợp đồng đã triển khai” bên dưới, bạn sẽ thấy danh sách các hợp đồng bạn đã triển khai. Tìm hợp đồng có tên “Storage”. Bấm vào nó để mở rộng và xem các chức năng của hợp đồng.
  • Bước 3: Bạn sẽ thấy hai hàm được liệt kê là store()retrieve().
  • Bước 4: Để lưu trữ một số, hãy nhập số mong muốn vào trường bên cạnh hàm store() . Đảm bảo số này nằm trong phạm vi có thể chấp nhận được đối với uint256 (trong khoảng từ 0 đến xấp xỉ 1,15x10^77). Sau khi nhập số, hãy nhấp vào nút store() . Một giao dịch sẽ được bắt đầu.

  • Bước 5: Một thông báo TronLink sẽ bật lên, yêu cầu bạn xác nhận để thực hiện giao dịch này. Xác nhận giao dịch.
  • Bước 6: Sau khi giao dịch được xác nhận (bạn có thể kiểm tra trạng thái trong lịch sử giao dịch ví TronLink của mình), bạn có thể gọi retrieve() . Nhấp vào nút retrieve() . Không cần nhập bất kỳ giá trị nào cho hàm này.
  • Bước 7: Lệnh gọi hàm retrieve() sẽ không tạo giao dịch mới vì đây là hàm view (nó không sửa đổi trạng thái hợp đồng). Bạn sẽ thấy đầu ra được hiển thị trong tab “console” ở cuối màn hình TronIDE. Số bạn nhìn thấy phải giống với số bạn đã lưu trữ bằng hàm store() .

Đó là nó! Bạn đã tương tác với hợp đồng đã triển khai của mình. Sự tương tác này tạo thành phần cốt lõi trong cách người dùng tương tác với dApp của bạn.

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.