github.com/jonasnick/go-ethereum@v0.7.12-0.20150216215225-22176f05d387/cmd/mist/assets/ext/ethereum.js/example/contract_with_array.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.HttpSyncProvider()); 11 12 // solidity source code 13 var source = "" + 14 "contract test {\n" + 15 " function multiply(uint[] a) returns(uint d) {\n" + 16 " return a[0] + a[1];\n" + 17 " }\n" + 18 "}\n"; 19 20 // contract description, this will be autogenerated somehow 21 var desc = [{ 22 "name": "multiply(uint256[])", 23 "type": "function", 24 "inputs": [ 25 { 26 "name": "a", 27 "type": "uint256[]" 28 } 29 ], 30 "outputs": [ 31 { 32 "name": "d", 33 "type": "uint256" 34 } 35 ] 36 }]; 37 38 var contract; 39 40 function createExampleContract() { 41 // hide create button 42 document.getElementById('create').style.visibility = 'hidden'; 43 document.getElementById('source').innerText = source; 44 45 // create contract 46 var address = web3.eth.transact({code: web3.eth.solidity(source)}); 47 contract = web3.eth.contract(address, desc); 48 document.getElementById('call').style.visibility = 'visible'; 49 } 50 51 function callExampleContract() { 52 // this should be generated by ethereum 53 var param = parseInt(document.getElementById('value').value); 54 var param2 = parseInt(document.getElementById('value2').value); 55 56 // call the contract 57 var res = contract.call().multiply([param, param2]); 58 document.getElementById('result').innerText = res.toString(10); 59 } 60 61 </script> 62 </head> 63 <body> 64 <h1>contract</h1> 65 <div id="source"></div> 66 <div id='create'> 67 <button type="button" onClick="createExampleContract();">create example contract</button> 68 </div> 69 <div id='call' style='visibility: hidden;'> 70 <input type="number" id="value" onkeyup='callExampleContract()'></input> 71 <input type="number" id="value2" onkeyup='callExampleContract()'></input> 72 </div> 73 <div id="result"></div> 74 </body> 75 </html> 76