1. 首页
  2. 技术

如何基于币安智能链(BSC)开发 Dapp?

Defi 一直是币安智能链最近起飞的主要贡献力量。伴随着以太坊主网的 Gas 成本不断增加(当然在写这篇文章时,以太坊手续费实际上已经处于很长时间以来的最低水平之一,但不排除在下一次 ETH 价格暴涨是,手续费再次水涨船高。
那么,如何对其进行部署,币安智能链(BSC[4])究竟是什么?
什么是币安智能链BSC)?
币安链是由币安在 2018 年推出的。这是一个基于 tendermint 的链,其主要功能是转移资产。这使得币安生态系统内的价值转移有了更去中心化的形式。
2020 年 9 月,币安生态系统中加入了币安智能链(BSC)。这是一个独立链,但却是双链设计的一部分,与原来的币安链同步状态。BSC 本身只是一个 geth 分叉,所以它依靠的是与 ETH 1.0 相同的技术。但由于非常有限的验证者实现了更高的产出,因此 Gas 成本要低得多。
BSC 是去中心化的吗?
首先我们要明白,去中心化是一个范围上概念。虽然有些项目努力追求完美主义,在技术上尽可能地分散(有人说Injective protocol[5]吗?),但这并不意味着其他方法都是完全中心的。那么,是什么因素使 BSC 更集中或更分散?
去中心化部分: BSC 运行在权益证明(PoS[6]与授权证明(PoA)相结合的基础上,他们称之为质押授权证明(PoSA),也可参见白皮书这里[7]。在其双链设计中,原始币安链运行在 PoS 上,而币安智能链本身是一个纯 PoA 共识。然而,PoA 共识中的验证者是通过币安链 staking 管理的,因此不是完全集中的。这当然比普通的中心化交易所或纯 PoA 系统更好。
中心化部分:不得不说,POA 是去中心化的反面。你基本上是在信任少数几个选定的验证者。在这种情况下,这些机构是通过币安链的治理来管理的。那么,币安链中的 PoS 是如何集中的呢?验证者的总数被限制在 21 个,币安本身可能控制着最大的验证者。
总而言之,你可以看到 BSC 更倾向于中心化的一面,但它仍然比简单地使用币安明显更加去中心。
如何部署到币安智能链上
部署到币安智能链是非常简单[8]。如果你使用 Truffle,只需像这样添加 BSC 的网络配置:
bsc: { provider: () => new HDWalletProvider(mnemonic, ‘https://bsc-dataseed.binance.org’), network_id: 56, }, }, bsc-testnet: { provider: () => new HDWalletProvider(mnemonic, ‘https://data-seed-prebsc-1-s1.binance.org:8545’), network_id: 97, }
当然,你还需要资金。对于测试网,你可以使用这里[9]的水龙头。关于如何从公共主链上转移资金,请继续阅读。
如何让用户加入你的币安智能链 Dapp
钱包的选择
现在,你有很多不只是 MetaMask 作为可能的钱包可供支持。以Yearn Finance[10]为例。在写这篇文章的时候,他们仅支持 11 个不同的钱包。
  • MetaMask[11]
  • WalletConnect[12]
  • Trezor[13]
  • Ledger[14]
  • Lattice[15]
  • Coinbase Wallet[16]
  • Portis[17]
  • Fortmatic[18]
  • Torus[19]
  • Authereum[20]
  • Opera[21]
如何基于币安智能链(BSC)开发 Dapp?
Wallet Options
以 MetaMask 为例
我们以 MetaMask 为例,因为它是最大的钱包,功能最多。在 MetaMask 上,你现在可以请求它直接连接到一个自定义网络上。
如果你想看案例,请查看PancakeSwap[22]。除非你已经添加了币安 Smart Chain,否则它将要求添加这个网络。或者直接点击币安桥[23]中的’Add network’。
如何基于币安智能链(BSC)开发 Dapp?
img
如果用户确认,网络被添加并自动切换到。
如何为用户自动添加 BSC 网络
自动添加网络并切换,这都要归功于 EIP-3085[24]的新 RPC 方法wallet_addEthereumChain。MetaMask 的文档在这里[25]。
下面看到如何为用户自动添加 BSC 到钱包,这将显示你上面看到的弹出窗口:
javascript const params = [{ “chainId”: “0x38”, // 56 in decimal “chainName”: “Smart Chain”, “rpcUrls”: [ “https://bsc-dataseed.binance.org” ], “nativeCurrency”: { “name”: “Binance Coin”, “symbol”: “BNB”, “decimals”: 18 }, “blockExplorerUrls”: [ “https://bscscan.com” ] }] try { await ethereum.request({ method: ‘wallet_addEthereumChain’, params, }) } catch (error) { // something failed, e.g., user denied request }
使用币安桥
你可以使用币安桥[26],在以太坊网络和币安智能链之前转移资金。它是通过在桥接合约上锁定代币来实现转移的。该桥的工作原理与PoA 网络桥[27]非常相似。它甚至可能是它的一个分叉,但我在任何地方都找不到币安桥的源代码。如果你知道这个问题的答案,请让我知道。
如何基于币安智能链(BSC)开发 Dapp?
币安 Bridge
在开始的时候,币安桥只支持单向桥接,但现在它是双向的。这意味着你可以从以太坊转移到 BSC,也可以从 BSC 转移到以太坊。
在 BSC 上的 Defi
BSC 的优势之一可能是其庞大的生态系统,特别是 Defi 项目。只要看看下面这张由BNB Swap[28]提供的图片。
如何基于币安智能链(BSC)开发 Dapp?
BSC Defi
要了解不仅仅是 Defi 的概况,请查看生态系统的 Github这里[29]。最受欢迎的项目是什么?
  • PancakeSwap[30]:BSC 的 Uniswap v2 分叉。与 SushiSwap 类似,该叉子增加了一些额外的功能,如质押、彩票和 NFT 支持,见指南[31],如果你不了解 AMM,你可能想看看我的 Uniswapv2[32]、v3[33]和SushiSwap[34]的指南。
  • Venus[35]:BSC 的 MakerDao 和 Compound 分叉是一个货币市场,你可以借用和借出 BEP-20(BSC 上的 ERC-20)代币。
  • Autofarm[36]:这本质上是 BSC 的 Yearn Finance。你可以加入一个金库,它自动尝试为你找到最理想的方式来赚取你的存款收益。
  • BurgerSwap[37]:BurgerSwap 也是 BSC 上一个流行的 AMM。你可以做 BEP-20 代币互换,并提供流动性。它实现了ERC-2917[38],而且它这一次不是 Uniswap 的分叉。他们想改进 Uniswap 的激励和治理模式。
  • Spartan Protocol[39]:这是一个基于 AMM 的流动性池、合成资产(代币化的衍生品)和借贷协议的组合。
  • Cream[40]:Cream 是另一个流行的借贷协议,存在于以太坊上,也被部署在 BSC 上。
本翻译由 Cell Network[41] 赞助支持。
来源:How to use Binance Smart Chain in your Dapp [42]
参考资料
[1]
登链翻译计划: https://github.com/lbc-team/Pioneer
[2]
翻译小组: https://learnblockchain.cn/people/412
[3]
Tiny 熊: https://learnblockchain.cn/people/15
[4]
BSC: https://learnblockchain.cn/tags/bsc
[5]
Injective protocol: https://injectiveprotocol.com/
[6]
PoS: https://learnblockchain.cn/tags/pos
[7]
这里: https://github.com/binance-chain/whitepaper/blob/master/WHITEPAPER.md
[8]
非常简单: https://learnblockchain.cn/docs/truffle/getting-started/running-migrations.html
[9]
这里: https://testnet.binance.org/faucet-smart
[10]
Yearn Finance: https://yearn.finance/
[11]
MetaMask: https://metamask.io/
[12]
WalletConnect: https://walletconnect.org/
[13]
Trezor: https://trezor.io/
[14]
Ledger: https://www.ledger.com/
[15]
Lattice: https://lattice.exchange/
[16]
Coinbase Wallet: https://wallet.coinbase.com/
[17]
Portis: https://www.portis.io/
[18]
Fortmatic: https://fortmatic.com/
[19]
Torus: https://toruswallet.io/
[20]
Authereum: https://authereum.com/
[21]
Opera: https://www.opera.com/crypto
[22]
PancakeSwap: https://pancakeswap.finance/
[23]
币安桥: https://www.binance.org/en/bridge
[24]
EIP-3085: https://eips.ethereum.org/EIPS/eip-3085
[25]
这里: https://docs.metamask.io/guide/rpc-api.html#wallet-addethereumchain
[26]
币安桥: https://www.binance.org/en/bridge
[27]
PoA网络桥: https://github.com/poanetwork/poa-bridge
[28]
BNB Swap: https://twitter.com/BNBSwap
[29]
这里: https://github.com/binance-chain/bsc-ecosystem
[30]
PancakeSwap: https://pancakeswap.finance/
[31]
指南: https://academy.binance.com/en/articles/a-guide-to-pancakeswap
[32]
v2: https://soliditydeveloper.com/uniswap2
[33]
v3: https://soliditydeveloper.com/uniswap3
[34]
SushiSwap: https://soliditydeveloper.com/sushi-swap
[35]
Venus: https://app.venus.io/
[36]
Autofarm: https://autofarm.network/
[37]
BurgerSwap: https://burgerswap.org/
[38]
ERC-2917: https://eips.ethereum.org/EIPS/eip-2917
[39]
Spartan Protocol: https://spartanprotocol.org/
[40]
Cream: https://app.cream.finance/
[41]
Cell Network: https://www.cellnetwork.io/?utm_souce=learnblockchain
[42]
How to use Binance Smart Chain in your Dapp : https://soliditydeveloper.com/deploy-to-binance-smart-chain

该内容来自于互联网公开内容,非区块链原创内容,如若转载,请注明出处:https://htzkw.com/archives/33837

联系我们

aliyinhang@gmail.com