Viết chương trình Hello World đầu tiên trên Solidity

Có lẽ đây là chương trình huyền thoại rồi. Gần như tất cả các ngôn ngữ lập trình khi bạn học đều viết Hello World đầu tiên, và trong seri cũng không ngoại lệ.

1. Viết “Hello World”

Đầu tiên, nếu bạn viết mã trên VS Code thì bạn cần tạo file với đuôi là .sol (ví dụ hello-world.sol). Nếu viết trên Remix thì không cần, nó đã tạo sẵn cho bạn 1 file. Khi mở Remix lên bạn xoá hết nội dung có trong file nhé. Chúng ta sẽ tạo từ đầu, bạn viết như sau:
Dòng pragma solidity ^0.4.24; là để khai báo phiên bản solidity mà chương trình sẽ sử dụng. Dấu ^ là để chỉ định chương trình sẽ chạy trên những phiên bản 0.4.24 trở lên, nhưng không phải 0.5 (cái này giống như trong file package.json của Nodejs)
contract HelloWorld tức là bạn sẽ tạo 1 smart contract với tên là HelloWorld. Về căn bản thì nó giống hoạt động giống như class trong các ngôn ngữ OOP vậy. Tiếp theo bạn viết thêm dòng như hình ở dưới:
Ở trên mình tạo 1 biến tên là hello với kiểu dữ liệu là string. Tiếp theo là function constructor, constructor là một magic function trong Solidity. Tức là khi bạn khởi chạy cái contract này lần đầu tiên, nó sẽ chạy cái function đó (nó chỉ chạy dujy nhất 1 lần thôi). Tiếp theo mình cho function đó 1 đối số và cho nó public (tức nó có thể gọi từ bên ngoài). Sau đó mình gán hello = với store.

2. Test chương trình Hello World

Giải thích thì hơi dài dòng, chúng ta sẽ cùng test nó trên Remix. Bạn vào trang đó và bấm vào mục Run. Ở phía dưới, gõ “Hello World” giống như hình:
Sau đó bấm Deploy. Ta sẽ thấy phía dưới nó hiện biến hello với nội dung là: “Hello World”. Về căn bản, đây chỉ đơn giản là tạo một contract với nội dung truyền vào là “Hello World” và gọi nó. Bạn có thế ứng dụng nó để hiện thị ai là người tạo ra cái contract này. Ví dụ:
Do constructor chỉ được chạy một lần duy nhất lúc khởi tạo nên khi ai đó muốn biết ai là người tạo ra contract này, người đó chỉ việc gọi biến manager.

3. Tổng kết

Như vậy mình đã giới thiệu sơ qua về cách viết mã trên Solidity. Chung quy lại nó rất giống với viết một class trên Javascript

Post Comment