Lập trình dapp với loom network

Tram Ho

Loom Network là gì ?

Loom Network là một giải pháp mở rộng lớp 2 cho Ethereum. Đây là một mạng lưới sidechains DPoS, cho phép các trò chơi và DApps trên nền tảng blockchain có khả năng mở rộng trong khi vẫn được hỗ trợ tính bảo mật của Ethereum. Nó cho phép các nhà phát triển chạy các ứng dụng quy mô lớn và là giải pháp mở rộng Ethereum đầu tiên được áp dụng vào thực tế.

The Loom SDK

Sản phẩm cốt lõi của Loom là SDK cho phép người dùng nhanh chóng xây dựng blockchain cho riêng họ mà không cần phải hiểu chi tiết về hạ tầng hay các thuật toán đồng thuận của blockchain. Hãy nghĩ về nó giống như một bộ tạo blockchain cho riêng bạn.

DAppChains

Loom SDK tạo ra một DAppChain – một blockchain hai lớp sử dụng Ethereum làm lớp cơ sở của nó. Việc chạy DApp trên sidechain đem lại cho Ethereum có một số lợi ích, nhưng quan trọng nhất: DAppChains có thể sử dụng các quy tắc đồng thuận (như DPoS) để tối ưu hóa cho khả năng mở rộng . Sử dụng Ethereum làm lớp cơ sở có nghĩa là các tài sản dựa trên DAppChain ( như tokens ERC20 và ERC721) có thể có được đảm bảo một cách an toàn.

Khả năng mở rộng DApps

Loom SDK cho phép người dùng chọn thuật toán đồng thuận, quy tắc để tùy chỉnh khả năng mở rộng hay bảo mật tùy theo nhu cầu DApps cần. Loom Network hỗ trợ DPoS (Delegated Proof of Stake), cho phép phát triển các ứng dụng trò chơi trực tuyến và mạng xã hội quy mô lớn . Đó là 2 loại DApp đầu tiên mà Loom tập trung vào phát triển (mặc dù người dùng hoàn toàn có thể xây dựng bất kỳ loại DApp nào trên SDK Loom) . Được liên kết với Ethereum thông qua Plasma trên nên có thể chuyển tài sản qua lại từ Ethereum vào Dappchain, để dễ hiểu thì các tokens ERC20 và ERC721 được sử dụng trên DAppChain trong khi vẫn được Ethereum bảo đảm . Nói tóm lại, SDK Loom cho phép các nhà phát triển xây dựng các loại ứng dụng giống như họ sẽ xây dựng trên EOS, nhưng được Ethereum hỗ trợ.

Để tìm hiểu thêm về Plasma có thể tham khảo bài viết :
https://viblo.asia/p/plasma-giai-phap-cho-su-mo-rong-mang-luoi-blockchain-tiep-theo-ByEZkybY5Q0

ring ring ring … giờ học lý thuyết đến đây là hết tiếp theo là đến giờ thực hành

Chạy và tạo ứng dụng đơn giản trên Loom Network

Download Loom

Bạn có thể sử dụng lệnh bên dưới để tải Loom ở thư mục hiện tại:

Installation

Chạy các lệnh dưới đây ở cùng thư mục với file loom vừa tải về

Run

Chỉ với 3 lệnh bên trên bạn đã tạo được một mạng blockchain cho riêng mình rồi đấy 👍

Deploy contract lên mạng Loom

Hãy bắt đầu với Solidity + Truffle

Bạn có thể cài đặt Truffle theo các hướng dẫn ở đây : https://www.trufflesuite.com/docs/truffle/overview

Và học về ngôn ngữ Solidity để viết contract tại đây : https://cryptozombies.io/

Deploying and run from Truffle

Giờ hãy tạo project nào

Các file được tạo ra

Viết contract

Trên thư mục contracts , chúng ta tạo file mới có tên Simplestore.sol có chức năng set một giá trị tham số cũng cho một thay đổi giá trị đó, hàm get chỉ đọc và một event có tên NewValueSet sẽ có giá trị tham số, như ví dụ sau:

Tiếp theo thêm 1 migration và tên tệp bắt đầu bằng số 2 ví dụ 2_simple_store.js và nội dung phải như sau:

Cài đặt và cấu hình Loom Truffle Provider

Công đoạn tiếp theo chúng ta cần cài loom-truffle-provider để cung cấp kết nối giữa Truffle và Loom DAppChain và cấu hình truffle-config.js

Trước khi cấu hình truffle-config.js chúng ta cần tạo key bằng lệnh :

loom genkey -a public_key -k private_key

Cấu hình truffle-config.js

Running Truffle deploy command

Bây giờ bạn có thể deploy contract lên Dappchain được rồi nhưng hãy nhớ chạy mạng bằng lệnh ./loom run trước nhé :

truffle deploy --network loom_dapp_chain

Nếu bạn đã deploy và muốn deploy lại hãy dùng lệnh

truffle deploy --reset --network loom_dapp_chain

Cấu hình và chạy Web3.js + LoomProvider

Chúng ta đã deploy được contract lên mạng Dappchain rồi và tiếp theo chúng ta sẽ tương tác với contract đó thông qua web3.js và LoomProvider

Cài đặt web3.js

Cài đặt LoomProvider ( nó nằm trong loom-js)

Sau khi cài đặt xong chúng ta tạo một file js có tên index.js đùng để tương tác với Dappchain với nội dung như sau :

Để chạy file này bạn có thể chạy bằng lệnh :

node index.js

github ví dụ hoàn chỉnh :

https://github.com/vinhyenvodoi98/Loomnetwork_Dappchain

Các nguồn tham khảo :

https://loomx.io/developers/docs/en/intro-loom-sdk.html

Bài giới thiệu về Loom Network cũng như xây dựng một ví dụ đơn giản chạy trên Loom Network đến đây là kết thúc rất mọng mọi người có thể để lại ý kiến dưới phần comment bên dưới

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo