Altcoins Talks - Cryptocurrency Forum

Local => 中文 (Chinese) => 媒体 => Topic started by: billy.ryoko on August 10, 2018, 05:06:16 AM

Title: 集成开发环境(IDE)Mix介绍
Post by: billy.ryoko on August 10, 2018, 05:06:16 AM
Mix
IDE Mix旨在作为开发者帮你创建,排错和部署合约及去中心化应用(后端和前端的合约)

警告 – 有很多OSX上关于Mix的crash-at-boot 事件报告。这个事件是Heisenbug,我们已经跟踪了一两个月。我们现有的最佳变通方案是用排错配置,像这样:

1
cmake -DCMAKE_BUILD_TYPE=Debug ..
警告 – 正在研究一个Mix的替代物,叫做Remix。如果你在Mix经历了事件,在Remix更成熟之前,你最好寻找替代方案。

从创建一个新项目开始,它包括

合约
html 文件
JavaScript 文件
style 文件
image 文件
项目编辑器
你可以用项目来管理去中心化应用的创建和测试。项目会包括与后端和前端相关的数据以及和你的场景(区块链互动)相关的数据,用来排错和测试。相关文件 会被创建并自动保存到项目目录中。

创建一个新项目
去中心化应用的开发始于新项目的创建。在“编辑”菜单创建一个新项目。进入项目名称,比如 “等级”,选择项目文件路径。

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

1
2
3
4
5
6
contract Rating {
  function setRating(bytes32 _key, uint256 _value) {
    ratings[_key] = _value;
    mapping (bytes32 => uint256) public ratings;
  }
}
查看Solidity教程寻求帮助,以solidity编程语言开始。

保存变动

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 .... <script>
function getRating() {
  var param = document.getElementById(“query”).value;
  var res = contracts[“Rating”].contract.ratings(param);
  document.getElementById(“queryres”).innerText = res;
}
function setRating() {
        var key = document.getElementById("key").value;
        var value = parseInt(document.getElementById("value").value);
        var res = contracts["Rating"].contract.setRating(key, value);
}
</script>
    </head>
    <body bgcolor="#E6E6FA">
        <h1>Ratings</h1>
<div> Store:
            <input type="string" id="key">
            <input type="number" id="value">
            <button onclick="setRating()">Save</button>
</div> <div>
            Query:
            <input type="string" id="query" onkeyup='getRating()'>
            <div id="queryres"></div>
        </div>
    </body>
</html>
有可能添加很多合约文件和HTML, JavaScript, css文件

场景编辑器
场景可以用于检测合约和为合约排错。

一个场景就是一个本地区块链,区块可以在这里被挖矿而不需要工作量证明 –否则测试会很慢 ;)

一个场景包含一系列交易。通常,一个场景以去中心化应用的合约创建场景开始。 此外,进一步的交易会被添加测试并对去中心化应用排错。场景可以修正,例如,移除交易。注意如果要修正一个场景使之有效,需要进行重建。可以通过JS API用JS进行进一步测试。

万一打不开,可以点击F7或Windows > 展示右侧或主界面右上方的排错按钮来进入场景和排错器窗格。

http://m.8btc.com/ide-mix