github.com/jonasnick/go-ethereum@v0.7.12-0.20150216215225-22176f05d387/cmd/mist/assets/ext/ethereum.js/example/natspec_contract.html (about) 1 <!doctype> 2 <html> 3 4 <head> 5 <script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script> 6 <script type="text/javascript" src="../dist/ethereum.js"></script> 7 <script type="text/javascript"> 8 9 var web3 = require('web3'); 10 web3.setProvider(new web3.providers.QtSyncProvider()); 11 12 // solidity source code 13 var source = "" + 14 "contract test {\n" + 15 " /// @notice Will multiply `a` by 7. \n" + 16 " function multiply(uint a) returns(uint d) {\n" + 17 " return a * 7;\n" + 18 " }\n" + 19 "}\n"; 20 21 // contract description, this will be autogenerated somehow 22 var desc = [{ 23 "name": "multiply(uint256)", 24 "type": "function", 25 "inputs": [ 26 { 27 "name": "a", 28 "type": "uint256" 29 } 30 ], 31 "outputs": [ 32 { 33 "name": "d", 34 "type": "uint256" 35 } 36 ] 37 }]; 38 39 var contract; 40 41 function createExampleContract() { 42 // hide create button 43 document.getElementById('create').style.visibility = 'hidden'; 44 document.getElementById('source').innerText = source; 45 46 // create contract 47 var address = web3.eth.transact({code: web3.eth.solidity(source)}); 48 contract = web3.eth.contract(address, desc); 49 document.getElementById('call').style.visibility = 'visible'; 50 } 51 52 function callExampleContract() { 53 // this should be generated by ethereum 54 var param = parseInt(document.getElementById('value').value); 55 56 // transaction does not return any result, cause it's not synchronous and we don't know, 57 // when it will be processed 58 contract.transact().multiply(param); 59 document.getElementById('result').innerText = 'transaction made'; 60 } 61 62 </script> 63 </head> 64 <body> 65 <h1>contract</h1> 66 <div id="source"></div> 67 <div id='create'> 68 <button type="button" onClick="createExampleContract();">create example contract</button> 69 </div> 70 <div id='call' style='visibility: hidden;'> 71 <input type="number" id="value"></input> 72 <button type="button" onClick="callExampleContract()">Call Contract</button> 73 </div> 74 <div id="result"></div> 75 </body> 76 </html> 77