Ngôn ngữ Solidity

Một phần của tài liệu 102170194_HaVanThanh_DA_ATTT_2 (Trang 25 - 29)

CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

2.1. HỆ THỐNG PHÁT TRIỂN BLOCKCHAIN CÁ NHÂN

2.1.1. Ngôn ngữ Solidity

Hình 2.1 Solidity

Solidity là một ngôn ngữ lập trình hướng hợp đồng để viết các hợp đồng thông minh. Nó được sử dụng để thực hiện các hợp đồng thông minh trên các nền tảng blockchain khác nhau. Nó được phát triển bởi Gavin Wood, Christian Reitwiessner, Alex Beregszaszi, Liana Husikyan, Yoichi Hirai và một số cựu cộng tác viên cốt lõi của Ethereum để cho phép viết các hợp đồng thông minh trên nền tảng blockchain như Ethereum.

Hiện tại, Solidity là ngôn ngữ chính trên Ethereum cũng như trên các blockchain khác chạy trên các nền tảng cạnh tranh với Ethereum, chẳng hạn như Monax và khối chuỗi Hyperledger Burrow, sử dụng Tendermint cho sự đồng thuận. SWIFT đã triển khai bằng chứng về khái niệm sử dụng Solidity chạy trên Burrow.

SVTH: Hà Văn Thạnh 25

2.1.1.1. Mô tả

Hình 2.2. Solidity Compiler

Solidity là một ngôn ngữ lập trình được đánh máy tĩnh được thiết kế để phát triển các hợp đồng thông minh chạy trên EVM. Solidity được biên dịch thành bytecode có thể thực thi trên EVM. Với Solidity, các nhà phát triển có thể viết các ứng dụng thực hiện logic kinh doanh tự thực thi được thể hiện trong các hợp đồng thông minh, để lại một bản ghi giao dịch không đáng repudiable và có thẩm quyền. Viết các hợp đồng thông minh trong các ngôn ngữ cụ thể của hợp đồng thông minh như Solidity khá dễ dàng (cho những người đã có kỹ năng lập trình).

2.1.1.2. Công cụ phát triển

Remix, IDE chính thức của Solidity

Superblocks Lab, Solidity IDE cho Ethereum

Microsoft Visual Studio

ConsenSys Enterprise

SVTH: Hà Văn Thạnh 26

ErisDB của AWS

Hedera, nền tảng băm Hedera hỗ trợ các hợp đồng thông minh được viết bằng Solidity

2.1.1.3. Nền tảng Blockchain thích hợp

Solidity thích hợp trên:

Ethereum

Ethereum Classic

TendermintvàErisDB (một phiên bản của Tendermint)

Counterparty (chạy trên Bitcoin)

2.1.2. Công cụ Ganache

Hình 2.3. Ganache

Ganache là một blockchain cá nhân để phát triển Ethereum, bạn có thể sử dụng để triển khai các hợp đồng, phát triển các ứng dụng của mình và chạy thử nghiệm.

Nó có sẵn một ứng dụng PC cũng như một công cụ dòng lệnh (trước đây gọi là TestRPC). Ganache có sẵn cho Windows, Mac và Linux.

SVTH: Hà Văn Thạnh 27

2.1.3. Truffle Framework

Hình 2.4.Truffle Framework

Một môi trường phát triển đẳng cấp thế giới, khung kiểm thử và đường dẫn tài sản cho các blockchains sử dụng Máy ảo Ethereum (EVM), nhằm làm cho cuộc sống trở thành một nhà phát triển dễ dàng hơn. Với Truffle, ta nhận được:

 Xây dựng hợp đồng thông minh tích hợp, liên kết, triển khai và quản lý nhị phân.

 Kiểm tra hợp đồng tự động để phát triển chúng một cách nhanh chóng.

 Quản lý mạng để triển khai cho bất kỳ mạng công cộng và riêng tư nào.

SVTH: Hà Văn Thạnh 28

Một phần của tài liệu 102170194_HaVanThanh_DA_ATTT_2 (Trang 25 - 29)

Tải bản đầy đủ (PDF)

(43 trang)