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>