2/10/17

Các tools phát triển cho lập trình viên blockchain

Công nghệ blockchain gần đây được chú ý và bàn luận khá nhiều chính nhờ vào sự nổi lên như cồn của Bitcoin và các đồng tiền số khác. Cùng với đó là nhu cầu nghiên cứu ứng dụng công nghệ blockchain của các tổ chức cũng trở nên lớn dần, tuy vậy số chuyên gia trong lĩnh vực này vẫn còn vô cùng ít và đó là lý do tại sao đây là một cơ hội cho các lập trình viên như bạn. Trong bài này mình sẽ giới thiệu các công cụ được cho là tốt nhất hiện nay nếu bạn bắt đầu nghiên cứu về blockchain. Công nghệ này sẽ là một đột phá tiềm năng cho rất nhiều ngành công nghiệp hiện nay tương tự như những gì Internet đã làm trong những thập niên 90.

Blockchain không chỉ là một mạng lưới giúp lưu trữ giá trị mà còn có khả năng chạy ứng dụng trên nó. Một vài blockchain như Ethereum có khả năng chứa những ứng dụng được gọi là hợp đồng thông minh (smart contract). Một smart contract được xem như là một cam kết mà các bên tham gia đồng ý các điều khoản của nó và khi được thi hành nó sẽ căn cứ vào các điều khoản đã được quy định đó và thực hiện một cách nghiêm túc mà không ai có thể đảo ngược lại được.

Smart contract giúp chúng ta không cần đến bên trung gian chẳng hạn như toà án, luật sư, ngân hàng nếu không muốn nói là tránh sự can thiệp của các bên trung gian đó. Chỉ cần các điều khoản được viết vào trong smart contract quy định việc chuyển tiền khi một điều kiện nào đó được thoả mãn.

Danh sách các tools

Các blockchain phân quyền và công cộng

Mạng lưới blockchain được build để tạo sự đồng thuận về dữ liệu mà không cần đến các bên trung gian. Để làm được việc đó nó phải có một mạng lưới các node tham gia vào, số lượng các node càng nhiều càng làm tăng sự an toàn cho mạng lưới. Do vậy bạn sẽ gặp khó khăn khi tạo cho mình một mạng lưới blockchain mới vì khó khăn trong việc tạo các node.

Tuy nhiên bạn có thể hoàn toàn sử dụng một mạng lưới blockchain công cộng có sẵn ví dụ như Bitcoin, Ethereum hoặc Hyperledger để build cho mình các ứng dụng sử dụng công nghệ phân cấp. Bitcoin và Ethereum sử dụng blockchain công cộng, trong khi đó Hyperledger là một blockchain riêng tư nhưng là opensource của Linux Foundation. Tất nhiên các blockchain này có sự khác nhau, và thường blockchain của Bitcoin không phải là sự lựa chọn tốt để build dapps vì mạng lưới của Bitcoin được thiết kế chỉ để thực hiện giao dịch p2p mà thôi (lúc chưa có segwit).

Các blockchain testnet

Dù bạn muốn tạo ra các dapps trên blockchain của Ethereum hay tạo ra một chain hoàn toàn mới thì cũng cần sử dụng đến các testnet của blockchain liên quan. Các testnet này giúp bạn có thể test thoải mái mà không sợ phải tạo ra các giao dịch rác trên mạng lưới thật cũng như sử dụng coin thật để thực hiện giao dịch.



BaaS: Blockchain as a Service của Microsoft

Microsoft Azure tạo ra một dịch vụ blockchain tên là BaaS giúp lập trình viên build các dapps trên một môi trường rẻ hơn và hỗ trợ nhiều loại chain khác nhau như MultiChain, Eris, Storj và Augur. BaaS được tạo ra nhằm hỗ trợ các backend phải sử dụng đến blockchain, nhờ vậy mà chúng ta chỉ cần vài thao tác đơn giản là có thể chạy một blockchain thay vì phải build nguyên một hệ thống bằng Azure.

Mist

Đối với việc phát triển trên blockchain của Ethereum, bạn có thể sử dụng Mist. Mist không chỉ được dùng để lưu trữ và giao dịch Ether mà còn có thể tạo ra smart contract. Bạn có thể sử dụng Mist để tạo smart contract và phát hành lên blockchain thực hoặc testnet của Ethereum. Tất nhiên để thực thi smart contract thì bạn cần phải mua Ether - giống như xăng để chạy xe - và đòi hỏi tốn một ít tiền.

API của Coinbase

API của Coinbase cho phép lập trình viên dễ dàng build một ứng dụng liên quan tới Bitcoin hoặc tích hợp Bitcoin vào trong một ứng dụng có sẵn. Các API này cung cấp hàng loạt tính năng từ việc đọc dữ liệu Bitcoin trên blockchain cho đến tạo những dữ liệu mới chẳng hạn như tạo ví, mua bán và gửi nhận Bitcoin. Coinbase hỗ trợ nhiều thư viện cho các nền tảng khác nhau kể cả mobile.

Tierion

Đây là hệ thống cho phép tạo ra cơ sở dữ liệu có thể xác thực được của bất kỳ dữ liệu hay tiến trình nào bằng cách cho phép người dùng đưa dữ liệu lên blockchain của Bitcoin thông qua API và các công cụ của nó. Tierion cũng đã phát triển ra chuẩn ChainPoint giúp thu thập dữ liệu và phát hành biên lai chứa thông tin cần thiết để xác thực dữ liệu đã thu thập mà không cần bên trung gian.

Embark

Đây là một framework để build các ứng dụng phân quyền (dapp) trên nền tảng Ethereum. Với Embark bạn có thể dễ dàng build và triển khai một dapp hoặc một ứng dụng html5 serverless sử dụng công nghệ phân quyền.

Ether Scripter

Đây là công cụ hỗ trợ bạn trong việc viết mã cho smart contract. Công cụ này rất thân thiện với người dùng tuy nhiên hiện tại chỉ hỗ trợ ngôn ngữ Serpent.

Solc

Solc (Solidity Compiler) là một trình biên dịch cho ngôn ngữ Solidity. Hầu hết các node của Ethereum đều hỗ trợ Solc, tuy nhiên Solc có thể được chạy độc lập trên một máy tính offline. Nhờ vậy bạn có 2 cách để comile code: Hoặc sử dụng web3.eth.compile.solidity sử dụng node của bạn hoặc sử dụng solc.compile mà không cần node nào cả.

Không có nhận xét nào:

Đăng nhận xét