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

首页 » 名家观点 » 如何基于币安智能链 (BSC) 开发 Dapp
  • 译文出自:登链翻译计划 [1]

  • 译者:翻译小组 [2]

  • 校对:Tiny 熊 [3]

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) 开发 DappWallet Options

以 MetaMask 为例

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

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

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

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

如何为用户自动添加 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) 开发 DappBSC 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

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

0 0 投票数
文章评分
订阅评论
提醒
guest
0 Comments
内联反馈
查看所有评论
0
希望看到您的想法,请发表评论。x
()
x