Trong bài viết này, em sẽ giới thiệu với mọi người Remix - một IDE nổi tiếng hỗ trợ chúng ta trong quá trình tìm hiểu, làm việc với ngôn ngữ lập trình Solidity và viết thử , deploy Smart Contract đầu tiên.
1. Làm quen với Remix IDE:
Integrated Development Environment (IDE) là công cụ hỗ trợ cho chúng ta trong quá trình mình phát triển phần mềm. Hầu hết các ngôn ngữ lập trình phổ biến hiện nay sẽ có các IDE riêng biệt để hỗ trợ cho lập trình viên viết code và phát triển ứng dụng dễ dàng hơn.
Và Solidity cũng không ngoại lệ. Có rất nhiều IDE phổ biến hỗ trợ cho chúng ta làm việc với ngôn ngữ lập trình Solidity. Nhưng nổi bật nhất trong số đó chính là Remix vì tính dễ dàng sử dụng của nó, anh chị có thể dễ dàng dùng trên chính trình duyệt của mình mà không cần cài đặt về máy tính.
Một số lợi ích khi anh chị sử dụng Remix IDE bao gồm:
- Viết Smart Contract, compile, deploy code Solidity.
- Tích hợp với các test net cùng với web3.
- Bởi vì Remix IDE chạy trên trình duyệt nên mình có thể sử dụng để tương tác với ví MetaMask.
Nếu như anh chị chưa biết MetaMask là gì hoặc chưa cài đặt MetaMask, anh chị có thể xem bài viết bên dưới để tìm hiểu thêm:
Ngoài ra, một lời khuyên của em dành cho anh chị mới tìm hiểu ngôn ngữ lập trình Solidity đó là mình nên sử dụng Remix IDE để tiết kiệm thời gian cấu hình và cài đặt.
Đầu tiên, anh chị truy cập vào trang chủ của Remix thông qua link: https://remix.ethereum.org/
Dưới đây là giao diện của Remix sau khi anh chị nhấn vào link trên. Lưu ý trước khi bắt đầu, anh chị cần kiểm tra lại xem là Remix của chúng ta có đủ 2 tab số 1 và số 2 trong hình hay chưa.
Trong trường hợp anh chị không có 2 tab trên, anh chị có thể active thông qua setting của Remix bằng cách nhấn vào icon Setting ở góc trái phía dưới màn hình. Trong khung search anh chị gõ tên và nhấn Active như hình dưới.
(Lưu ý: Remix version hiện tại mặc định đã active sẵn 2 tab).
2. Viết thử Smart Contract đầu tiên:
Ok bây giờ chúng ta sẽ viết thử Smart Contract đầu tiên. Trước hết, anh chị nhấn vào icon file như hình bên dưới và tạo file tên là Counter.sol
Sau khi khởi tạo xong file, mình sẽ lập trình 1 Smart Contract với chức năng chính là tăng giảm số hiện tại lên 1 sau mỗi lần nhấn và hiển thị số hiện tại lên màn hình để xem giá trị hiện tại.
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract Counter {
uint256 public counter;
// Function that increments our counter
function increment() public {
counter++;
}
// Function that descrements our counter
function descrement() public {
counter--;
}
}
Nếu anh chị đã lập trình qua bất kỳ ngôn ngữ nào, ví dụ như C#, Java, Dart chẳng hạn, mình sẽ thấy code ở trên rất rõ ràng và dễ hiểu đối với người mới. Em sẽ giải thích chức năng từng dòng để anh chị hiểu rõ hơn:
- Dòng 1: Khai báo License, để ý nếu không có thì Compiler sẽ không chịu.
- Dòng 3: Khai báo version Solidity Compiler mà anh chị mong muốn, lưu ý Solidity Compiler sẽ có sự khác biệt khi sử dụng, nhất là từ phiên bản 0.4.0 trở lên so với các bản trước đó.
- Dòng 5: tên Contract, khá giống với tên class bên ngôn ngữ Java.
- Dòng 7: biến Counter có kiểu dữ liệu unsigned integer (không có số âm), giá trị khởi tạo mặc định là 0.
- Dòng 10: function increment() sẽ tăng biến counter của chúng ta lên 1 mỗi lần nhấn.
- Dòng 15: function descrement() sẽ giảm biến counter của chúng ta xuống 1 mỗi lần nhấn.
Sau khi anh chị viết xong, mình nhấn qua tab Compile và nhấn vào Compile button. Nếu như file anh chị viết không có lỗi hay warning gì thì sẽ hiện dấu tick xanh lá như hình bên dưới:
Vậy là chúng ta đã tự mình viết xong Smart Contract đầu tiên. Tiếp theo mình sẽ deploy Smart Contract vừa viết để xem thử như thế nào.
3. Deploy Smart Contract:
Anh chị nhấn vào tab số 3 và nhấn vào nút "Deploy" để mình deploy Smart Contract vừa viết.
Một điểm hay của Remix đó là Remix hỗ trợ sẵn cho chúng ta UI để tương tác trực tiếp với contract. Sau khi deploy thành công, anh chị sẽ thấy giao diện như sau:
Nếu như anh chị làm được đến đây thì coi như mình đã đi được 90% chặng đường rồi, nhìn giao diện danh sách các nút button thấy có gì quen quen đúng không, bản chất nó tương ứng với các biến và các function mà chúng ta đã viết trong file Counter.sol
đó ^^
Ok bây giờ mình sẽ tương tác với Smart Contract chúng ta tí nhé! Đầu tiên anh chị nhấn vào button counter hiện tại sẽ thấy giá trị hiện tại của nó là 0 (Dòng chữ ở dưới nút button hiển thị giá trị).
Tiếp theo mình sẽ tăng số đó lên bằng cách gọi function increment()
. Anh chị nhấn vào button increment là coi như mình đã gọi function đó trong Remix. Sau khi nhấn xong mình kiểm tra giá trị hiện tại của biến counter
sẽ thấy lúc này giá trị đã tăng lên 1.
Tương tự mình muốn giảm số đó thì cần gọi function descrement
và kiểm tra lại giá trị của biến counter, lúc này giá trị đã về lại 0. Easy đúng không anh chị ^^
Sau khi xem xong bài viết này, em tin là anh chị đã biết cách làm việc với Remix IDE và viết được 1 Smart Contract đầu tiên của riêng mình. Sắp tới sẽ còn rất nhiều bài viết về ngôn ngữ Solidity cũng như những cách làm việc với Smart Contract, mong mọi người sẽ đón chờ bài viết tiếp theo ^^.
Tùng Đường
Sao bạn có thể bước chân lên sân khấu, khi còn chẳng có sức kéo bản thân ra khỏi giường hả homie?
follow me :
Bài viết liên quan
Web2 là gì? Web3 là gì? So sánh Web 2.0 & Web 3.0
Sep 25, 2023 • 10 min read
DeFi là gì? Tìm hiểu về Tài Chính Phi Tập Trung
Sep 08, 2023 • 13 min read
STO là gì? Kiến thức cơ bản về Security Token Offering
Sep 08, 2023 • 15 min read
Ví Bitcoin là gì? 9 ví Bitcoin hàng đầu bạn cần biết
Sep 02, 2023 • 11 min read
Blockchain là gì? Ưu & nhược điểm của các ứng dụng Blockchain
Aug 23, 2023 • 17 min read
DAPP LÀ GÌ? DAPP HAY NHƯNG CÓ HOÀN HẢO
Apr 06, 2023 • 8 min read