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
标签内:<script src="web3.js-develop/dist/web3.js"></script>
后跟<script>var Web3 = require('web3');...</script>
。另请注意,web3
周围的引号目前是错误的。 (‘
与 '
)
【参考方案1】:
我修复了它,只是重写了整个脚本。
【讨论】:
以上是关于Solididity HTML 脚本啥都不做的主要内容,如果未能解决你的问题,请参考以下文章