简介
@bzxnetwork/bzx.js
是基于Web3的去中心化借贷协议bZx Network的JavaScript API库,它提供了许多与bZx Network智能合约交互的方法,方便前端工程师在dApp开发中使用。
安装
使用npm安装:
npm install @bzxnetwork/bzx.js
初始化
在使用@bzxnetwork/bzx.js
前,需要先初始化一个Web3对象和一个BZxJS对象。
首先,Web3对象可以通过多种方式初始化。这里以MetaMask为例:
-- -------------------- ---- ------- -- --------- --- ----- -- ------- ---- --- ------------ - ---- - --- --------------------------- - ---- - -- -------- ----- -------- - --- ---------------------------------------------------------- ---- - --- --------------- - -- ---- -- --------------------- - ----- --- ------------- -- ------- -- -------- ---- -- - - --------------- - -- ------ ----- ----------- - ------ ---------------------------
初始化完Web3对象后,需要初始化BZxJS对象:
import BZxJS from "@bzxnetwork/bzx.js"; const routerAddress = "0x1cf226e9413addaf22412a7b9e1549c73d86ba8c"; const chainId = await web3.eth.net.getId(); const bZxJS = new BZxJS(web3.currentProvider, { router: routerAddress, chainId });
其中,routerAddress
是BS2Router
的地址,需要根据具体情况填写。chainId
可以通过Web3对象获取。
借贷API
下面是一些常用的借贷API示例:
提交借贷订单
-- -------------------- ---- ------- ----- -------- - ----- -- ---- ----- --------- - -------- ----- ------------- - -- -------- ----- --------------- - -- ------ ----- --------- - -- ------ ----- -------------- - -- ---- ----- ------------------- - -- ----- ----- --------------- - -- ---- ----- ----------------- - -- ----- ------ - - ------ ------------ ----- ---------- --------- -- -- ------ ----- --------------- - ----- ------------------------- -------------- ---------------- ---------- --------------- -------------------- ---------------- ------------------ -- --------
取消借贷订单
-- -------------------- ---- ------- ----- -------- - ----- -- ---- ----- --------- - -------- ----- ------------- - -- -------- ----- ------ - - ------ ------------ ----- ---------- --------- -- -- ------ ----- ------------------------------------ --------
获取合约余额
const tokenAddress = // 代币地址 const balance = await bZxJS.getBalance({ tokenAddress, owner: userAddress, });
这将返回用户在指定的合约地址tokenAddress
中所拥有的余额,返回值是以wei为单位的数值。
还款
-- -------------------- ---- ------- ----- -------- - ----- -- ---- ----- --------- - -------- ----- -------------- - -- ------- ----- --------------- - -- ---- ----- ------ - - ------ ------------ ----- ---------- --------- -- -- -- ----- --------------- --------------- ---------------- -- --------
部署借贷代理合约
const txOpts = { from: userAddress, gas: gasAmount, gasPrice }; await bZxJS.deployLoanExecutor(txOpts);
这将在用户的地址下部署一个新的借贷代理合约,并返回部署的合约地址。
与短注入支付(Flash Loan)交互
bZx Network除了利用链上保证金进行借贷之外,还支持通过非托管Flash Loan机制向用户提供额外的资金,被用于资本效率更高的交易策略中。
当前不支持以前 Flash Loan 的 API
bZxJSの example-ts フォルダーにある taker.ts
を参考にして、Flash Loan APIを実装してください。
结论
@bzxnetwork/bzx.js
对于前端工程师而言是一个非常有价值的API库,它提供了一些与bZx Network借贷协议交互的方法,其中包括提交借贷订单、取消借贷订单、获取合约余额、还款、部署借贷代理合约等。在使用该库前,需要先初始化一个Web3对象和一个BZxJS对象。bZx Network还支持Flash Loan机制,以提供更多的资金;你可以通过bZx Network的官方文档深入了解Flash Loan机制的工作原理和如何使用它。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671d730d0927023822d0d