宇宙链 宇宙链
Ctrl+D收藏宇宙链

带你用Python快速打通区块链虚拟币金融Defi之路

作者:

时间:1900/1/1 0:00:00

前言

Python具有强大的软件包,例如Numpy,Scikit,Pandas和TensorFlow,可以进行定量工作,机器学习等。最终能够将这些技术结合在一起,是金融科技新时代成功的秘诀:去中心化金融。Chainlink是一个灵活的框架,用于将外部财务数据和系统链接到链上,并与以数据为中心的程序包无缝集成。如果您是开发人员,并且想要快速开发虚拟币金融应用,那Chainlink无疑是一个最好选择。

Python成为金融杀手锏

在本教程中,我们将逐步介绍如何使用Python开发DeFi项目。分散式金融是区块链和智能合约世界最重要的进步之一,通常被称为“新金融科技”。

目前,智能合约开发主要由JavaScript主导,部分原因是JavaScript是地球上最常用的语言,并且Node.js带有“JavaScript无处不在”的思维方式来构建全栈应用程序更加容易。但是,对于金融科技界,特别是定量分析师,股票交易员,对冲基金来看,事实并非如此。他们由于大多数原因而使用Python:

出色的开发人员经验强大的AI和机器学习捆绑的金融科技软件包全面的分析工具生产设置的可靠性

有这么多数据科学家,学者和金融科技机构使用Python是有原因的。DeFi领域中的某些项目,例如yearn.finance,都具有这种想法,并已使用Python和Solidity构建了整个DeFi平台。因为有了web3.py和Brownie之类的库和框架,才能够看到这些项目的诞生。Brownie是一个类似于Truffle的框架,可以维护您的部署,脚本,测试,并允许您进行端到端的后端。

A股收盘:深证区块链50指数下跌3.47%:金色财经消息,A股收盘,上证指数报3197.9点,收盘下跌1.31%,深证成指报11058.63点,收盘下跌2.18%,深证区块链50指数报3419.28点,收盘下跌3.47%。区块链板块收盘下跌3.27%,数字货币板块收盘下跌3.46%。[2023/6/21 21:51:57]

Web3.py和Brownie还带有演示例子,您可以在其中使用一些样板代码预打开项目。这就是今天将使用的ChainlinkBrowniemix。

为什么要使用Chainlink+Python?

正如Python是金融科技的事实编程语言一样,Chainlink是将脱链数据馈入DeFi智能合约的事实Oracle解决方案,目前为顶级DeFi协议确保了超过$7B的价值。两种技术的结合为安全分散金融科技领域提供了强大的框架。

快速浏览一下Chainlink在2020年启用的一些功能。

环境搭建

要开始使用Brownie和Python构建DeFi应用,首先需要安装Python。目前不建议将Python低于3.4版,因此,如果您使用的版本低于3.4版,请进行升级。

您可以通过运行以下命令查看您的Python版本并验证其是否正确安装:

美国加密交易所的BTC储备已降至2017年的水平:金色财经报道,根CryptoQuant研究报告显示,美国加密交易所的BTC储备已降至2017年的水平,欧盟和香港等地区已经为新兴经济制定了全面的法规,正在经历资本、人才和数字资产公司的流入。特别是香港,已经向加密公司开放,并表示他们将对类似于传统金融公司的实体采用“相同的活动、相同的风险、相同的监管”原则。

此外,国际加密货币交易所的交易量是美国平台的四倍。比特币在美国的现货交易量主导地位已低于 2017 年的水平,目前为 21%。报告补充说,美国交易所几乎没有接触永续期货交易市场,该市场的交易量是现货交易量的 11 倍,因为公司不允许提供这项服务。[2023/6/11 21:30:08]

python--version

或者,如果使用python3:

python3--version

还需要安装Ganache。Ganache是用Python编写的一键式区块链,可让您轻松启动本地区块链。尽管您必须使用npm和node.js进行下载,但这将是您唯一需要与之交互的JavaScript。

首先,您需要安装node.js和npm。Node.js随npm一起安装。下载后,您可以通过运行以下命令来检查它是否正确完成:

npm-v

然后,您可以通过命令行安装Ganache。

npminstall-gganache-cli

安装完这些文件后,我们将以pip的方式安装eth-brownie,就像安装所有Python仓库一样。

Tornado Cash开发者Alexey Pertsev获释后首次更新推特:金色财经报道,Tornado Cash 开发者 Alexey Pertsev 获释后首次更新推特:对不起,我暂时离开了,我错过了什么?

此前在2022年8月,Pertsev于荷兰阿姆斯特丹市中心被捕,直到今年4月才被释放。[2023/4/29 14:33:53]

pipinstalleth-brownie或者如果使用pip3:

pip3installeth-brownie如果您brownie在终端中运行,您就会知道自己做对了,并且得到的输出类似于:

Browniev1.13.0-PythondevelopmentframeworkforEthereumUsage:brownie<command>Commands:initInitializeanewbrownieprojectbakeInitializefromabrownie-mixtemplatepmInstallandmanageexternalpackagescompileCompilethecontractsourcefilesconsoleLoadtheconsoletestRuntestcasesinthetests/folderrunRunascriptinthescripts/folderaccountsManagelocalaccountsnetworksManagenetworksettingsguiLoadtheGUItoviewopcodesandtestcoverageanalyzeFindsecurityvulnerabilitiesusingtheMythXAPIOptions:--help-hDisplaythismessage--versionShowversionandexitType'brownie<command>--help'forspecificoptionsandmoreinformationabouteachcommand.

Fantom 主网发布新版本,事件 / 区块处理时间缩短约 30%:3月7日消息,Fantom 基金会宣布发布 Fantom 主网的新版本(go-opera 版本 1.1.2-rc.5),升级内容包括 P2P 和事件 / 区块处理得到显著改进,使得事件 / 区块处理时间缩短约 30%;Genesis file 处理速度最多快 3 倍(存档 Genesis file 除外)。

另外,新版本对数据库层做了一些调整,可以集成多种数据存储类型(LevelDB 和 PebbleDB),还支持用于创世处理和去同步化数据刷新的数据库批处理。[2023/3/7 12:47:10]

最后需要一个MetaMask或其他以太坊钱包。如果从未使用过ETH钱包,则可以百度下使用教程。请注意,这也显示了为Ropsten获取测试网ETH,Chainlink不再支持该测试网。如果您遵循,请使用Kovan。

最后,请确保您的ETH钱包中有一些testnetLINK和KovanETH。您可以在LINK龙头和ETHKovan龙头中找到一些配件。

开始Chainlink项目

在此示例中,我们将部署一个简单的ChainlinkPriceFeed,以了解Brownie框架。让我们开始尝试下chainlink-mix。

browniebakechainlink-mixcdchainlink

已经建了一些默认代码的新项目。如果运行,ls我们可以看到文件的布局是什么样的:

数据:The Sandbox Land交易额突破100,000ETH:10月1日消息,据NFTGo.io数据显示,The Sandbox Land交易额已突破100,000 ETH,截至目前为10.005万ETH,约合3.4287亿美元。此外,The Sandbox Land地板价升至1.6 ETH,24小时上涨5.27%,市值达到6.4316亿美元。[2022/10/1 22:43:26]

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

设置环境变量

即使我们只是安装了Ganache进行本地测试,我们也希望能够连接到ETH主网和测试网,以便我们可以将它们部署在真实的测试网上。为此,我们需要设置**WEB3_INFURA_PROJECT_ID.您可以从Infura网站免费获得InfuraID。您可以使用其他web3提供程序或您自己的节点,但是您必须为此做更多配置。

在brownie-config.yaml文件中,您可以设置带有host密钥的网络,并定义您不想使用MetaMask时要连接的URL。

有了您的web3ID之后,我们需要将私钥作为环境变量使用,以便我们可以在钱包中使用我们的帐户。如果您使用的是MetaMask,请查找exportkey。使用MetaMask,您可能必须添加0x到私钥的开头。为了以防万一,建议在测试和导出密钥时使用与主帐户不同的帐户。

现在,要使其成为环境变量,只需在终端中运行以下命令:

exportPRIVATE_KEY=0x96789…..exportWEB3_INFURA_PROJECT_ID=’dogcatmouse….’

如果您在其中运行printenv并看到环境变量,您就会知道自己做对了。

您可以在此处了解有关设置环境变量的更多信息。

部署智能合约

现在已经完成了所有设置,甚至可以继续将智能合约部署到Kovan测试网!

在我们的scripts文件夹中,有一个名为的脚本deploy_price_consumer_v3.py。这将部署我们的智能合约,该合约以美元读取以太坊的价格。

如果您想更轻松地了解该合同的功能以及如何部署它,请随时查看有关部署价格Feed合同的Chainlink教程。

仅用于brownierun使用部署脚本:

brownierunscripts/price_feed_scripts/deploy_price_consumer_v3.py--networkkovan

您会看到以下内容:

Running'scripts/price_feed_scripts/deploy_price_consumer_v3.py::main'...Transactionsent:0x23d1dfa3937e0cfbab58f8d5ecabe2bfffc28bbe2349527dabe9289e747bac56Gasprice:20.0gweiGaslimit:145600Nonce:1339PriceFeed.constructorconfirmed-Block:22721813Gasused:132364(90.91%)PriceFeeddeployedat:0x6B2305935DbC77662811ff817cF3Aa54fc585816如果此方法正常工作,我们可以转到KovanEtherscan并找到我们部署的合同。上面的链接显示了此示例中部署的合同。

阅读您的智能合约

现在我们已经部署了智能合约,我们可以从刚刚部署的合约中读取以太坊的价格。我们将使用另一个具有的脚本:

brownierunscripts/price_feed_scripts/read_price_feed.py--networkkovan我们将得到类似以下的输出:

Browniev1.12.2-PythondevelopmentframeworkforEthereumChainlinkProjectistheactiveproject.Running'scripts/price_feed_scripts/read_price_feed.py::main'...Readingdatafrom0x5A….122322000000

其中122322000000是ETH当前的美元价格!Solidity无法理解小数,因此我们知道Chainlink价格供高具有8个小数,因此价格为$1,223.22。

您刚刚使用Python和Brownie部署了您的第一个智能合约!

测试您的智能合约

这也是如何测试智能合约的一个很好的例子。我们使用模拟对象甚至在本地进行测试!

只需运行:

brownietest您的测试将在本地Ganache实例上运行!

您还可以使用以下内容在测试网上进行测试:

brownietest--networkkovan

这些测试具有一些功能,这些功能可以知道您是否正在使用测试网。如果您在本地工作,它将部署oracle代码的虚拟对象或“虚拟对象”,以便我们可以从中进行测试。

走得更远

既然您知道如何使用Python部署智能合约,那么您就可以开始在此框架的基础上做更多有趣的事情了。Python具有强大的软件包,例如Numpy,Scikit,Pandas和TensorFlow,可以进行定量工作,机器学习等。最终能够将这些技术结合在一起,是金融科技新时代成功的秘诀:去中心化金融。

标签:ChainETH区块链Chain币是什么币ETH钱包地址ETH挖矿app下载Etherael指什么寓意区块链工程专业学什么区块链存证怎么弄区块链技术发展现状和趋势

币安app官网下载热门资讯
神奇“币圈”的各种币,英文知多少?

当狗狗币的两位创始人在2013年设计出狗狗币的时候,只是出于讽刺比特币圈投机氛围的玩笑目的,他们把比特币的大量代码复制过来,以夸张戏谑的Doge狗头表情包作为标志.

1900/1/1 0:00:00
血崩之后,币市能抄底了吗?

你永远叫不醒一个炒币的人,除非他自己睡够了。这几天一直关注比特币,并把卸载了一年多的OKEX软件又装了回来。这几个月来,不时就有媒体叫嚷币市“跳崖”、“崩盘”、“血瀑”.

1900/1/1 0:00:00
辰宇观点:价值来源于共识

什么是共识? 共识是指不同社会阶层的人、不同利益的人所追求的共同认识、价值、理想。回顾整个社会文明历史,从一个个部落演变成为许许多多国家,共识一直都参与其中,且极大的促进了这种发展.

1900/1/1 0:00:00
外高桥的另类!这个不温不火的新盘这次会触发积分吗

外高桥作为浦东热门置业区域,一直是市场热点,今天,网上房地产官方公示了外高桥板块阳明花园的预售情况,市场大热盘将在今天入市.

1900/1/1 0:00:00
随着SHIB等“宠物币”持续火爆,以太坊网络费用达到新高

Gas第三方数据服务ETHgasStation的数据显示,如果你现在尝试在以太坊区块链网络上交易,你可能会看到费用高于25美元,甚至300美元,取决于网络交互类型.

1900/1/1 0:00:00
比特币不香了?以史为鉴:热门品种轮转后或将是曲终人散

来源:财联社 原标题:比特币不香了?以史为鉴:热门品种轮转后或将是曲终人散 文|黄君芝 一家市场研究公司周一表示,比特币和其他加密货币的价格今年大幅上涨.

1900/1/1 0:00:00