6 ngôn ngữ lập trình phổ biến để viết Smart Contract

26 tháng 2, 2021 By DEVERA ACADEMY

Smart contract (Hợp đồng thông minh) là hợp đồng của các giao dịch tài chính ứng dụng công nghệ blockchain. Hợp đồng thông minh giúp loại bỏ sự can thiệp cần thiết của bên thứ ba trong việc chi phối, xử lý các tranh chấp, đảm bảo tuân thủ cũng như giải quyết các vấn đề về điều khoản trong hợp đồng giao dịch giữa các bên liên quan.


Khi các bên liên quan có tranh chấp hoặc bất đồng về cách thức thực hiện hợp đồng thì cách giải quyết thường là triệu tập tại tòa án hoặc nhờ “bên thứ ba” xác định cách giải quyết thông qua rất nhiều các thủ tục phức tạp và tốn kém về thời gian.

Còn với hợp đồng thông minh? Thủ tục dài dòng sẽ trở nên không cần thiết, vì hợp đồng thông minh hoạt động hoàn toàn dựa trên cách nó được lập trình. Do đó, khi nói đến blockchain trong thanh toán tài chính, các bên trung gian thứ ba hoặc ngân hàng được loại bỏ để hai bên ngang hàng có thể giao dịch trực tiếp với nhau. Và đó là lý do tại sao “Hợp đồng thông minh là hợp đồng của các giao dịch tài chính ứng dụng blockchain”.


Một ví dụ thực tế của Hợp đồng thông minh là máy bán hàng tự động. Khi người mua hàng cho một lượng tiền vừa đủ với sản phẩm mà họ cần mua, máy sẽ tự động thực hiện giao dịch cần thiết mà chắc chắn là không cần chủ cửa hàng hỗ trợ đếm tiền. Thế nên trong giao dịch này chỉ có hai bên tham gia đó là: máy bán hàng tự động và người mua.


Khi mọi người nghĩ về hợp đồng thông minh, họ sẽ nghĩ đến Ethereum. Còn đối với Developer, họ sẽ nghĩ đến Solidity (hoặc Bitcoin Script cũ). Tuy nhiên, hiện nay các developer đang có nhiều sự lựa chọn hơn trong ngôn ngữ lập trình Blockchain, và sau đây là 6 ngôn ngữ được đánh giá là phổ biến nhất.


1. Solidity

Solidity được phát triển bởi Gavin Wood, Christian Breitwieser, Yoichi Hirai và các cộng tác viên cốt lõi của Ethereum để xây dựng các hợp đồng thông minh hoạt động trên Ethereum. Solidity là một ngôn ngữ lập trình hướng đối tượng theo quy tắc Turing-complete vẫn còn khá mới, và ước tính được sử dụng bởi hơn 200.000 Developer.

Vì Ethereum hiện đang dẫn đầu trong nền tảng hợp đồng thông minh, nhiều blockchain cần đảm bảo các hợp đồng thông minh tương thích với ngôn ngữ Solidity (hoặc ERC-20). Điều này có nghĩa là các hợp đồng thông minh được triển khai trên Ethereum có thể dễ dàng chuyển từ Ethereum sang các mạng blockchain thay thế khác có hỗ trợ Solidity.


2. Golang

Golang là một ngôn ngữ lập trình có mã nguồn mở dựa trên cú pháp của ngôn ngữ lập trình C. Golang là một ngôn ngữ dễ học, ước tính hiện tại có hơn 800.000 Developer đang sử dụng Golang trên toàn thế giới. Hầu hết chaincode của HyperLedger có sử dụng HyperLedger Fabrics cho để xây dựng hợp đồng thông minh đang được viết bằng Golang.


3. JavaScript 

JavaScript được phát triển bởi Brendan Eich, người sáng tạo ra trình duyệt Mozilla Firefox và Brave. JavaScript hay JS là một ngôn ngữ lập trình nhẹ, linh hoạt và hướng đối tượng. JavaScript, cùng với HTML và CSS tạo thành ba trụ cột của thiết kế web. HTML giúp đưa nội dung lên trang web, CSS giúp bạn trang trí thiết kế. Vậy JS làm gì?

Trước khi JavaScript xuất hiện, các trang web thường cực kỳ tĩnh. JavaScript đã kéo theo kỷ nguyên của các trang web linh động làm cho các trang web thân thiện hơn với người dùng. Mặc dù JavaScript ban đầu đa số phục vụ cho phía client-side script, nhưng khi dùng Node.js bạn vẫn có thể thực thi script trên server-side. Mozilla Foundation chính thức quản lý JavaScript và các tính năng mới của ngôn ngữ này được bổ sung định kỳ.


4. C++

C++ là ngôn ngữ lập trình phổ biến có ít nhất 4,4 triệu người sử dụng. Tuy C++ không phải là ngôn ngữ lập trình dễ sử dụng, nhưng nó có một điểm mạnh lớn ở khả năng mở rộng, các ứng dụng dù sử dụng nhiều tài nguyên vẫn có thể chạy mượt mà hơn. Vì EOS hỗ trợ các hợp đồng thông minh thông qua máy ảo WebAssembly, bất kỳ ngôn ngữ nào có thể biên dịch thành WebAssembly sẽ có thể lập trình hợp đồng thông minh và, C ++ là ngôn ngữ được khuyến khích sử dụng.


5. Java

Java là một trong những ngôn ngữ lập trình hướng đối tượng dựa trên class phổ biến nhất hiện nay. Được tạo bởi Sun Microsystems vào năm 1995. Java bắt nguồn từ các  cú pháp và cấu trúc của C++ nhưng được thiết kế linh hoạt, cho phép các bạn viết mã chạy trên bất kỳ máy nào, bất kể kiến trúc hay nền tảng. Theo trang chủ của Java, hơn 15 tỷ thiết bị chạy Java và có hơn 10 triệu người sử dụng Java trên khắp thế giới.


6. SQL 

SQL hay ‘’ Sequel ’’ được IBM phát triển, SQL là ngôn ngữ được sử dụng để giao tiếp với cơ sở dữ liệu cho phép lưu trữ, truy vấn và tương tác với dữ liệu.

AERGO, một dự án blockchain cho doanh nghiệp ở Hồng Kông xây dựng các hợp đồng thông minh dựa trên SQL. Trong môi trường kinh doanh thương mại, dự án cho phép các doanh nghiệp tạo và thực thi các hợp đồng thông minh nâng cao đã được lập trình trong SQL.


Trên thế giới hiện nay vẫn còn nhiều những ngôn ngữ lập trình khác ngoài 6 ngôn ngữ lập trình kể trên. Tuy nhiên, 6 cái tên này đang là những ngôn ngữ lập trình phổ biến nhất được sử dụng cho công nghệ Blockchain. Nếu bạn cũng có hứng thú về lập trình Blockchain, hãy thử bắt đầu xây dựng các Hợp đồng thông minh bằng các ngôn ngữ này.


Tác giả: FLETA

Dịch bởi Devera Academy