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