编者按:本文来自量化踢马河,Odaily星球日报经授权转载。一提到到布朗尼,可千万不要以为就是那种黑色巧克力味的美味小蛋糕,这里说到的布朗尼,指的是以太坊上,名为布朗尼的智能合约基础框架。布朗尼用于开发以太坊智能合约,其稳健性和易于使用性都非常的高,常被用来进行:部署:自动将许多合同部署到区块链上,初始化或者集成它们所需的任何交易。交互:编写脚本,或者使用控制台与主网上的合同进行交互,或是在本地环境中进行快速测试。调试:在事务恢复时获取详细信息,以帮助您快速查明问题。测试:用Python编写单元测试,并基于堆栈跟踪分析评估测试覆盖率。接下来我们来试着在Solidity中创建一个非常简单的智能合约,仅公开两个外部函数getValue和setValue.把这个智能合约保存在文件smart_contract.sol.
接下来通过布朗尼部署此智能合约并与之交互。设定此次尝试使用的是Python3.7和virtualenv隔离我们的环境。如果没有安装Python3.7,可以按照以下步骤操作。
CoinList推特账户已恢复控制:7月28日消息,据官方消息,CoinList推特账户已恢复控制,相关钓鱼推文同时被删除。CoinList表示未来将加强公司社交媒体账户的安全管理。
金色财经曾报道,CoinList推特账号于7月23日被盗,并发布了关于将推出原生代币的钓鱼推文。[2023/7/28 16:03:30]
我们将会使用Ganache,它是用于以太坊开发的个人区块链。你也可以改为安装ethereum-testrpc,但会导致无法运行图形界面。安装Ganache时,要按照步骤进行。为你的Solidity项目创建虚拟环境。此处已创建,并命名为TestBrownie.安装布朗尼。
要初始化一个空项目,先从创建一个新文件夹开始。在该文件夹中,键入:
UniSat Marketplace停机维护两小时:5月14日消息,据官方消息,BRC-20 交易市场 UniSat Marketplace 于北京时间 5 月 14 日 14 时 30 分至 16 时 30 分停机维护两小时,以执行必要的升级和修复。[2023/5/14 15:01:56]
项目结构每个布朗尼项目均含以下文件夹:contracts/:合同来源interfaces/:接口源scripts/:用于部署和交互的脚本tests/:用于测试项目的脚本brownie-config.yaml:项目的配置文件下面这些文件夹也由布朗尼创建,并在内部用于项目管理,不可编辑或删除。build/:项目数据,例如编译器工件和单元测试结果reports/:在GUI中使用的JSON报告文件编译smart_contract.sol在contracts目录中复制您的智能合约。编译contracts/项目子文件夹中的所有合同源:
上市公司Ether Capital2022年收入为370万美元:金色财经报道,加拿大上市公司Ether Capital Corporation(NEO:ETHC)公布其截至2022年12月31日止年度的经审计综合财务业绩报告。公司的收入从2021年的150万美元增加到2022年的370万美元,增长了149%,这主要是由于Staked Ether奖励的大幅增加。此外,公司从关联方Purpose Investments获得咨询费收入,该关联方与Purpose Investment的加密ETF(“加密资产管理规模”)管理的资产相关联。2022年12月31日资产负债表上的现金为44万美元,而2021年12月31日为340万美元。但是,增加的245万美元投资于现金等价物、有价证券。如上所述,在2022年期间,公司数字资产的估值发生了重大变化。数字资产价值减少1.373亿美元至7310万美元,主要原因是年内以太坊价格下跌65%。截至2022年12月31日,公司数字资产的估值超过这些资产的成本基础1550万美元。[2023/4/2 13:40:11]
Tari Labs就Taro协议赢得了针对Lightning Labs的限制令:金色财经报道,区块链初创公司 Tari Labs 就其 Taro 协议和平台赢得了针对比特币开发商 Lightning Labs 的临时限制令。该裁决意味着 Lightning Labs 将无法对 Taro 协议进行更新或宣布协议的进一步发展。
Tari Labs 于 2020 年创立了 Tari 协议,该协议能够将数字资产从门票转移到虚拟商品。Tari 拥有 Tari 在美国的注册商标,用于各种加密货币交易和兑换服务。区块链平台去年在加利福尼亚州北部地区对 Lightning Labs提起侵犯版权的投诉。它声称其 Taro 协议和平台的名称与自己的商标相似,并提供类似的服务。[2023/3/15 13:06:01]
每次编译器运行时,布朗尼都会将每个合同源的哈希值与现有已编译版本的哈希值进行比较。如果合同没有更改,则不会重新编译。如果你希望强制重新编译整个项目,请使用browniecompile–all。如果要编译具有其它版本的Solidity合同,只需要在.sol文件的使用说明中提及该合同即可。如果不存在,它将自动安装。此处应该注意:编码器的设置位于brownie-config.yaml。
修改任何编译器设置将会导致项目的完全重新编译。如果在配置文件中设置了编译器版本,则将使用该版本来编译项目中的所有合同。版本应以格式的字符串形式给出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。
在网络下创建一个私有块。
保存此文件。现在使用布朗尼控制台部署编译的智能合约。它与常规Python解释器非常相似。从项目文件夹中,通过键入以下内容加载它:
使用在GanacheGUI上可见的账户来交叉检查输出中的账户。
每个单独的账户都由Account可以执行操作的对象表示,例如查询余额或发送ETH。
每个可部署的合同和库都有一个ContractContainer用于部署新合同和访问现有合同。所有已编译的合同都可以作为同名变量使用。
部署带有账户的合同0:
如果键入SimpleContract,则可以看到SimpleContract作为ContractContainer对象的已部署实例的列表。
相互作用参阅此合同上可用的方法:
从在智能合约中设置变量开始。
每个交易返回一个TransactionReceipt对象。该对象包含有关交易的所有相关信息,以及各种有助于恢复交易的调试方法。要获取有关交易的可读信息,使用TransactionReceipt.info()。
检查时使用:
以上就是关于布朗尼的基础知识,如果有兴趣,可用自行进行尝试。本文编译自Graphicaldot的“LearntheBasicsofBrownie”。
标签:CONTRAONTCONTsiliconvalleychainGlobal Digital Trade WarrantControl2XYCoinControllerCash
疫情还在持续,把所有的人都死死的封印在家中,各类线上活动频出,有网友已经无聊到给武汉挖掘机配CP了.
Ekiden保证合约对外保密,合约具有机密性且自动密钥加密,密钥只为应用区域所知。Ekiden网络有三大组成:客户端、计算节点和共识节点。客户端是智能合约的终端用户.
上期回顾BTC:中期上涨趋势并未转变,短期内具有一定的回调压力,预计试探$10,000支撑力度。BTC在多次试探$10,000后,快速下行,最低下跌至$8,500,下跌幅度15%左右.
星球日报译者|Moni 是的,比特币价格再次击穿10,000美元。在此,我们暂时不去考虑宏观环境对加密货币市场的影响,而是希望通过区块链数据——用真实的数据来看看这个市值排名第一的加密货币是如何.
DappRadarXPANews联合发布Insights以太坊在2020年迎来了一个良好的开端,其每日活跃的独立钱包数量用户群比去年同期增长了82%.
编者按:本文来自:以太坊爱好者,作者:ETHGasStation,翻译&校对:闵敏&阿剑,Odaily星球日报经授权转载.