Ich versuche, einen Vertrag mit meinem privaten RPC-Server zu verbinden. Ich möchte in der Lage sein, einen Zähler Parameter auf meiner HTML-Seite zu aktualisieren, die wiederum auf meine Solidität Vertragsdatei und Updates in meinem Browser verweist. Allerdings laufe ich weiter unten in den folgenden Fehler für meine HTML-Datei. index.html und contract.sol enthält auch unten. TY!Web3 Rückruf Problem für Funktion - Solidität
<!doctype html>
<html>
<head>
<title>myDapp</title>
<script src="web3.js/dist/web3.min.js"></script>
<script type="text/javascript">
var contract_address = "0x68FDbd58D28BeD866E07906f6129bAC86161e243";
var contract_abi = [ { "constant": true, "inputs": [], "name": "getCreator", "outputs": [ { "name": "", "type": "address", "value": "0xc0f0fb70a63e7b345932da8eb427463f586be95d" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "kill", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "myNewNumber", "type": "uint256" } ], "name": "setMyNumber", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "getMyNumber", "outputs": [ { "name": "", "type": "uint256", "value": "3" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor" } ];
if (typeof web3 !== 'undefined') {
web3 = new Web3(web3.currentProvider);
} else {
// set the provider you want from Web3.providers
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}
var contract_instance = web3.eth.contract(contract_abi).at(contract_address);
console.log(contract_instance);
function getCounter() {
document.getElementById("myCounter").innerText = contract_instance.getMyNumber().toNumber().call;
}
</script>
</head>
<body>
<h1>Interact with a contract</h1>
<button onclick="getCounter()">Update Counter</button>
<button onclick="increaseCounter()">Increase Counter</button>
<span id="myCounter"></span> Counter
</body>
</html>
contract.sol
pragma solidity ^0.4.15;
contract MyContract {
address creator;
uint256 myNumber;
function MyContract() public {
creator = msg.sender;
myNumber = 3;
}
function getCreator() public constant returns(address) {
return creator;
}
function getMyNumber() public constant returns(uint256) {
return myNumber;
}
function setMyNumber(uint256 myNewNumber) public {
myNumber = myNewNumber;
}
function kill() public {
if(msg.sender == creator) {
selfdestruct(creator);
}
}
}
[** Veröffentlichen Sie keine Bilder von Code oder Fehlern! **] (https://meta.stackoverflow.com/q/303812/995714) Bilder und Screenshots können eine nette Ergänzung zu einem Beitrag sein, aber bitte machen Sie sicher, dass die Post immer noch klar und nützlich ohne sie ist. Wenn Sie Bilder von Code oder Fehlermeldungen veröffentlichen, stellen Sie sicher, dass Sie auch den tatsächlichen Code/die Nachricht kopieren und einfügen oder direkt in den Beitrag eingeben. – Rob