Hành trình Oraichain Hackathon 2022 [3]: 10 ngày trước vòng chung kết

Như đã viết ở bài viết trước, thì ngày 31/5/2022 team bên mình được thông báo là đã lọt vào vòng chung kết. Bên cạnh niềm vui khi đã được vào vòng trong thì cũng kèm theo một áp lực vô cùng lớn. Đội 4 người, 3 người ở Hà Nội, cuộc thi diễn ra ở Hà Nội nhưng các bạn vẫn kéo mình theo. Và mình đảm nhiệm phần blockchain (yếu tố cốt lõi của cuộc thi) mà vẫn chưa thực sự hiểu về blockchain trong sản phẩm của Oraichain.

Trong hơn 10 ngày từ giờ đến vòng chung kết diễn ra tại Hà Nội, đội có 2 nhiệm vụ chính:

  • Làm video ngắn giới thiệu về đội thi để tham gia vòng bình chọn trực tuyến. Hạn cuối nộp video là hết ngày 06/6/2022.
  • Nghiên cứu và làm chủ một phần kỹ thuật và sử dụng hệ sinh thái của Oraichain vào sản phẩm của đội.

Nhiệm vụ làm video

Làm video khó nhất là làm sao diễn tả nội dung dễ hiểu nhất, ngắn gọn nhất trong thời gian quy định của ban tổ chức nhưng vẫn toát lên cái khác biệt sản phẩm của mình. Thêm một khó khăn nữa là team mình toàn dân kỹ thuật, văn vở thì không hay. Nên đội mình quyết định sẽ cùng nhau hội ý làm sau cho đoạn văn giới thiệu của mình có thể thuyết phục được các thành viên trong đội. Sau đó sẽ từ văn đó để làm video.

Do đội không giỏi về làm video nên đã quyết định nhờ người làm. Do trước đây mình từng hỗ trợ một đội thi hackathon, và biết trong đội đó có người làm video theo phong cách tranh vẽ tay. Nên sau khi xong phần kịch bản, bọn mình đã nhờ bạn đó làm video. Nhưng lại nảy sinh vấn đề là có kịch bản, có người làm video nhưng chưa có phần âm thanh. Với phương châm tăng xin, giảm mua, tích cực nhờ vã nên anh leader đã đem về cho đội một giọng đọc nữ cực kỳ ấn tượng.

Kết quả của cả quá trình đó là video này:

Sau khi xong nhiệm vụ về video, bọn mình bắt đầu bắt tay vào làm các tính năng phụ, không quan trọng cho sản phẩm dự thi. Việc này giúp bọn mình hình dung rõ hơn về sản phẩm, cũng như khi đến vòng chung kết tổ chức offline sẽ tiết kiệm thời gian hơn, và tập trung vào chức năng chính.

Phát triển sản phẩm

Phân công nhiệm vụ các thành viên

Đội mình có 4 người, anh leader chịu trách nhiệm chung. Một bạn làm về web, một bạn làm về AI và mình làm về blockchain. Trong đội các bạn chưa tiếp xúc với blockchain nhiều nên lúc làm cũng hơi lăn tăn là sẽ tích hợp như thế nào. Tuy nhiên, may mắn trước mình cũng tiếp xúc blockchain rồi nên mình hình dung trong đầu là sẽ xây dựng các dịch vụ liên quan tới blockchain dưới dạng API để thuận lợi cho quá trình tích hợp. Nhờ vậy, quá trình các bạn làm web cho người dùng cuối, quản trị viên sẽ không bị ảnh hưởng nhiều.

Bắt đầu nghiêm túc học về blockchain và về hệ sinh thái Oraichain

Thành thật mà nói, lúc trước khi lọt vào chung kết mình cũng tìm hiểu về phần blockchain của Oraichain nhưng với tâm thế là vẫn đợi vào vòng chung kết mới tính. Mà giờ vào rồi nên phải đầu tư một cách nghiêm túc, mình bắt đầu đi tìm hiểu từ những thứ đơn giản.

CosmWasm là gì?

CosmWasm là một nền tảng Smart Contract được thiết kế đặc biệt cho hệ sinh thái Cosmos. Nền tảng này được viết dưới dạng một module có thể được cắm vào Cosmos SDK. Điều này có nghĩa: bất kỳ ai đang phát triển blockchain với Cosmos SDK đều có thể nhanh chóng và dễ dàng thêm hỗ trợ Smart Contract của CosmWasm vào blockchain của họ mà không cần sửa đổi logic hiện có. Bên cạnh đó, CosmWasm còn cho phép thêm các máy ảo WebAssembly trong Cosmos SDK.

Sau khi tìm hiểu về CosmWasm, mình bắt đầu triển khai các smartcontract theo nguyện vọng của bản thân. Nhưng thật buồn, lại gặp lỗi do version của smartcontract và network (thực tế là cosmwasvm) khác nhau. Cuối cùng, để thực hiện chạy trên testnet của Oraichain cần vm_version_4

https://crates.io/crates/cosmwasm-vm

Phát triển smartcontract “đầu tiên”

Việc tìm được phiên bản tương thích giúp chúng ta dễ dàng tìm được các gói cài đặt liên quan khác để phù hợp cho việc lập trình. Với mục tiêu là có thể xây dựng smartcontract phục vụ việc đọc/ghi dữ liệu lên blockchain. Nhưng buồn thay, xuất phát điểm là mình đang không biết gì về RUST (ngôn ngữ dùng để xây dựng smart contract với CosmWasm) nên mình phải tìm một smart contract có sẵn để đọc hiểu. Và may mắn thay mình tìm thấy các sản phẩm của cuộc thi HackAtom V tại đây. Và mình chọn dự án giải 3, một dự án về NFT, vì mình nghĩ kiểu gì dự án này cũng phải ghi dữ liệu lên blockchain.

3rd Place: 🥉 NFT Marketplace 🥉

An NFT Marketplace on the blockchain for fungible and non-fungible tokens.

Devpost: https://devpost.com/software/nft-marketplace

Github:

Website: https://hackatom.blockscape.network/home

Thực sự việc đọc code mà không có kiến thức về ngôn ngữ viết nên nó thì thực sự rất là khó. Tuy nhiên, bằng sức hút và sự cám dỗ của giải thưởng trị giá 5000 USD, mình đã cố gắng hết sức có thể. Thậm chí cả việc in code ra giấy để cho dễ hiểu và dễ đánh dấu hơn.

Tuy nhiên, cũng thuận lời là có phần contract để tham khảo, cũng như việc thử triển khai smartcontract đó giúp mình hiểu về nguyên lý hoạt động hơn. Đến ngày 07/6/2022 là mình chạy được smart contract này https://github.com/BlockscapeNetwork/hackatom_v/tree/master/contracts/cosmons và tìm thấy con đường sáng cho bản thân.

Là một người không quá cầu toàn nên mình nghĩ rằng việc chỉnh sửa smart contract này để nó lưu được các thông tin như mình cần lên blockchain là tạm ổn rồi. Như vậy ít nhất mình cũng không phải là không làm được gì tại cuộc thi.

Học cách sử dụng Oraichain AI Oracle

Thứ thú vị nhất của Oraichain có lẽ là sự kết hợp giữa yếu tố oracle của smartcontract và AI. Tuy nhiên tài liệu trên mạng chưa được đầy đủ, nên mình có nhắn tin hỏi về bộ phận kỹ thuật bên Oraichain mà sau này mới biết người support cho mình là CPO của Oraichain, thực sự anh CPO support rất nhiệt tình. Nhờ đó mình biết rằng sẽ gồm 3 thành phần chính:

  • API của dịch vụ AI.
  • Data source smartcontract (dsource)
  • Oracle script smartcontract (oscript)

Bên cạnh đó, về phía Oraichain, họ sẽ triển khai một AIOrachle.

Bắt đầu với một sample từ phía Oraichain.

2 dsources tính giá trên testnet: orai1y88tlgddntj66sn46qqlvtx3tp7tgl8sxxx6uk, orai1v7ae3ptzqvztcx83fheafltq88hvdp2m5zas6f (contract https://github.com/oraichain/oraiwasm/tree/master/package/aioracle/dsource_empty)

oracle script tính giá: orai1svngf2re7ze3259h2lqt98jatsma2kpjpw4ldl (contract: https://github.com/oraichain/oraiwasm/tree/master/package/aioracle/oscript_price)

service name: price

Mình dự định sẽ nói rõ hơn về kỹ thuật của cái này nhưng mình nghĩ cái đấy làm một bài chuyên sâu về kỹ thuật sẽ hay hơn. Trong bài đó sẽ nói về cấu trúc smart contract của cosmwasm cũng như về Oraichain AI Oracle.

Sau khi đã hiểu sơ bộ về Oraichain AI Oracle thì mình cũng tự tin hơn. Đến ngày 10/6 (1 ngày trước cuộc thi offline), hôm đấy mình ra Hà Nội và cũng là đến lúc đó mình mới xin phía ban tổ chức một sample code về phần code tương tác với AI Oracle. Thực sự mình rất ngại hỏi nhiều vì thấy đi thi hackathon thì mình phải có trách nhiệm tìm hiểu, tới mức là mình xin được code nhưng không xin version các packages, dẫn đến chạy lỗi và mày mò fix bug cả buổi chiều không được. Mới nhắn tin hỏi, lúc đó thì cũng đã hiểu sơ bộ, tối đó thức gần như nguyên đêm để thử và nghịch code.

Kết luận

Như vậy trong vòng 10 ngày trước cuộc thi, đội mình đã chạy nước rút để hoàn thành video bình chọn. Mình cũng cố gắng hết sức để tiếp thu công nghệ mới. Thực sự nhưng hôm đấy kiệt sức, vì bên cạnh việc chuẩn bị cho hackathon thì mình cũng phải làm các công việc hiện tại. Tuy nhiên, cũng được cơ quan nơi mình làm việc tạo điều kiện hết sức.

Trong 10 ngày này mình rút ra được nhiều thứ, và cũng có lúc mình cảm thấy hơi bế tắc do chưa làm được gì mà cuộc thi đã đến gần. Có thời điểm dường như không còn được một tý tự tin nào cả. Nhưng vẫn phải trấn an tinh thần anh em trong đội và cả xúi dại anh em. Nhưng mình thấy rắng, 10 ngày này thật máu lửa, nhiệt huyết tuổi trẻ và tinh thần quyết chiến quyết liều.

Bài tiếp theo mình sẽ nói về 2 ngày máu lửa tại cuộc thi Oraichain Hackathon 2022. Cảm ơn các bạn đã chú ý theo dõi.

Related Post

Trả lời

Email của bạn sẽ không được hiển thị công khai.