Solidity là ngôn ngữ lập trình được sử dụng bởi các hợp đồng thông minh trên chuỗi khối Ethereum. Đó là một ngôn ngữ lập trình hướng đối tượng, được định kiểu tĩnh.
Solidity sử dụng một lược đồ lập phiên bản ngữ nghĩa và tại thời điểm viết bài, phiên bản mới nhất là 0.8.9. Như bạn có thể thấy, ngôn ngữ này sử dụng định dạng lập phiên bản XYZ theo ngữ nghĩa, cho biết tốc độ thay đổi của nó nhanh như thế nào.
Các ngôn ngữ lập trình như C ++ và JavaScript đã truyền cảm hứng cho ngôn ngữ Solidity. Trong hướng dẫn này, bạn sẽ thấy cách bạn có thể viết và biên dịch hợp đồng thông minh đầu tiên của mình.
Trình chỉnh sửa The Remix
Có rất nhiều trình soạn thảo và biên dịch văn bản mà bạn có thể sử dụng để viết mã Solidity, nhưng đơn giản nhất là Remix . Remix là một IDE trực tuyến cho phép bạn viết và gỡ lỗi mã Solidity của mình. Khi lần đầu tiên truy cập Remix, bạn sẽ thấy một trang đích tương tự như bên dưới.
Viết hợp đồng thông minh đầu tiên của bạn
Đầu tiên, nhấp vào biểu tượng Tạo tệp mới trong tab Người khám phá tệp. Biểu tượng trông giống như một trang giấy với một góc được gấp lại. Đặt tên cho tệp mới là helloWorld.sol . Sử dụng phần mở rộng .sol để cho biết rằng tệp có chứa mã Solidity.
Bây giờ bạn có thể sao chép mã bên dưới vào tệp mới của mình. Dưới đây là giải thích cho mỗi dòng.
// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.1; contract FirstContract { uint var1; function set(uint x) public { var1 = x; } function get() public view returns (uint) { return var1; } }
Dòng đầu tiên hiển thị giấy phép mà theo đó ai đó có thể sử dụng và phân phối phần mềm. Mã trong ví dụ trên sử dụng GPL phiên bản 3.0 . Bạn có thể thay thế giấy phép này bằng bất kỳ giấy phép nào khác như giấy phép MIT .
Dòng thứ hai hiển thị một chỉ thị pragma yêu cầu trình biên dịch sử dụng bất kỳ phiên bản Solidity nào từ 0.8.1 đến 0.9.0 nhưng không bao gồm 0.9.0. Tức là,> = 0.8.1 đến <0.9.0. = "">
Điều quan trọng là bao gồm dòng này để tránh sự không tương thích giữa mã của bạn và phiên bản trình biên dịch.
Liên quan: Solidity là gì và nó được sử dụng như thế nào để phát triển hợp đồng thông minh?
Thường có những thay đổi nhỏ hoặc bản vá trong các phiên bản xy Z. Các thay đổi phá vỡ thường xuất hiện trong x. Các phiên bản Y .z. Đây là lý do tại sao chỉ thị pragma không bao gồm phiên bản 0.9.0 trong đoạn mã trên.
Solidity là một ngôn ngữ hướng đối tượng. Các hợp đồng từ khóa trên dòng bốn là tương tự được sử dụng cho các lớp từ khóa trong các ngôn ngữ hướng đối tượng khác.
Hợp đồng có thể chứa các hàm, biến trạng thái và các loại nâng cao khác. Hợp đồng FirstContract chứa một số nguyên ( đơn vị ) không dấu được gọi là var1 .
Hai hàm có tên set () và get () lần lượt là các hàm setter và getter cho biến var1 . Bạn có thể xác định một hàm với từ khóa hàm theo sau là tên hàm và dấu ngoặc đơn.
Trong ngoặc đơn, bạn có thể khai báo các tham số mà hàm của bạn sẽ nhận. Bạn nên viết chúng theo cách tương tự với các định nghĩa biến: nêu kiểu dữ liệu theo sau là tên tham số.
Liên quan: Monero là gì và nó bảo vệ quyền riêng tư của bạn như thế nào?
Lưu ý rằng các định nghĩa của hàm set () và get () có chứa từ khóa public . Điều này tuyên bố rằng bất kỳ hợp đồng nào khác có thể gọi chúng.
Biên dịch và Triển khai
Để biên dịch mã của bạn, hãy nhấp vào nút trình biên dịch Solidity . Khi bạn di chuột qua các nút ở phía bên trái của trình chỉnh sửa, bạn sẽ có thể thấy tên của nút.
Bây giờ hãy nhấp vào nút có nội dung Biên dịch helloWorld.sol . Nếu trình biên dịch không gặp bất kỳ lỗi nào, thì bạn đã biên dịch thành công hợp đồng thông minh đầu tiên của mình.
Để triển khai mã của bạn, hãy nhấp vào nút Triển khai & chạy giao dịch . Nút này nằm ngay bên dưới nút trình biên dịch Solidity trong menu bên trái. Khi ở trên trang này, hãy đảm bảo rằng tên hợp đồng của bạn hiển thị chính xác phía trên nút Triển khai .
Sau khi được xác nhận, bây giờ bạn có thể nhấp vào Triển khai để chạy mã của mình trên mạng thử nghiệm cục bộ hiện tại mà không có phí giao dịch.
Tạo DApp trên Mạng Ethereum
Sau khi học cách tạo hợp đồng thông minh, điểm dừng tiếp theo của bạn sẽ là học cách tạo Ứng dụng phi tập trung (DApps). Đây là các ứng dụng dựa trên blockchain chạy trên mạng không được phép. Đây là vẻ đẹp của hợp đồng thông minh Ethereum.
Bạn sẽ có khả năng tạo các ứng dụng P2P mạnh mẽ trên Ethereum.