集成开发环境(IDE)Mix介绍

当前位置:首页 > 币圈百科 > 集成开发环境(IDE)Mix介绍

集成开发环境(IDE)Mix介绍

2023-02-07币圈百科179

Mix

IDE Mix旨在帮助作为开发人员的您创建、调试和部署契约和去中心化应用程序(后端和前端契约)

警告——OS x上有许多关于Mix的引导崩溃事件报告,这个事件是Heisenbug bug,我们已经跟踪了一两个月。我们最好的解决方法是使用调试配置,就像这样:

1c make-DC make _ build _ type=debug.

警告-我们正在开发Mix的替代品,称为Remix。如果你经历过Mix中的事件,最好在Remix更成熟之前寻找替代品。

首先创建一个新项目,该项目包括

contract html文件JavaScript文件样式文件图像文件

项目编辑器

您可以使用该项目来管理去中心化应用程序的创建和测试。该项目将包括与后端和前端相关的数据以及与您的场景(区块链互动)相关的数据,用于调试和测试。相关文件将被创建并自动保存在项目目录中。

创建新项目

分散式应用程序的开发始于新项目的创建。在“编辑”菜单上创建新项目。输入项目名称,如“年级”,并选择项目文件路径。

编辑后端合约文件

一个新项目默认包含一个合约。“Contract”用于区块链使用Solidity语言的后端开发,“index.html”用于前端。查看实体教程或参考。编辑一个空的默认合约,比如

123456合约评级{函数集rating (bytes32 _ key,uint 256 _ value){ ratings[_ key]=_ value;映射(bytes32=uint256)公共评级;}}

查看solidity教程获取帮助,从Solidity编程语言开始。

保存更改

编辑前端html文件选择默认的index.html文件,输入以下代码

123456789101121314151617181920212223242526.

Ratings

Store:save query:

可以添加许多合同文件以及HTML、JavaScript和CSS文件

场景编辑器

场景可以用来检测和调试合同。

一个场景是本地区块链,无需工作量证明即可开采区块,否则测试会很慢;

一个场景包含一系列事务。通常,一个场景从一个用于分散式应用程序的契约创建场景开始。此外,将添加更多的事务来测试和调试分散的应用程序。例如,可以通过删除事务来修改方案。注意,如果你想修正一个场景使其有效,你需要重建它。可以通过JS API用JS进一步测试。

如果打不开,可以点击F7或Windows显示屏右侧或主界面右上方的调试按钮,进入场景和调试器窗格。

创建并设置新场景

第一次启动Mix时,会创建一个空场景,例如,没有任何事务。添加一个账户,命名为“MyAccount”,初始余额设置为1 Ether。点击确认。将场景重命名为“部署”。

修正以太坊中账户的初始余额

其实我们想做很多测试。编辑初始冻结参数,并将初始账户余额设置为1000等。重建场景可以提高效率。

重建场景

每次修改交易或者增加账号,都要重建场景,使之高效。请注意,如果重建场景,网络前端(本地存储)可能也需要重置(Mix不会自动运行)。

创建一个交易

我们发送一些以太币给Bob。创建另一个名为“Bob”的帐户,余额为0。在场景窗格中创建新的事务。点击“添加发送…”并向Bob发送300 ETC。添加一个块。

更改并重用场景

创建一个新场景或从一个场景开始,并用您首先复制的几个事务重命名该场景

通过指定要删除的事务来更正场景

重建场景

显示调用

这不是一个事务,因为约定调用不会更改状态。 约定调用不是区块链的一部分,但是出于实践和用户体验设计的原因,在事务的相同功能级别显示调用是很方便的。JS图标提醒你这不是一个事务,而是一个调用。要显示/隐藏通话,单击菜单中的场景-显示通话。

状态查看器

此面板块位于场景视图中的区块链面板下。一旦区块链运行,该面板将显示区块链状态。

说到状态,我们指的是所有账户余额(包括合同和正常账户)和存储(所有部署合同的全局变量)。此面板的内容不是动态的,它取决于在区块链面板上选择的交易。此处显示的状态是执行所选事务的状态结果。

在这种情况下,部署了两个合同,并选择了最后一个。状态视图显示TestCtr和BasicContract的存储。

交易浏览器

使用交易窗格可以浏览交易回执,包括

输入参数并返回参数事件日志

显示交易浏览器,点击每笔交易右侧的倒三角图标,交易明细将展开:

然后您可以复制剪贴板上的事务内容,编辑当前事务(然后您必须重新运行区块链),或者调试事务。

JavaScript控制台

mix在全局窗口

Web 3以太坊JavaScript API

契约的上下文中公开了以下对象:契约对象集合。该键表示合同名称。该值是一个具有以下属性的对象:

Contract: Contract对象实例(在web3.eth.contract中创建)Address:最后一个部署状态的Contract地址(见下文)接口:Contract ABI

详见JavaScript API reference。

用JS控制台添加事务和本地调用

如果契约名为“Sample”,函数名为“set”,则可以通过编写:

1 contracts ['sample'],使一个事务调用“set”。contract.set (14)

如果可以进行调用。可以通过编写以下命令来完成:

1 contracts ['sample']。合同。get.call ()

也可以使用web3对象的所有属性和功能:https://github.com/Ethereum/wiki/wiki/JavaScript-API

事务调试器

。您可以在两种模式之间切换,并检索您需要的相关信息。

在任何执行阶段,以下信息都是可用的:

虚拟机堆栈请参见黄皮书,了解虚拟机操作指南。描述调用堆栈——当一个契约被另一个契约调用时,它会增长。双击堆栈框架,查看框架中机器的状态。存储——用于存储合同相关数据的内存——分配给该执行点的机器内存——进入调试模式后的事务或调用参数

事务明细展开后,可以切换到调试视图,点击“事务调试”按钮。

在调试模式和单步调试事务之间切换

此处开启坚固性调试模式。使用菜单按钮(debugdisplay virtual machine code)在solidity和Ethereum虚拟机调试模式之间切换

在Solidity调试模式下调试事务和在Ethereum虚拟机调试模式下调试事务

Dapps部署

该功能使用户能够在主区块链中将当前项目部署为分散的应用程序。

这将部署合同并签入前端资源。

部署过程包括三个步骤蓑衣网小编2023:

部署合同:这一步将在主区块链中部署合同。打包Dapp:这一步用来打包上传前端资源。注册:要成为一个去中心化的应用,以太坊浏览器(Mist或AlethZero)需要访问这个包。这一步将注册存储资源的URL。

要部署去中心化的应用,请按照以下说明操作:

点击部署,部署到网络

这个模式对话框会显示三个部分(见上图):

部署契约选择场景

“以太坊节点URL”是节点运行的位置。为了启动部署,必须有一个节点正在运行。

选择部署方案是一个强制步骤。Mix将执行所选场景中的事务(除了与合同创建或合同调用无关的所有事务)。 Mix将在下面的面板上显示所有交易和所有相关参数。

“使用的气体”:根据选择的场景,Mix会显示使用的气体总量。

部署场景

“部署帐户”允许您选择Mix将用于执行交易的帐户。

“气价”显示网络的默认气价。您也可以指定不同的值。

“部署成本”:取决于您要使用的气价值和所选场景。这显示了部署所需的以太坊数量。

“已部署合同”:此部分在部署前为空。部署完成后,该部分将填充所有创建的合同地址。

“验证”:显示验证的数量(在最后一个块的顶部生成的块数,其中包含最新的部署事务)。Mix跟踪所有交易。如果缺少一个(无效),它将显示在面板上。

打包去中心化的应用程序

“生成包”的行为将创建一个新的文件夹,并命名为“www”,其中将包含所有映射到当前部署契约的资源和脚本。为了发布去中心化的应用,你需要在一个网络服务器上托管www文件夹(很快就会被IPFS和SWARM取代)。默认情况下,库中不存在web3.js。如果您想在web浏览器中使用分散式应用程序,您需要添加这个库。

代码编辑器

这个编辑器提供了代码编辑器的基本功能。

在Solidity或JavaScript模式下,可以使用自动补全插件(CTRL空格)来增加/减少字体(Ctrl,Ctrl-)。在实体模式下,可以显示气体估计值(工具-显示气体估计值)。这将突出显示需要最少量汽油的所有州。如果所需的气体变得重要,颜色会变成红色。它还显示了最大事务执行成本(每个函数)。

感谢参与《Ethereum Homestead Documentation》翻译验证的团队Azure和Bob。

王小明

HPB核心链创始人、专栏作家。十余年金融大数据和区块链技术开发经验,参与创建银联大数据。创作了30多期区块链教学视频节目《明说》,编译《以太坊官网文档中文版》,并作为主要作者,编译《区块链开发指南》,在国内区块链社区以ID“蓝莲花”知名。

集成开发环境(IDE)Mix介绍 | 分享给朋友: