CON:布朗尼(Brownie):以太坊的智能合约基础框架

编者按:本文来自量化踢马河,Odaily星球日报经授权转载。一提到到布朗尼,可千万不要以为就是那种黑色巧克力味的美味小蛋糕,这里说到的布朗尼,指的是以太坊上,名为布朗尼的智能合约基础框架。布朗尼用于开发以太坊智能合约,其稳健性和易于使用性都非常的高,常被用来进行:部署:自动将许多合同部署到区块链上,初始化或者集成它们所需的任何交易。交互:编写脚本,或者使用控制台与主网上的合同进行交互,或是在本地环境中进行快速测试。调试:在事务恢复时获取详细信息,以帮助您快速查明问题。测试:用Python编写单元测试,并基于堆栈跟踪分析评估测试覆盖率。接下来我们来试着在Solidity中创建一个非常简单的智能合约,仅公开两个外部函数getValue和setValue.把这个智能合约保存在文件smart_contract.sol.

接下来通过布朗尼部署此智能合约并与之交互。设定此次尝试使用的是Python3.7和virtualenv隔离我们的环境。如果没有安装Python3.7,可以按照以下步骤操作。

NBA Top Shot将发布勒布朗·詹姆斯2016年总决赛经典盖帽The Block NFT:6月10日消息,NBA Top Shot 发文称,将限量发布勒布朗·詹姆斯经典盖帽The Block NFT,这记盖帽由詹姆斯在 2016 年 NBA 总冠军第七场比赛送出,并帮助克利夫兰骑士队战胜金州勇士队获得了第一个 NBA 总冠军。The Block NFT 只会发布 23 枚,属于极其限量版(extremely limited edition)。[2023/6/10 21:27:12]

我们将会使用Ganache,它是用于以太坊开发的个人区块链。你也可以改为安装ethereum-testrpc,但会导致无法运行图形界面。安装Ganache时,要按照步骤进行。为你的Solidity项目创建虚拟环境。此处已创建,并命名为TestBrownie.安装布朗尼。

勒布朗·詹姆斯“LeBron 1/1 Unique Card”以近7万美元成交价被拍卖,创Sorare NBA第三高交易记录:金色财经报道,勒布朗·詹姆斯“LeBron 1/1 Unique Card”NFT球星卡以69,165美元的成交价在Sorare被拍卖,创造了Sorare NBA平台迄今为止第三高NFT交易记录,仅次于2月初成交的NBA雄鹿队球星“字母哥”扬尼斯·阿德托昆博的NFT球星卡(18.6万美元)和安东尼·戴维斯的NFT球星卡。[2023/2/15 12:07:17]

要初始化一个空项目,先从创建一个新文件夹开始。在该文件夹中,键入:

项目结构每个布朗尼项目均含以下文件夹:contracts/:合同来源interfaces/:接口源scripts/:用于部署和交互的脚本tests/:用于测试项目的脚本brownie-config.yaml:项目的配置文件下面这些文件夹也由布朗尼创建,并在内部用于项目管理,不可编辑或删除。build/:项目数据,例如编译器工件和单元测试结果reports/:在GUI中使用的JSON报告文件编译smart_contract.sol在contracts目录中复制您的智能合约。编译contracts/项目子文件夹中的所有合同源:

Crypto.com将空投以NBA巨星勒布朗·詹姆斯为主角的NFT:3月10日消息,在Crypto.com以NBA巨星勒布朗·詹姆斯(LeBron James)为主角的Big Game商业广告中,发现隐藏二维码的粉丝将有机会从“真相时刻”“The Moment of Truth” NFT系列中赢得NFT,此次将空投5550枚。虽然所有NFT免费空投,Crypto.com也不出售,但有些NFT可能会在加密货币交易所的 NFT平台上转售,NFT转售的版税将捐给勒布朗詹姆斯家族基金会。此前今日消息,NBA巨星勒布朗·詹姆斯申请NFT相关商标。(Cryptoslate)[2022/3/10 13:48:21]

每次编译器运行时,布朗尼都会将每个合同源的哈希值与现有已编译版本的哈希值进行比较。如果合同没有更改,则不会重新编译。如果你希望强制重新编译整个项目,请使用browniecompile–all。如果要编译具有其它版本的Solidity合同,只需要在.sol文件的使用说明中提及该合同即可。如果不存在,它将自动安装。此处应该注意:编码器的设置位于brownie-config.yaml。

MicroStrategy CEO:比特币的经历与勒布朗詹姆斯类似:金色财经报道,MicroStrategy首席执行官Michael Saylor表示,2017年比特币波动太大,存在风险,因为它是处于初期阶段的一种资产,因此有可能降至零。 Saylor强调,这些论点现在已经不那么重要了,因为比特币在三年内已经有了显著发展。他表示,勒布朗詹姆斯从8岁到18岁都打篮球,但他逐渐成长为历史上最伟大的球员之一,比特币正经历的阶段与勒布朗詹姆斯类似。Saylor表示:“我认为,直面最初的比特币和加密社区的恐惧和焦虑是很重要的。我想对他们说的是,勒布朗詹姆斯从9岁到18岁一直在打篮球,他很有天赋,但却不稳定。但后来他长大了,从18岁到28岁,他用自己的方式摧毁了妨碍他的每一个人和每一件事。”[2020/12/5 14:03:59]

修改任何编译器设置将会导致项目的完全重新编译。如果在配置文件中设置了编译器版本,则将使用该版本来编译项目中的所有合同。版本应以格式的字符串形式给出0.x.x.如果版本设置为null,则布朗尼会查看每个合同的版本使用程序,并使用已安装的最新匹配编译器版本。关于evm_version,布朗尼根据编译器设置规则集。Byzantium:Solidity<=0.5.4Petersburg:Solidity>=0.5.5<=0.5.12Istanbul:Solidity>=0.5.13,Vyper你也可以手动设置EVM版本。有效的选项为byzantium,constantinople,petersburg和istanbul.还可以使用EthereumClassic规则集atlantis和agharta,在传递给编译器之前,它们会转换为等效的以太坊。注意:布朗尼支持的Solidity版本>=0.4.22和Vyper版本0.1.0-b16。成功编译后,布朗尼将SimpleContract.json在builds/contract文件夹中创建一个文件。部署打开brownie-config.yaml,它有一个网络部分,你可以自定义现有网络,也可以在网络下创建一个新块。此处使用在端口7545上运行的GanacheGUI。

FintechNZ总经理詹姆斯布朗:新西兰正成为全球区块链中心:据最新消息,FintechNZ总经理詹姆斯布朗称新西兰正在成为全球区块链中心。他说越来越多的区块链发布涉及新西兰公司,包括Blockchain Lab NZ,该公司已通过最初的令牌筹集了超过4.1亿新西兰元;新西兰科技巨星参与的一个团队最近为全球在线评级和评论行业推出了全球首个区块链平台;世界上最大的区块链业务的联合创始人已经与新西兰监管机构就此开放市场进行了会谈。[2018/3/26]

在网络下创建一个私有块。

保存此文件。现在使用布朗尼控制台部署编译的智能合约。它与常规Python解释器非常相似。从项目文件夹中,通过键入以下内容加载它:

使用在GanacheGUI上可见的账户来交叉检查输出中的账户。

每个单独的账户都由Account可以执行操作的对象表示,例如查询余额或发送ETH。

每个可部署的合同和库都有一个ContractContainer用于部署新合同和访问现有合同。所有已编译的合同都可以作为同名变量使用。

部署带有账户的合同0:

如果键入SimpleContract,则可以看到SimpleContract作为ContractContainer对象的已部署实例的列表。

相互作用参阅此合同上可用的方法:

从在智能合约中设置变量开始。

每个交易返回一个TransactionReceipt对象。该对象包含有关交易的所有相关信息,以及各种有助于恢复交易的调试方法。要获取有关交易的可读信息,使用TransactionReceipt.info()。

检查时使用:

以上就是关于布朗尼的基础知识,如果有兴趣,可用自行进行尝试。本文编译自Graphicaldot的“LearntheBasicsofBrownie”。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

BNBTEC:Aztec协议上线:V神“匿名以太坊梦”成真

区块链是一个开放式账本,任何拥有其副本的人都能看到每一笔交易和地址的余额。理论上,由于人们不能通过地址猜出地址的拥有者是谁,此人身在何处,因而该系统是匿名的;然而实际上,如果分析公司知道了某些地.

中币交易所区块链:亚洲仍是区块链创新的主动力

编者按:本文来自链内参,作者:内参君,Odaily星球日报经授权转载。随着疫情在全球范围内升级,一向最为敏感的美国股市开始暴跌,在刚刚过去的一周之内跌幅超过12%,在美国股市的带动之下,全球股市.

[0:62ms0-0:950ms