Nebulas-03 使用星云WEB钱包部署合约
下载安装web端钱包
地址:https://github.com/nebulasio/web-wallet
结构目录如下:
部署合约
打开刚下载的钱包目录,打开index.html, 展示页面如下
默认打开是英文页面,右上角有语言选择,切换到中文即可
接下来点击 合约,这里我们切换到本地网络部署,方法如下
最终页面展示如下:
以下代码是官方提供的合约内容,可直接粘贴使用。
"use strict";
varDictItem=function(text) {
if(text) {
varobj=JSON.parse(text);
this.key=obj.key;
this.value=obj.value;
this.author=obj.author;
}else{
this.key="";
this.author="";
this.value="";
}
};
DictItem.prototype={
toString:function() {
returnJSON.stringify(this);
}
};
varSuperDictionary=function() {
LocalContractStorage.defineMapProperty(this,"repo", {
parse:function(text) {
returnnewDictItem(text);
},
stringify:function(o) {
returno.toString();
}
});
};
SuperDictionary.prototype={
init:function() {
// todo
},
save:function(key,value) {
key=key.trim();
value=value.trim();
if(key===""||value===""){
thrownewError("empty key / value");
}
if(value.length>64||key.length>64){
thrownewError("key / value exceed limit length")
}
varfrom=Blockchain.transaction.from;
vardictItem=this.repo.get(key);
if(dictItem){
thrownewError("value has been occupied");
}
dictItem=newDictItem();
dictItem.author=from;
dictItem.key=key;
dictItem.value=value;
this.repo.put(key,dictItem);
},
get:function(key) {
key=key.trim();
if(key==="") {
thrownewError("empty key")
}
returnthis.repo.get(key);
}
};
module.exports=SuperDictionary;
现在需要把上面提到的智能合约粘贴到“合约代码”一栏中:
注意:星云链合约支持javascript和typescript两种语言。
智能合约必须完整地复制到“合约”一栏中(手动输入可能导致无效)
参数 一栏空着即可 此智能合约使用JavaScript语言书写,
单击“选择你的钱包文件”来选择秘钥文件,然后单击“解锁”,你将看到以下信息:
有些同学打开可能会报网络错误,如下:
解决方法
检查本地的种子节点和矿工节点是否启动。
如果第一步启动还报错,就到安装的星云链主目录下找到 conf文件夹 >default文件夹 > config.conf,修改配置,如下
上述步骤完成后单击“测试”,检查智能合约有无错误。
因为我之前有向这个钱包转了NAS,所以显示成功,但是如果第一次操作,大部分测试结果显示“余额不足”。因为账户里没有NAS,这是需要你往钱包转点NAS了,当然转的事本地链上的。
点击“提交”继续操作,这时会收到一个 TX Hash地址和一个智能合约地址。保存这两个地址以查看交易。
接下来让我们搜索我们自己的合约。 向上滑动鼠标至页面顶端,单击“搜索”选项卡
键入我们保存的TxHash地址,单击“搜索”选项
这一步结束后会看到原始的智能合约
这样就成功的了解了如何在星云网络上部署智能合约以及搜索合约。
版权声明:博客中的文章版权归博主所有,未经授权,禁止转载,转载请注明出处,联系方式:lixuan111222(微信)