Bounty ROSE - Nhận 50 mã thông báo ROSE trong cuộc thi Hackathon bang thứ hai của Oasis — Hướng dẫn từng bước

hoangacsc

Junior
Joined
Jun 29, 2018
Messages
200
Reactions
15
MR
0.050
Image for post

Các blockchain công khai cho phép chúng tôi xây dựng các ứng dụng web phi tập trung (Dapps) có khả năng chống kiểm duyệt và có các động lực kinh tế tích hợp.

Giao thức ứng dụng blockchain phổ biến nhất là Ethereum và nó tương tự đáng kể với các dịch vụ giao diện người dùng / phụ trợ mà chúng ta đã quen thuộc trong phát triển ứng dụng web.

Trong bài viết này, tôi sẽ sử dụng một ví dụ để hướng dẫn bạn cách tạo và xuất bản Dapp đầu tiên của bạn. Hoàn thành hướng dẫn này và bạn sẽ giành được 50 token ROSE từ Oasis Foundation!

Các phương tiện truyền thông xã hội công nghệ lớn ngày nay đang bị cản trở bởi song sinh tệ nạn kiểm duyệt và lời nói căm thù. Có cách nào để mọi người dễ dàng thể hiện bản thân, nhưng cũng khó bị spam và bắt nạt? Công nghệ chuỗi khối cung cấp các công cụ cho tính toán phi tập trung có khả năng loại bỏ sự phụ thuộc của chúng ta vào các nền tảng tập trung. Một ví dụ tuyệt vời về các ứng dụng blockchain là Bitcoin. Nó là tiền phi tập trung không có ngân hàng hoặc quốc gia. Công nghệ blockchain có thể giúp phân cấp các ứng dụng truyền thông xã hội không? Các blockchain công khai có khả năng chống kiểm duyệt và có các động cơ kinh tế tích hợp để trừng phạt các hành vi xấu.

Ethereum và Oasis​

Hầu hết các ứng dụng blockchain ngày nay đều được xây dựng trên giao thức Ethereum. Nếu Bitcoin là cơ sở dữ liệu phi tập trung cho các giao dịch tiền tệ thì Ethereum là hệ điều hành phi tập trung chạy các ứng dụng phía máy chủ. Các ứng dụng được triển khai trên chuỗi khối Ethereum được gọi là hợp đồng thông minh.

Blockchain Ethereum, với “vốn hóa thị trường” gần 40 tỷ đô la vào tháng 10 năm 2020, là một trong những blockchain công khai nổi tiếng nhất. Nhiều blockchain công khai phổ biến khác, bao gồm ETC, CMT, RSK, Athereum, chuỗi thông minh Binance, hỗ trợ các ứng dụng được viết cho giao thức Ethereum. Nó tương tự như các đám mây công cộng, tất cả đều hỗ trợ các ứng dụng JVM và Node.js trên mạng của họ. Mỗi blockchain tương thích với Ethereum này cạnh tranh về dịch vụ giá trị gia tăng mà chúng cung cấp, chẳng hạn như hiệu suất, chi phí, quyền riêng tư, quản trị, hiệu quả năng lượng, v.v.

Bản thân mạng chính Ethereum là nạn nhân của sự phổ biến và thành công của chính nó. Nó thường bị tắc nghẽn dẫn đến phí giao dịch cao và thời gian xác nhận chậm. Đôi khi, nó có giá trên 50 đô la cho mỗi cuộc gọi hàm hợp đồng thông minh và cần vài phút hoặc vài giờ trước khi kết quả cuộc gọi hàm được hoàn thành.
Trong hướng dẫn này, chúng tôi sẽ tạo một Dapp truyền thông xã hội tương thích với Ethereum trên blockchain Oasis . Chuỗi khối Oasis được bắt đầu bởi các nhà nghiên cứu bảo mật máy tính nổi tiếng tại Đại học California ở Berkeley. Nó nhằm mục đích xây dựng một blockchain ưu tiên quyền riêng tư, nơi dữ liệu trên chuỗi có thể là riêng tư và bí mật, trong khi tất cả các nút có thể vẫn phi tập trung và không đáng tin cậy. Sau 2 năm phát triển, nhóm đã xây dựng một blockchain công cộng rất nhanh và có thể mở rộng trong khi vẫn bảo toàn quyền riêng tư. Đối với các nhà phát triển, chúng tôi có thể triển khai các ứng dụng Ethereum trên mạng Oasis thông qua các nút Oasis Ethereum ParaTime

Thuật ngữ Thời gian song song đề cập đến Thời gian chạy song song. Thiết kế của blockchain Oasis cho phép mỗi nút chạy phần mềm thời gian chạy của riêng mình và cung cấp dịch vụ cho công chúng. Oasis Ethereum ParaTime được điều hành bởi một tập hợp các nút Oasis đã chọn hỗ trợ giao thức Ethereum.
Chuỗi khối Ethereum của Oasis hiện đang được sử dụng miễn phí và xác nhận giao dịch trong 6 giây. Đối với hướng dẫn này, nền tảng Oasis cũng đang cung cấp 50 mã thông báo ROSE , là tiền điện tử gốc của Oasis, cho tất cả những người hoàn thành và xuất bản Dapp của mình.

Dapp cho các biểu thức miễn phí​

Bản chất phi tập trung của blockchain công khai thúc đẩy tự do ngôn luận. Bất kỳ ai cũng có thể ghi dữ liệu trên blockchain bằng cách trả phí giao dịch cho mạng. Tất nhiên, các nhà khai thác và người dùng nút vẫn phải tuân theo các quy định của địa phương. Nhưng như Bitcoin và Ethereum đã cho thấy, các mạng blockchain có khả năng chống kiểm duyệt ở cấp độ giao thức.

Mặc dù bất kỳ ai cũng có thể nhận xét về các tin nhắn xuất bản của bạn, nhưng họ sẽ phải trả cho bạn một giá bằng tiền điện tử để được ghi lại tin nhắn của họ. Bạn có thể đặt giá cho tất cả các tin nhắn đã xuất bản của mình. Điều đó làm cho nó tốn kém cho thư rác hoặc ghét.

Chúng tôi đặt tên là Dapp OasisTweet.

Có mưu đồ? Bắt đầu nào.


Tải IDE web​

Bạn có thể tải IDE dựa trên web bằng cách truy cập liên kết bên dưới. Không có phần mềm để tải xuống!

http://oasiseth.org/dev/hack

Bây giờ bạn có thể thấy hai dự án mẫu. Đầu tiên là một “xin chào thế giới” đơn giản để cho bạn thấy những điều cơ bản về hợp đồng thông minh Ethereum và Dapp. Với mục đích của hướng dẫn này, hãy chọn ứng dụng mẫu thứ hai có tên là OasisTweet.


Image for post

Hình 1. Chọn dự án OasisTweet.

Nhận một số thử nghiệm OETH từ vòi​

Vì đây là lần đầu tiên bạn khởi động IDE này, nó tạo ra một số địa chỉ tài khoản Ethereum mới để bạn sử dụng. Bạn sẽ cần phải có một số mã thông báo OETH trong các tài khoản đó để bạn có thể trả “gas” để triển khai và sử dụng các hợp đồng thông minh của mình. Nhấp vào tab Tài khoản trên IDE và sao chép địa chỉ mặc định đã chọn.


Image for post

Hình 2. Các địa chỉ được tạo tự động.
Tiếp theo, chuyển đến vòi nhà phát triển OETH bên dưới và dán địa chỉ của bạn. Mất khoảng 10 giây để OETH được gửi vào tài khoản của bạn.

http://faucet.oasiseth.org/


Image for post

Hình 3. Lấy OETH kiểm tra cho địa chỉ tài khoản của bạn.

Hợp đồng thông minh vững chắc​

ây giờ, hãy quay lại IDE và xem lại hợp đồng thông minh. Nó được viết bằng một ngôn ngữ lập trình giống JavaScript có tên là Solidity. Tại thời điểm này, phần lớn các hợp đồng thông minh Ethereum được viết bằng Solidity. Nhưng hỗ trợ cho các ngôn ngữ bổ sung sắp ra mắt.

Như bạn có thể thấy, nó có các trường dữ liệu cho một URL đến một hình ảnh và tin nhắn văn bản. Hình ảnh và thông điệp sẽ được ghi lại trên blockchain và hiển thị trên trang web Dapp mà bạn tạo sau này.

Nó cũng có một mảng được gọi là

comments
. Nó cho phép bất kỳ người dùng nào để lại nhận xét trên trang web Dapp của bạn. Tuy nhiên, điều quan trọng là phải lưu ý trường giá và

addComment()
chức năng. Người dùng phải trả số tiền xứng đáng với BẠN để có thể để lại nhận xét trên trang của bạn!

contract OasisTweet {
address owner;
string public message;
string public image;
uint256 public price;
struct Comment {
string name;
string comment;
bool isValue;
}
mapping (address => Comment) comments;

... ...

function OasisTweet (string _message, string _image, uint256 _price) public {
owner = msg.sender;
message = _message;
image = _image;
price = _price;
}

function addComment (string _name, string _comment) public payable {
require(msg.value >= price);
if (!comments[msg.sender].isValue) {
addrs.push(msg.sender);
}
comments[msg.sender] = Comment(_name, _comment, true);
}
}

Triển khai hợp đồng thông minh​

Nhấp vào nút Biên dịch và IDE biên dịch hợp đồng thông minh thành Ethereum bytecode.


Image for post

Hình 4. Biên dịch hợp đồng thông minh.
Trước khi bạn triển khai hợp đồng với blockchain, hãy điền vào thông điệp, URL hình ảnh và giá bạn yêu cầu cho mỗi nhận xét. Chúng sẽ được lưu trữ trên blockchain cùng với hợp đồng.


Image for post

Hình 5. Điền thông điệp, URL hình ảnh và giá của bạn trước khi triển khai hợp đồng.
Sau đó nhấp vào nút Triển khai trên chuỗi để triển khai hợp đồng thông minh vào chuỗi khối Oasis Ethereum ParaTime. Sẽ mất khoảng 10 giây để xác nhận hợp đồng bởi các trình xác thực chuỗi khối Oasis. Bạn sẽ thấy thông báo thành công trong bảng nhật ký. Nếu bạn gặp lỗi tại thời điểm này, hãy đảm bảo rằng tài khoản mặc định của bạn có số dư OETH!


Image for post

Hình 6. Triển khai hợp đồng thành công. Bạn phải có OETH trong địa chỉ mặc định của mình.

Ứng dụng web​

Tiếp theo, hãy xây dựng giao diện người dùng web tương tác với hợp đồng thông minh trên chuỗi mà chúng tôi vừa triển khai. Chuyển sang tab Dapp. Phần HTML là trang web. Tất cả các trường dữ liệu như URL hình ảnh, tin nhắn và nhận xét đều là trình giữ chỗ HTML và sẽ được JavaScript điền vào trong tab JS.


Image for post

Hình 7. Ứng dụng web có các phần HTML và JS.
Các

reload()
trong JavaScript tải dữ liệu từ hợp đồng blockchain và điền chúng trên trang HTML. Chú ý đến

instance.addComment()
chức năng. Nó lấy nhận xét của người dùng từ biểu mẫu web và gửi nó đến hợp đồng trong một giao dịch. Trong giao dịch, người dùng phải trả giá OETH cho hợp đồng ngoài phí gas cho nhà mạng.

var contract = web3.ss.contract(abi);
instance = contract.at(cAddr);instance.message(function (e, r) {
$("#message").html(r);
});
instance.image(function (e, r) {
$("#image").prop("src", r);
});
instance.price(function (e, r) {
price = r;
$("#pricealert").html("Requires " + price + " wei to comment");
});instance.addComment ($("#name").val(), $("#comment").val(), {
value: price,
gas: 499000,
gasPrice: 1
}

Dùng thử ứng dụng web​

Nhấp vào nút Run trên IDE để chạy ứng dụng web. Bạn sẽ thấy trang web trong bảng điều khiển bên phải của IDE. Bây giờ bạn có thể tương tác với nó bằng cách trả tiền và để lại bình luận.


Image for post

Hình 8. Chạy giao diện người dùng web Dapp trong IDE.

Xuất bản nó​

Cuối cùng, bạn đã sẵn sàng xuất bản Dapp của mình! Bạn có thể lấy nội dung HTML và JS và đặt chúng trên bất kỳ máy chủ trang web tĩnh nào. Hoặc, bạn có thể nhấp vào nút Xuất bản trên IDE.


Image for post

Hình 9. Xuất bản trang web Dapp.
Trang web đã xuất bản là một liên kết bạn có thể chia sẻ ở bất cứ đâu . Đối với những người dùng muốn để lại nhận xét, họ sẽ cần một ví MetaMask được kết nối với Oasis Ethereum hoặc tài trợ cho OETH trong địa chỉ mặc định của họ trên trang web.


Image for post

Hình 10. Tất cả đều có thể truy cập trang web Dapp. Nhưng những người bình luận cần phải trả tiền OETH.

Phần kết luận​

Hợp đồng thông minh là chương trình phụ trợ “không có máy chủ” và ứng dụng JavaScript là giao diện người dùng. Nếu bạn muốn tìm hiểu thêm về sự phát triển Ethereum Dapp, bạn có thể xem cuốn sách Xây dựng ứng dụng chuỗi khối của tôi .

Trong bài viết này, chúng tôi đã tạo và xuất bản Dapp trên một chuỗi khối công cộng tương thích Ethereum phổ biến. Hãy tiếp tục và thu thập 50 mã thông báo ROSE của bạn . Bạn có thể triển khai thêm mã thông báo ERC-20 từ công cụ BUIDL IDE và giao dịch chúng trên Oasis Ethereum ParaTime’sHủy hoán đổi DEX để kiếm thêm mã thông báo ROSE!
 

Announcements

Forum statistics

Threads
418,599
Messages
7,073,566
Members
170,695
Latest member
topnhacaiuytinar
Back
Top Bottom