Các công nghệ được sử dụng

Một phần của tài liệu Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain (Trang 62 - 64)

4. Đề nghị cho bảo vệ hay không?

6.2.5. Các công nghệ được sử dụng

a. Ethereum

Ethereum được ví như công nghệ Blockchain 2.0 với nhiều cải tiến vượt trội so với cộng nghệ Blockchain 1.0 (Bitcoin). Ethereum ra đời mở ra nhiều hướng đi mới cho công nghệ Blockchain, đặc biệt là việc phát triển các ứng dụng phi tập trung (Dapp) hay các ứng dụng không có máy chủ tập trung (Serverless)

b. IPFS

IPFS (viết tắt của InterPlanetary File System) là một giao thức phân phối mã nguồn mở của giao thức hypermedia hoạt động dựa trên nội dung và danh tính. Cụ thể hơn, nó sẽ phân phối dữ liệu theo hình thức P2P. Trong đó, các hoạt động của IPFS chủ yếu dựa vào

47

khả năng tính toán băng thông của tất cả các máy tham gia chứ không tập trung vào một phần nhỏ các máy chủ trung tâm như các giao thức khác.

c. Smart Contract

Như đã đề cập trong các phần trước, chúng ta có thể sử dụng hợp đồng thông minh để phát triển các ứng dụng phi tập trung mà không cần tự xây dựng một mạng Blockchain. Solidity là ngôn ngữ được sử dụng để viết các hợp đồng thông minh trong mạng Ethereum. Ngôn ngữ này có khá nhiều điểm tương đồng với các ngôn ngữ lập trình phổ biến hiện nay như: Javascript, C++,... Do đó, chúng ta hoàn toàn có thể học ngôn ngữ này trong một thời gian ngắn.

d. Ganache

Ganache (trước đây là TestRPC) là một khách hàng Ethereum dựa trên Node.js để thử nghiệm và phát triển. Nó sử dụng ethreumjs để mô phỏng đầy đủ các hành vi của khách hàng và làm cho các ứng dụng Ethereum đang phát triển nhanh hơn. Nó cũng bao gồm tất cả các chức năng và tính năng phổ biến RPC (như các sự kiện). TestRPC đơn giản chỉ là một mạng chuỗi khối chạy trên máy local của chúng ta; thường được sử dụng để chạy test cho hợp đồng thông minh và các DApp trên local. Ngoài ra, chúng ra có thể triển khai trên các public network như Ropsten, Kovan hay thậm trí là trên testnet của Ethereum luôn.

e. Truffle framework

Truffle là một framework phát triển phổ biến nhất cho Ethereum. Dưới đây là các chức năng cơ bản của Truffle:

• Hợp nhất biên dịch hợp đồng thông minh, liên kết, triển khai và quản lý nhị phân.

• Thử nghiệm hợp đồng tự động để phát triển nhanh hơn.

• Scriptable, extensible deployment & migrations framework.

• Quản lý mạng để triển khai đến bất kỳ số mạng công cộng và riêng.

• Quản lý gói với EthPM & NPM, sử dụng tiêu chuẩn ERC190.

• Giao diện điều khiển tương tác để giao tiếp hợp đồng trực tiếp.

48

• Người chạy tập lệnh bên ngoài thực hiện các tập lệnh trong môi trường Truffle

f. NodeJS

Node.js là một mã nguồn mở, được xây dựng dựa trên nền tảng Javascript V8 Engine, Node.js có thể chạy trên nhiều nền tảng hệ điều hành khác nhau từ Window cho tới Linux, OS X nên đó cũng là một lợi thế. Nó cung cấp các thư viện phong phú ở dạng JavaScript Module khác nhau giúp đơn giản hóa việc lập trình và giảm thời gian ở mức thấp nhất.

g. ReactJS

ReactJS là một nền tảng phát triển để xây dựng các ứng dụng di động hoặc ứng dụng web hoàn toàn miễn phí và được phát triển bởi Facebook, nó tạo ứng dụng dựa trên HTML và JavaScript hoặc JSX (một loại cú pháp mở rộng dành cho ngôn ngữ JavaScript viết theo kiểu XML). Trên tất cả ReactJS nổi bật lên bởi các tính năng như đa nền tảng, tốc độ và hiệu năng cao, hỗ trợ phát triển toàn diện.

h. Elasticsearch

Elasticsearch là một công cụ tìm kiếm dựa trên phần mềm Lucene. Nó cung cấp một bộ máy tìm kiếm dạng phân tán, có đầy đủ công cụ với một giao diện web HTTP có hỗ trợ dữ liệu JSON. Elasticsearch được phát triển bằng Java và được phát hành dạng nguồn mở theo giấy phép Apache. Elasticsearch là một công cụ tìm kiếm phổ biến nhất, theo sau là Apache Solr, cũng dựa trên Lucene.

i. Docker

Docker là một nền tảng để cung cấp cách để building, deploying và running ứng dụng một cách dễ dàng trên nền tảng ảo hóa.

Một phần của tài liệu Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain (Trang 62 - 64)

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

(71 trang)