[Blockchain Oracle] Bài 4: Hướng dẫn Chainlink Verifiable Random Function | Chainlink VRF Tutorial

VBI Academy www.youtube.com

Tóm tắt nhanh

Video này hướng dẫn cách sử dụng Chainlink để tạo số ngẫu nhiên trong hợp đồng thông minh. Các bước chính bao gồm đăng ký dịch vụ VRF của Chainlink, tạo subscription, nạp tiền LINK vào subscription, triển khai và cấu hình smart contract, và cuối cùng là yêu cầu và nhận số ngẫu nhiên.

  • Đăng ký và tạo subscription trên trang Chainlink VRF.
  • Triển khai smart contract và kết nối nó với subscription.
  • Yêu cầu số ngẫu nhiên và kiểm tra trạng thái yêu cầu.
  • Nhận và sử dụng số ngẫu nhiên trong hợp đồng thông minh.

Giới thiệu về Chainlink VRF và chuẩn bị

Để tạo số ngẫu nhiên trên Chainlink, bạn cần có một lượng token LINK để trả phí dịch vụ. Đầu tiên, truy cập trang vrf.chain.link và kết nối ví của bạn. Sau đó, đăng ký để có thể sử dụng dịch vụ random. Quá trình này bao gồm việc cung cấp địa chỉ ví của bạn.

Tạo và quản lý Subscription

Sau khi đăng ký, bạn sẽ tạo một subscription. ID của subscription này rất quan trọng, bạn sẽ cần nó để cấu hình smart contract. Tiếp theo, bạn cần nạp một lượng LINK vào subscription để trả phí cho các yêu cầu số ngẫu nhiên. Video cũng đề cập đến cách lấy LINK, bạn có thể tham khảo video trước đó để biết chi tiết.

Cấu trúc Smart Contract

Smart contract chứa các biến và hàm quan trọng để tương tác với Chainlink VRF. Biến status dùng để theo dõi trạng thái của yêu cầu. requestId là một mảng chứa các ID của các yêu cầu đã gửi. gasLimit quy định lượng gas tối đa sử dụng cho mỗi yêu cầu. Hàm fulfillRandomWords sẽ được Chainlink gọi để trả về kết quả số ngẫu nhiên. Số lượng số ngẫu nhiên được trả về được xác định bởi biến numWords.

Triển khai và cấu hình Smart Contract

Đầu tiên, bạn cần copy địa chỉ của VRF Coordinator từ trang Chainlink (chú ý chọn đúng mạng testnet hoặc mainnet). Sau đó, triển khai smart contract lên mạng blockchain. Khi triển khai, bạn cần cung cấp địa chỉ của VRF Coordinator và ID của subscription.

Kết nối Smart Contract với Subscription

Sau khi triển khai, bạn cần thêm địa chỉ của smart contract vào danh sách "consumers" của subscription. Điều này cho phép subscription biết contract nào được phép yêu cầu số ngẫu nhiên.

Yêu cầu và kiểm tra số ngẫu nhiên

Sau khi cấu hình xong, bạn có thể gọi hàm requestRandomWords trong smart contract để yêu cầu số ngẫu nhiên. Sau khi yêu cầu được gửi, bạn có thể kiểm tra trạng thái của nó bằng cách sử dụng ID của yêu cầu. Bạn cũng có thể xem thông tin chi tiết về yêu cầu trên trang Chainlink, bao gồm lượng LINK đã sử dụng.

Kiểm tra trạng thái và nhận kết quả

Sau khi Chainlink xử lý yêu cầu, hàm fulfillRandomWords sẽ được gọi trong smart contract, và kết quả số ngẫu nhiên sẽ được lưu trữ. Bạn có thể kiểm tra trạng thái "fullfill" để biết yêu cầu đã thành công hay chưa. Sau đó, bạn có thể truy cập và sử dụng số ngẫu nhiên trong smart contract của mình.

Summarize any YouTube video in seconds

Get summaries like this one for any video, in your language, with the free Summ app.

Download on the Apple Store
Get it on Google Play

Transcript

YouTube Transcript Generator

0:00 chào mọi người hôm nay mình sẽ tiếp tục với mọi người đi tiếp cái phần Orient lần này mình sẽ giới thiệu cho mọi người để random một cái số ngẫu nhiên thì trên trên lên thì các bạn lưu ý nha Thì để mà random được một số của trên link thì số 1 được một số ngẫu nhiên thì cái dịch vụ này trên link cung cấp thì chúng ta phải có một lượng iconomic Tôi cần 5 mic của truyền link của cụ thể đây là link thì mọi người phải trả cho nó bằng link nha mọi người còn nếu mà dùng iPad thì NFC thôi Hiểu tiên mọi người vào cho mình cái

0:50 trang.link Mọi người vào thì mọi người sẽ con hack ví Cái này có nghĩa là đăng ký đăng ký để mà có thể được Random

1:42 cái này là cái địa chỉ ví của mình để lấy làm ơn sau khi tạo xong mọi người có thể trở về ôm đây bây giờ mới xong chưa Chưa thấy mình mới tạo xong cái này 52 52 Ok mọi người nhìn thấy ở đây thì

2:27 ấn vào đây cái này chính là cái ID của cái người sẽ ấn Ocean phần cho nó một ít Link ở đây thì mình đang có sẵn 31 link về cái việc là lấy link làm sao thì mình đã hướng dẫn mọi người ở cái video mình

4:23 đầu tiên nó sẽ import vào kia rồi Như mọi lần thì mình cũng không giải thích kỹ cái code một số phân Trần quan trọng thôi mà một số cái biến quan trọng thế còn trắc này rồi rồi nhìn vào đây là status một biến A để trả về cái tình trạng của cái request đấy như thế nào là kiểu

5:11 này là Chu gì đó rồi ok rồi quét ID có nghĩa là cái ID này nó sẽ là một cái nó sẽ là một cái mạng nó chứa những cái request đã đã được gửi đi và trả về thì sẽ bỏ cái này coi lát tiệc request ID thì có nghĩa là những cái request cuối cùng gần nhất của mọi người Còn cái này thì mọi người có thể xem nó ở đây Cái này có ý nghĩa là

5:58 có nghĩa là sao khi hát này chính là ghi âm Ví dụ như mình đã dùng cefulia thì IH này chính là cái giới hạn mà mọi người có thể dùng Ví dụ như ở đây là không phải là mọi người có thể dùng mà mọi người quy định đó là gas [âm nhạc] thì mọi người có thể có nhiều sự lựa chọn đây cái kính áp Limit mà mọi người muốn sử dụng

6:43 để mà khi mọi người có cái phân Trần lấy một số random ấy thì nó có nhiều lựa chọn cho mọi người 200gray 500 GB hoặc 1000 Glass nó đắt hay là nó rẻ rồi ok tiếp theo thì đến cái phần call limited này là để nó gọi cái lại cái phần sần full này nó sẽ được gọi và nó trả về cho chúng ta cái kết quả là được

7:30 cái này nó sẽ có gọi từ bên ngoài nhé mọi người chứ không phải là mình gọi 2 the world ở đây là mình tới số 2 số 2 thì có nghĩa là mình sẽ có random ra hai số đơn giản một cái là [âm nhạc] của thằng sapoliam

8:30 copy cái hàng này mọi người testnet Còn nếu như mọi người mà dùng mấy nét thì mọi người sẽ lấy cái Vios Cái này là fashion của trên mình chỉ việc lấy sử dụng thôi mọi người rất là dễ thôi thế nào cái hàm mà request một cái số ngẫu nhiên ta được gọi bởi oniana

9:19 tạo ra cái secretvation này và cái người đẹp lòi game ID rồi Cái này nó sẽ được gọi còn này là để cho nó sẽ trở về cái chuyện làm cái request đã request lần 1 lần 2 lần 3 lần 4 thì nó sẽ một lần được quét nó sẽ có một cái ID mình sẽ kiểm tra nó thêm một cái này đã hoàn

10:04 thành nhớ chưa Rồi Ok rồi bây giờ mình sẽ tiến hành rồi ngoài đời sang cái metamas nha diployees and quay trở lại phần nhìn vào gần trước tờ này thì control này nó yêu cầu đây chính là cái địa chỉ của chính là cái số của subcription này đi và chúng ta sẽ lấy nó ở bên này có phải rồi mình

10:51 mới trả lại nè đây 3 lần nó đang hay Linh 1572 copy đó Ok sau khi chụp loa xong mọi người sẽ nhìn thấy một số những cái phần này giờ chúng ta làm thôi kiểm tra lại under nè cho mọi người xem

11:54 chỉ là under rồi ok đầu tiên xem có lắp thịt chưa có một cái request nào đúng không không trả về một quả gì hết Ok thì bây giờ mình sẽ tiến hành request xem thế anh mới quét sàn cho mọi người chỉ việc là lấy ra sử dụng thôi rất là dễ thôi

13:13 à Mình chưa có át controlimer mọi người thì ai cũng cầm Summer này chính là để cho nó Linh Cái scription này tới cái Smart contract của mình cái địa chỉ của Smart contract vừa rồi đây đây mình sẽ nó vào người đợi lúc Ok thành công rồi đấy đây mọi người có nhìn thấy con Sumo của

13:59 nó là một ở đây mình có thể có nhiều cần số mơ được với mọi người có thể hát một cái con số 1 khác ở đây thì mình đang dùng một cái thôi ok Một Lần của mình vẫn là hai Linh ok bây giờ quét mất hơi lâu Ok thành công Ta có thể xem được những cái thông tin ở bên này cũng được như mọi người có thể xem này

14:44 bên này cũng chưa load chưa Bên này cũng chưa có thông tin khi mà nó xong nhảy lên một cái ok chưa được mọi người đợi một lúc thì ở đây mọi người có thể xem một số cái thông tin như là quét này đi đây thì cái này chính là cái ID của cái request vừa rồi mình copy nó nè mọi người có thể xem nè

15:31 Xem Trạng thái của cái ID đó thế nào full Fill nó vẫn chưa được gọi quá tay đi quay tay đi này không này hồi nãy mình có nói với mọi người đây là cái đây cái request ID này là một cái mảng thì các bạn không mạng thì nó sẽ chưa có giá trị không của nó chính là cái giá trị đầu tiên mà vừa nãy của mọi người Ví dụ như nhập số 1 thì tất nhiên là nó báo

16:17 lỗi ngày ở đây này tại vì làm gì có giá trị 1 ở đây một lần thì đây là cái hay đi mình mới gọi lần đầu đây đấy ok under thì vẫn là mình rồi request status bây giờ mình thử coi có nghĩa là nó đã trả cho mình một số rồi đó Ở đây mình sẽ nhìn thấy ở đây cái giá trị này chính là cái số mà chúng ta được trả về

17:09 đó full Fill nó đã la để thành công để lên một rồi Ok giờ mình thử request một lần nữa nha mọi người vì quét một lần nữa nè mọi người có thể xem tất cả những cái thông tin của nó ở đây ví dụ như đây đây là dùng hết 0.34 Linh này thì một link bây giờ là khoảng 7 đô thì mọi người cứ thế mà tính ra được xem là một lần này thì mất khoảng bao nhiêu tiền đấy

17:58 là số dự án mà đang phải sử dụng cái request này đi tạo ra những số ngẫu nhiên này thì người ta sử dụng bên đấy nó được free được free cái dịch vụ random một số ngẫu nhiên Ok thì bây giờ mọi người có thể kiểm tra này nó đã thực hiện thành công xong giờ mình sẽ xem lát thịt request ID của mình nha xem cái tình trạng của nó như thế nào

18:50 phun thiu tình trạng Phu Thê của nó vừa có nghĩa là chưa có một nó chưa thành công nhưng mà nó đã số 1 và đúng không mẹ mình mới đã có không với một thôi mà đây số 1 chỉ là cái rồi ok kiểm tra lại nè Vẫn chưa phun trừ thành công đây Ok thì trên này chính là cái cách mà mọi người có thể lấy một số random về

19:37 cho hợp đồng thông minh của mình bằng cách sử dụng truyền linh thì mọi người quan tâm thì có thể theo dõi cái cách lấy thông tin lấy số random về ở trên Express

Share

YouTube Video Summaries