Nebulas-03 使用星云WEB钱包部署合约

发布时间:2018年10月16日 价值:20000.00 / 共识:30

Nebulas-03 使用星云WEB钱包部署合约

下载安装web端钱包

地址:https://github.com/nebulasio/web-wallet

结构目录如下:

部署合约

打开刚下载的钱包目录,打开index.html, 展示页面如下

默认打开是英文页面,右上角有语言选择,切换到中文即可

接下来点击 合约,这里我们切换到本地网络部署,方法如下

最终页面展示如下:

以下代码是官方提供的合约内容,可直接粘贴使用。

  1. "use strict";
  2. var DictItem = function(text) {
  3. if (text) {
  4. var obj = JSON.parse(text);
  5. this.key = obj.key;
  6. this.value = obj.value;
  7. this.author = obj.author;
  8. } else {
  9. this.key = "";
  10. this.author = "";
  11. this.value = "";
  12. }
  13. };
  14. DictItem.prototype = {
  15. toString: function() {
  16. return JSON.stringify(this);
  17. }
  18. };
  19. var SuperDictionary = function() {
  20. LocalContractStorage.defineMapProperty(this, "repo", {
  21. parse: function(text) {
  22. return new DictItem(text);
  23. },
  24. stringify: function(o) {
  25. return o.toString();
  26. }
  27. });
  28. };
  29. SuperDictionary.prototype = {
  30. init: function() {
  31. // todo
  32. },
  33. save: function(key, value) {
  34. key = key.trim();
  35. value = value.trim();
  36. if (key === "" || value ==="") {
  37. throw new Error("empty key / value");
  38. }
  39. if (value.length > 64 || key.length > 64) {
  40. throw new Error("key / value exceed limit length")
  41. }
  42. var from = Blockchain.transaction.from;
  43. var dictItem = this.repo.get(key);
  44. if (dictItem) {
  45. throw new Error("value has been occupied");
  46. }
  47. dictItem = new DictItem();
  48. dictItem.author = from;
  49. dictItem.key = key;
  50. dictItem.value = value;
  51. this.repo.put(key,dictItem);
  52. },
  53. get: function(key) {
  54. key = key.trim();
  55. if (key === "") {
  56. throw new Error("empty key")
  57. }
  58. return this.repo.get(key);
  59. }
  60. };
  61. module.exports = SuperDictionary;

现在需要把上面提到的智能合约粘贴到“合约代码”一栏中:

注意:星云链合约支持javascript和typescript两种语言。

智能合约必须完整地复制到“合约”一栏中(手动输入可能导致无效)

参数 一栏空着即可 此智能合约使用JavaScript语言书写,

单击“选择你的钱包文件”来选择秘钥文件,然后单击“解锁”,你将看到以下信息:

有些同学打开可能会报网络错误,如下:

解决方法

检查本地的种子节点和矿工节点是否启动。

如果第一步启动还报错,就到安装的星云链主目录下找到 conf文件夹 > default文件夹 > config.conf,修改配置,如下

上述步骤完成后单击“测试”,检查智能合约有无错误。

因为我之前有向这个钱包转了NAS, 所以显示成功,但是如果第一次操作,大部分测试结果显示“余额不足”。因为账户里没有NAS,这是需要你往钱包转点NAS了,当然转的事本地链上的。

点击“提交”继续操作,这时会收到一个TX Hash地址和一个智能合约地址。保存这两个地址以查看交易。

接下来让我们搜索我们自己的合约。 向上滑动鼠标至页面顶端,单击“搜索”选项卡

键入我们保存的TxHash地址,单击“搜索”选项

这一步结束后会看到原始的智能合约

这样就成功的了解了如何在星云网络上部署智能合约以及搜索合约。

  • 分享 收藏
0 条评论
  • 这篇文章暂无评论,赶紧评论一下吧~