BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR
Partnered With:

Làm cách nào để cung cấp tài sản cho giao thức DeFi Hợp chất bằng Javascript?

Đọc bài viết này mất 16 phút
Bài viết này dành cho các nhà phát triển có hiểu biết cơ bản về hợp đồng thông minh JavaScript, Web3 và Ethereum

Tiêu đề gốc: "Bí mật của lập trình viên丨Cách sử dụng Javascript để cung cấp nội dung cho Hợp chất giao thức DeFi?" 》

Tác giả gốc: Kyle 



Lời nói đầu: Bài viết này phù hợp với các nhà phát triển có hiểu biết cơ bản về hợp đồng thông minh JavaScript, Web3 và Ethereum.


DeFi đã trở thành một trường hợp sử dụng rất phổ biến cho hệ sinh thái Ethereum. Tại thời điểm viết bài, các giao thức DeFi có giá trị bị khóa hơn 1 tỷ USD. Triển vọng thay thế các sản phẩm tài chính hiện có bằng các sản phẩm thay thế mở, phi tập trung cho đến nay vẫn cực kỳ phổ biến.


1*K_B9fk4OLex0SizoDAUC3w


Một trong những lý do khiến các nền tảng DeFi này tuyệt vời đến vậy là vì chúng dễ dàng cho các nhà phát triển sử dụng. Do tính chất nguồn mở, chúng được các nhà phát triển hiểu rõ hơn và có sẵn cho bất kỳ ai sẵn sàng tìm hiểu cách sử dụng chúng.


Một trong những công ty lớn nhất trong lĩnh vực DeFi là Tài chính phức hợp, với giá trị hiện tại bị khóa trong hệ sinh thái của nó là khoảng 115 triệu USD. Bất kỳ ai cũng có thể đóng góp tài sản vào giao thức của họ và kiếm tiền lãi từ chúng, nhưng việc này được thực hiện như thế nào?

 

Kết hợp như thế nào Để chơi?  


Compound hiện hỗ trợ 9 token: BAT, DAI, ETH, REP, SAI, USDC, USDT, WBTC, ZRX. Đây là những tài sản kỹ thuật số mà bạn có thể kiếm được tiền lãi.


Hãy lấy DAI làm ví dụ. Khi bạn cung cấp DAI cho giao thức, DAI sẽ bị khóa cho đến khi bạn quyết định lấy lại. Khi DAI bị khóa, bạn đồng ý rằng giao thức có thể cho vay giá trị đó, kiếm lãi trên toàn bộ nhóm thanh khoản. Bạn có thể coi nó giống như một tài khoản tiết kiệm.


Sau khi gửi tiền vào đó, bạn luôn có thể kiểm tra tổng số DAI bị khóa trong nhóm, lãi suất hiện tại là bao nhiêu, vay các tài sản khác, v.v.

 

Triển khai kỹ thuật 


Quy trình cung cấp tài sản này trông như thế nào từ góc độ kỹ thuật?


Giao thức sử dụng các hợp đồng tương thích ERC20 cho mọi thị trường được hỗ trợ. Chúng được gọi là cToken. Mỗi trong số chúng có một chức năng bên ngoài: mint, là nơi gửi giá trị được cung cấp. Hàm này được sử dụng để nhận giá trị của nguồn cung, tính toán số lượng cToken tương đương dựa trên tỷ giá hối đoái và trao đổi chúng lấy giá trị của nguồn cung.


Ví dụ: nếu tỷ giá hối đoái là 1:1 thì 1 ETH được cung cấp và người gửi sẽ nhận được một cETH.


Chức năng đảo ngược của bạc hà là chức năng đổi quà. Khi người dùng muốn rút giá trị bị khóa của mình, họ sẽ đổi số đó bằng cách sử dụng số lượng mã thông báo cETH được yêu cầu dựa trên tỷ giá hối đoái hiện tại, trả lại số lượng ETH tương đương.


Lưu ý: Ngoài ra còn có chức năng quy đổi cơ bản sử dụng đơn vị tài sản cơ bản làm đầu vào thay vì đơn vị cToken.

 

Viết mã 


Điều kiện tiên quyết: Hướng dẫn này yêu cầu hiểu biết cơ bản về các hợp đồng thông minh JavaScript, Web3 và Ethereum.


Chúng tôi sẽ làm theo các bước bên dưới để cung cấp và đổi ETH lấy Tài chính phức hợp:


Tải hợp đồng cETH.

Cung cấp ETH bằng cách gọi tới mint, khóa ETH và nhận mã thông báo cETH.

Đọc số dư cETH của chúng tôi.

Đọc số dư ETH bị khóa của chúng tôi.

Đổi ETH của chúng tôi khỏi giao thức bằng cách cung cấp cETH.


Bước 1: Tải hợp đồng cETH


Mỗi hợp đồng mã thông báo có một địa chỉ khác nhau trên mỗi mạng. ABI của hợp đồng cToken có sẵn từ https://comound.finance /docs /abi// được cung cấp công khai.


Trong trường hợp của chúng tôi, sử dụng cETH và mạng thử nghiệm Kovan, URL của chúng tôi là https:/ /comound.finance /docs/abi/kovan/cETH.


Bạn có thể tìm thấy địa chỉ của mọi hợp đồng trên mọi mạng trong tài liệu chính thức của Hợp chất.


Sử dụng web3, chúng ta khởi tạo như thế này Phiên bản hợp đồng:

const cEthInstance = new web3.eth.Contract(cEthABI, addr);

 

Bước 2: Cung cấp ETH

 

Hình 1 cho thấy việc tạo cToken dễ dàng như thế nào bằng chức năng gửi của web3:


QQ20200618-154422@2x

Hình 1: Đúc cToken


Ở giai đoạn này, ETH của chúng tôi sẽ bắt đầu kiếm lãi dựa trên lãi suất hiện tại (cũng có thể được tính bằng công thức toán học).

 

Bước 3: Đọc số dư cETH của chúng tôi

 

Vì hợp đồng cToken tương thích với ERC20 nên chúng cung cấp một chức năng gọi là BalanceOf. Chúng tôi có thể kiểm tra số dư cETH của mình bằng cách gọi điện và chuyển địa chỉ tài khoản của chúng tôi tới:

let b = chờ cEthInstance.methods .balanceOf(account ).call();

 

Bước 4: Đọc số dư ETH bị khóa

 

Hợp đồng cToken cũng cung cấp một chức năng gọi là BalanceOfUnderlying, sử dụng cToken và tỷ giá hối đoái hiện tại trả lại tài sản cơ bản của tài khoản giá trị:

let u = chờ đợi

cEthInstance.methods.balanceOfUnderlying(account).call();


Bước 5: Đổi ETH theo thỏa thuận của chúng tôi


Sử dụng định giá u ở bước 4 là RedemptionAmount trong Hình 2, chúng ta có thể gọi RedUnderlying để đổi ETH của mình:


2

Hình 2: Quy trình quy đổi


Ngoài ra, chúng ta có thể sử dụng quy đổi thay vì quy đổi Dưới mức và sử dụng giá trị b từ bước 3 làm số tiền quy đổi.

 

Kết luận 


Khi DeFi ngày càng trở nên dễ sử dụng và được nhiều người áp dụng hơn, việc học cách tương tác với các giao thức này là một công cụ vô giá trong hộp công cụ của bất kỳ nhà phát triển nào.


Nếu bạn quan tâm đến việc phát triển blockchain, tôi viết hướng dẫn, hướng dẫn, mẹo và thủ thuật để bắt đầu và xây dựng danh mục đầu tư. Hãy xem các tài nguyên phát triển blockchain sau: https://medium.com


Link gốc:https://www.8btc.com



Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm Telegram đăng ký: https://t.me/theblockbeats

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi