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.
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)store()
cập nhật giá trị của number
retrieve()
trả về giá trị hiện tại của number
Bây giờ chúng ta đã có hợp đồng, hãy triển khai nó trên Nile Testnet.
Thì đấy! Hợp đồng đầu tiên của bạn hiện đã có trên Nile Testnet!
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:
store()
và retrieve()
.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.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.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.
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.
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)store()
cập nhật giá trị của number
retrieve()
trả về giá trị hiện tại của number
Bây giờ chúng ta đã có hợp đồng, hãy triển khai nó trên Nile Testnet.
Thì đấy! Hợp đồng đầu tiên của bạn hiện đã có trên Nile Testnet!
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:
store()
và retrieve()
.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.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.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.