github.com/jonasnick/go-ethereum@v0.7.12-0.20150216215225-22176f05d387/cmd/mist/assets/ext/ethereum.js/example/event_inc.html (about) 1 <!doctype> 2 <html> 3 <head> 4 <script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script> 5 <script type="text/javascript" src="../dist/ethereum.js"></script> 6 <script type="text/javascript"> 7 var web3 = require('web3'); 8 web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8080')); 9 10 var source = "" + 11 "contract Contract { " + 12 " event Incremented(bool indexed odd, uint x); " + 13 " function Contract() { " + 14 " x = 69; " + 15 " } " + 16 " function inc() { " + 17 " ++x; " + 18 " Incremented(x % 2 == 1, x); " + 19 " } " + 20 " uint x; " + 21 "}"; 22 23 var desc = [{ 24 "type":"event", 25 "name":"Incremented", 26 "inputs": [{"name":"odd","type":"bool","indexed":true},{"name":"x","type":"uint","indexed":false}], 27 }, { 28 "type":"function", 29 "name":"inc", 30 "inputs": [], 31 "outputs": [] 32 }]; 33 34 var address; 35 var contract; 36 37 var update = function (x) { 38 document.getElementById('result').innerText = JSON.stringify(x); 39 }; 40 41 var createContract = function () { 42 address = web3.eth.transact({code: web3.eth.solidity(source)}); 43 contract = web3.eth.contract(address, desc); 44 contract.Incremented({odd: true}).changed(update); 45 46 }; 47 48 var callContract = function () { 49 contract.call().inc(); 50 }; 51 52 53 </script> 54 </head> 55 56 <body> 57 <div> 58 <button type="button" onClick="createContract();">create contract</button> 59 </div> 60 <div> 61 <button type="button" onClick="callContract();">test1</button> 62 </div> 63 <div id="result"> 64 </div> 65 </body> 66 </html>