Solididity HTML 脚本啥都不做

Posted

技术标签:

【中文标题】Solididity HTML 脚本啥都不做【英文标题】:Soldidity HTML script does nothingSolididity HTML 脚本什么都不做 【发布时间】:2018-10-09 03:49:45 【问题描述】:

我正在尝试制作一个基本的solidity合约:

pragma solidity ^0.4.11;
contract sample 
 string public name = "NAME";
function set(string _name) 
   name = _name;

function get() constant returns (string) 
  return name;


我正在使用这个 html 文件让我输入合同:

    <html>
 <head>
  <title>Blockchain</title>
 </head>
 <body class="container">
  <h3>Blockchain</h3>
   <div class="tab-content">
   <div role="tabpanel" class="tab-pane active" id="blockchain">
   <div class="form-group form-inline">
    <input type="text" class="text form-control" value="TEXT HERE">
      <button class="set btn btn-primary">Set Value</button>
   </div>
  <h3> 2. Get the current value</h3>
   <div class="form-group">
   <div>
     current value is <span class="value"></span>
   </div>
    <button class="get btn btn-primary">Get Value</button>
   </div>
   </div>
   </div>
</body>
  <script src="web3.js-develop/dist/web3.js">
    var Web3 = require(‘web3’);
    var web3 = new Web3();
    web3.setProvider(new web3.providers.HttpProvider("http://localhost:8545"));
    var sampleContractABI = ["constant": true,"inputs": [],"name": "name","outputs": [     "name": "",   "type": "string"  ],"payable": false,"stateMutability": "view","type": "function","constant": false,"inputs": [      "name": "_name",    "type": "string"  ],"name": "set","outputs": [],"payable": false,"stateMutability": "nonpayable","type": "function",  "constant": true,  "inputs": [],  "name": "get",  "outputs": [          "name": "",      "type": "string"      ],  "payable": false,  "stateMutability": "view",  "type": "function"];
    var sampleContract = web3.eth.contract(sampleContractABI);
    var sampleContractInstance = sampleContract.at(0xF215eaC1b9E82DeF712B6889a0adB24fAf216250);
    $("#blockchain button.set").click(function() 
  var value = $("#blockchain input.text").val();
  var params = 
    gas: 40000,
    from: 
  ;
  SimpleStorage.sendTransaction.set(value, params);
  );
  $("#blockchain button.get").click(function() 
  var value = SimpleStorage.get.call();
  $("#blockchain .value").html(value);
  );
  </script>
</html>

但是当我进入框并点击设置值,然后稍等片刻并点击获取值时,什么都没有发生。谁能告诉我我做错了什么。

【问题讨论】:

您在浏览器控制台中看到错误吗?我希望 SimpleStorage.sendTransaction 未定义,但这会产生错误消息。 @smarx 我在控制台中什么也没有。 哦,看起来您的所有代码都包含在带有src 属性的script 标记中?我不确定代码是否会运行。 它也在body 标签之外。我不确定这是否有效。 尝试,在body 标签内:&lt;script src="web3.js-develop/dist/web3.js"&gt;&lt;/script&gt; 后跟&lt;script&gt;var Web3 = require('web3');...&lt;/script&gt;。另请注意,web3 周围的引号目前是错误的。 (' 【参考方案1】:

我修复了它,只是重写了整个脚本。

【讨论】:

以上是关于Solididity HTML 脚本啥都不做的主要内容,如果未能解决你的问题,请参考以下文章

如果存在,如何包含外部 html,否则啥都不做?

运行 ng build 时,index.html 啥都不做?

JQuery 表单验证啥都不做

Sencha Touch 2 谷歌地图啥都不做

拯救错误啥都不做?

UIViewController presentModalViewController:动画:啥都不做?