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

如何在币安智能链(BSC)上部署合约已经如何与用户交互。

Defi一直是币安智能链最近起飞的主要贡献力量。伴随着以太坊主网的Gas成本不断增加(当然在写这篇文章时,以太坊手续费实际上已经处于很长时间以来的最低水平之一,但不排除在下一次ETH价格暴涨是,手续费再次水涨船高。

那么,如何对其进行部署,币安智能链(BSC)究竟是什么?

什么是币安智能链(BSC)?

币安链是由币安在2018年推出的。这是一个基于tendermint的链,其主要功能是转移资产。这使得币安生态系统内的价值转移有了更去中心化的形式。

2020年9月,币安生态系统中加入了币安智能链(BSC)。这是一个独立链,但却是双链设计的一部分,与原来的币安链同步状态。BSC本身只是一个geth分叉,所以它依靠的是与ETH 1.0相同的技术。但由于非常有限的验证者实现了更高的产出,因此Gas成本要低得多。

BSC是去中心化的吗?

首先我们要明白,去中心化是一个范围上概念。虽然有些项目努力追求完美主义,在技术上尽可能地分散(有人说Injective protocol吗?),但这并不意味着其他方法都是完全中心的。那么,是什么因素使BSC更集中或更分散?

去中心化部分: BSC运行在权益证明(PoS与授权证明(PoA)相结合的基础上,他们称之为质押授权证明(PoSA),也可参见白皮书这里。在其双链设计中,原始币安链运行在PoS上,而币安智能链本身是一个纯PoA共识。然而,PoA共识中的验证者是通过币安链 staking管理的,因此不是完全集中的。这当然比普通的中心化交易所或纯PoA系统更好。

中心化部分:不得不说,POA是去中心化的反面。你基本上是在信任少数几个选定的验证者。在这种情况下,这些机构是通过币安链的治理来管理的。那么,币安链中的PoS是如何集中的呢?验证者的总数被限制在21个,币安本身可能控制着最大的验证者。

总而言之,你可以看到BSC更倾向于中心化的一面,但它仍然比简单地使用币安明显更加去中心。

如何部署到币安智能链上

部署到币安智能链是非常简单。如果你使用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,
}

当然,你还需要资金。对于测试网,你可以使用这里的水龙头。关于如何从公共主链上转移资金,请继续阅读。

如何让用户加入你的币安智能链Dapp

钱包的选择

现在,你有很多不只是MetaMask作为可能的钱包可供支持。以Yearn Finance为例。在写这篇文章的时候,他们仅支持11个不同的钱包。

Wallet Options

以MetaMask为例

我们以MetaMask为例,因为它是最大的钱包,功能最多。在MetaMask上,你现在可以请求它直接连接到一个自定义网络上。

如果你想看案例,请查看PancakeSwap。除非你已经添加了币安 Smart Chain,否则它将要求添加这个网络。或者直接点击币安桥中的'Add network'。

img

如果用户确认,网络被添加并自动切换到。

如何为用户自动添加BSC网络

自动添加网络并切换,这都要归功于 EIP-3085的新RPC方法wallet_addEthereumChain 。MetaMask的文档在这里

下面看到如何为用户自动添加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
}

使用币安桥

你可以使用币安桥,在以太坊网络和币安智能链之间转移资金。它是通过在桥接合约上锁定代币来实现转移的。该桥的工作原理与PoA网络桥非常相似。它甚至可能是它的一个分叉,但我在任何地方都找不到币安桥的源代码。如果你知道这个问题的答案,请让我知道。

币安 Bridge

在开始的时候,币安桥只支持单向桥接,但现在它是双向的。这意味着你可以从以太坊转移到BSC,也可以从BSC转移到以太坊。

在 BSC 上的 Defi

BSC的优势之一可能是其庞大的生态系统,特别是Defi项目。只要看看下面这张由BNB Swap提供的图片。

BSC Defi

要了解不仅仅是Defi的概况,请查看生态系统的Github这里。最受欢迎的项目是什么?

  • PancakeSwap:BSC的Uniswap v2分叉。与SushiSwap类似,该叉子增加了一些额外的功能,如质押、彩票和NFT支持,见指南,如果你不了解AMM,你可能想看看我的Uniswapv2v3SushiSwap的指南。
  • Venus:BSC的MakerDao和Compound分叉是一个货币市场,你可以借用和借出BEP-20(BSC上的ERC-20)代币。
  • Autofarm:这本质上是BSC的Yearn Finance。你可以加入一个金库,它自动尝试为你找到最理想的方式来赚取你的存款收益。
  • BurgerSwap:BurgerSwap也是BSC上一个流行的AMM。你可以做BEP-20代币互换,并提供流动性。它实现了ERC-2917,而且它这一次不是Uniswap的分叉。他们想改进Uniswap的激励和治理模式。
  • Spartan Protocol:这是一个基于AMM的流动性池、合成资产(代币化的衍生品)和借贷协议的组合。
  • Cream:Cream是另一个流行的借贷协议,存在于以太坊上,也被部署在BSC上。

本翻译由 Cell Network 赞助支持。

点赞 9
收藏 10
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

3 条评论

请先 登录 后评论
翻译小组
翻译小组
0x9e64...7c84
大家看到好的文章可以在 GitHub 提 Issue: https://github.com/lbc-team/Pioneer/issues 欢迎关注我的 Twitter: https://twitter.com/UpchainDAO