4

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

 3 years ago
source link: https://learnblockchain.cn/article/2626
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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 赞助支持。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK