LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > [Chainlink] 通过安全数据源在Binance智能链上构建dApp

[Chainlink] 通过安全数据源在Binance智能链上构建dApp

2021-02-05 wanbizu AI 来源:区块链网络

2019年4月,流行的加密货币交易所币安(Binance)推出了币安链(Binance Chain)和BNB代币的所在地,该网络是为快速交换而建立和优化的。 在币安链上,您可以:

发送和接收BNB 发行新代币 发送,接收,刻录/铸造和冻结/解冻令牌 提议在两个不同的代币之间创建交易对 通过在链上创建的交易对发送买卖资产的订单

Binance Chain非常适合希望加快交易速度的用户。 但是,它不是EVM兼容的,并且不支持智能合约,这是设计使然。 为了允许创建智能合约,Binance团队还创建了Binance智能链(BSC),该网络使用权益证明(PoSA)共识算法并且与EVM兼容,从而使智能合约开发人员能够构建本机的可编程dApp。与币安链整合。

这种双链架构允许在交换端进行快速交易,同时仍支持智能合约。 Binance团队实际上创造了术语“ CeDeFi”或“集中式分散式金融”来描述这种混合方法,这种折衷方案是使用较少分散的架构来实现额外的交易吞吐量,同时仍确保开发人员可以在未经许可的情况下部署应用程序方式并使用以太坊相同的可组合工具,例如Solidity和Chainlink Price Feed。

Binance主链上提供了Binance智能链Chainlink价格Feed,可用于在需要分散,防篡改数据输入的BSC上构建应用程序。 在本技术教程中,我们将指导您如何使用Binance智能链,BNB令牌和Chainlink oracle,即使您没有以太坊经验,也可以快速开始在BSC上构建外部连接的智能合约。

使用BSC工具进行构建

由于BSC与EVM兼容,因此我们可以使用Solidity环境中的相同工具,例如Truffle,Hardhat,MetaMask等。 在本教程中,我们将使用Python智能合约开发框架Brownie与BSC一起使用,因为Brownie具有强大的分叉功能,我们可以在本地使用,因为Binance测试网目前不支持价格供稿。

如果您对使用Binance Smart Chain而不是布朗尼运行Truffle或Hardhat程序感兴趣,请查看ganache-cli的分支功能或跳到我们谈论分支的地方-我们将介绍如何使用ganache运行该程序。 运行测试时,Brownie在后端执行的任务是使用ganache-cli进行分叉。

要求

python3 节点js 加纳奇 布朗尼蛋糕

要检查您的Python版本,请在您的终端中输入:

python –version

对于nodejs,输入:

节点-v

您可以在此处下载python和nodejs。 Node预装有npm。 然后,确保安装了ganache-cli:

npm install -g ganache-cli

要么

毛线全球添加ganache-cli

然后最后,用

点安装eth-brownie

要么

pip3安装eth-brownie

现在我们都准备好了!

入门

现在我们已经完成了所有设置,请继续进行操作,然后将chainlink-mix装箱以用于核仁巧克力饼。 这是用于使用Chainlink智能合约的样板模板。 如果您想了解更多信息,可以在我们的博客中了解如何使用python部署任何区块链的智能合约。

要使用主网或测试网Binance智能链,通常需要BNB令牌,类似于在以太坊区块链上使用ETH。 部署智能合约时,您需要将其与BNB一起部署。

我们将100%在本地完成所有工作,因此我们不需要任何测试网ETH,LINK或BNB即可上手。

首先,让我们烘烤布朗尼蛋糕:

布朗尼烤链链接-混合CD链链接

而我们正在我们的项目中。 如果运行ls,我们可以看到目录中的内容。

build:这是项目跟踪已部署的智能合约和已编译合约的地方 合同:合同的源代码,通常以Solidity或Vyper编写 interfaces:处理已部署合同所需的接口布局。 每次与合同的交互都需要一个ABI和一个地址。 接口是获取合同的ABI的好方法 脚本:我们创建的脚本,用于自动执行合同流程 测试:测试 brownie-config.yaml:在这里,我们可以获取Brownie的所有信息,以了解如何使用我们的智能合约。 我们想部署到什么区块链? 我们要设置任何特殊参数吗? 所有这些都在配置文件中设置。

requirements.txt,README.md,LICENSE和.gitignore暂时可以忽略。 您将在练习时找出它们的用途。

我们将把PriceFeed.sol部署到我们的本地环境中,该环境将从Binance主链中派生。

添加分支网络

为了使用Binance Chain,我们需要一个远程过程调用(RPC)URL或主机。 这是一个URL,我们将对其进行API调用以与Binance Smart Chain连接。 如果有兴趣,您还可以运行自己的Binance智能链节点并连接到该节点。

我们可以在他们的文档中找到Binance的RPC URL。 我们还将需要ChainID。 现在,让我们使用这些:

主机= https://bsc-dataseed.binance.org/ chainid = 56

最后,我们将需要我们要使用的任何Chainlink Price Feed的Price Feed地址。 布朗尼chainlink-mix预先安装了Binance ETH / USD价格Feed,但是如果您想要Binance上所有Chainlink价格Feed的列表,可以随时查看Binance或Chainlink文档以获取更多信息。 如果您查看brownie-config.yaml文件,则会在网络下方看到一个名为binance-fork的部分。 这具有我们需要使用Binance分支的所有变量。

现在,我们要告诉布朗尼使用Binance进行连接,但是我们要分叉它。 分支链意味着复制该链并在本地运行它,这样我们就无需支付任何费用,并且可以通过测试快速进行迭代。 这也意味着一旦分叉链断开,一切都将被删除! 我们可以使用以下命令将Binance的一个分支添加到Brownie网络:

布朗尼网络添加开发币安叉cmd = ganache-cli主机= http://127.0.0.1叉子= https://bsc-dataseed1.binance.org帐户= 10助记符=布朗尼端口= 8545

这将在本地主机的端口8545上运行本地ganache-cli链。它将在部署时使用https://bsc-dataseed1.binance.org作为派生源。 如果正确完成,您将看到类似以下内容:

布朗尼v1.13.0-以太坊的Python开发框架成功:添加了一个新的网络“币叉”└─binance-fork├─id:binance-fork├─cmd:ganache-cli├─cmd_settings:{‘fork’ :’https://bsc-dataseed1.binance.org’,’accounts’:10,’助记符’:’brownie’,’port’:8545}└─主机:http://127.0.0.1

您可以通过运行布朗尼网络列表来检查所有网络。

部署合同

现在一切都已设置好,我们可以在我们的本地ganache分叉链上部署和读取合同了。 在scripts文件夹中,有一个名为deploy_price_consumer_v3.py的脚本。 我们可以使用以下命令运行它:

布朗尼运行脚本/price_feed_scripts/deploy_price_consumer_v3.py –network binance-fork

您将看到类似以下的输出:

布朗尼v1.13.0-以太坊的Python开发框架ChainlinkMixProject是活动的项目。 启动“ganache-cli –accounts 10 –fork https://bsc-dataseed1.binance.org –mnemonic brownie –port 8545 –hardfork istanbul”…运行’scripts / price_feed_scripts / deploy_price_consumer_v3.py ::交易发送:0x63022ee6c741ffb31ec6f8f29d3d2412c0a81a557a316a9a9752603825b8e96d天然气价格:0.0 gwei气体极限:6721975随机数:0 PriceFeed。构造函数已确认-块:4398765所使用的天然气:132364(1.97%)终结的cdC3Cb定价:3C的ed分配给价格:3x3B分配给价格:3x7B分配给价格:3b3B分配给价格:3x43Cb分配给4的3b分配给:本地RPC客户端…

因此,我们只是:

分叉币安链并在本地运行 向其部署智能合约 并从中读取ETH的价格

ETH当前价格是135462000000

恭喜你! 您正在申请一些币安赏金!

更进一步

现在您知道如何使用Binance Smart Chain部署智能合约,您可以更深入地研究BSC,甚至可以与Matic,xDai或其他侧链和第2层一起使用。 如果您更喜欢安全帽和松露,请查看是否可以在那儿执行ganache-cli命令并运行一些本地测试。 即将举办许多黑客马拉松活动,因此请确保有机会与该领域的其他人才合作,赢得一些奖项,并使您成为聪明的合同开发者。

如果您想继续扩展智能合约的功能,请访问Chainlink开发人员文档并加入Discord中的技术讨论。 如果您使用Binance Smart Chain,Brownie,Truffle,Hardhat或任何其他Chainlink集成构建出出色的东西,请确保使用@chainlink标记我们,以便我们检查出您所做的所有出色工作!

网站| 推特| Reddit | YouTube | 电报| 大事记 GitHub | 价格提要| DeFi

>>在链节上查看

加入我们的电报

在推特上关注我们

在Facebook上关注我们

帖子 [Chainlink] 在带有安全数据源的Binance智能链上构建dApp首次出现在AZCoin新闻上。

—-

原文链接:https://azcoinnews.com/chainlink-build-a-dapp-on-binance-smart-chain-with-secure-data-feeds.html

原文作者:Chainlink News

编译者/作者:wanbizu AI

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...