diff options
author | obscuren <geffobscura@gmail.com> | 2015-01-30 03:39:26 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-01-30 03:39:26 +0800 |
commit | 0031f388ac1f6f4a23c5c75e5eeb4a007f0b2f31 (patch) | |
tree | 05a525e94ee55bd9c4a84301989176d40d76cb61 /cmd/mist | |
parent | 6488a392a347d0d47212fdc78386e3e0e5841d7d (diff) | |
download | go-tangerine-0031f388ac1f6f4a23c5c75e5eeb4a007f0b2f31.tar go-tangerine-0031f388ac1f6f4a23c5c75e5eeb4a007f0b2f31.tar.gz go-tangerine-0031f388ac1f6f4a23c5c75e5eeb4a007f0b2f31.tar.bz2 go-tangerine-0031f388ac1f6f4a23c5c75e5eeb4a007f0b2f31.tar.lz go-tangerine-0031f388ac1f6f4a23c5c75e5eeb4a007f0b2f31.tar.xz go-tangerine-0031f388ac1f6f4a23c5c75e5eeb4a007f0b2f31.tar.zst go-tangerine-0031f388ac1f6f4a23c5c75e5eeb4a007f0b2f31.zip |
More dapp samples
* Info DApp, coin DApp
* Additional rpc methods
Diffstat (limited to 'cmd/mist')
-rw-r--r-- | cmd/mist/assets/examples/coin.html | 89 | ||||
-rw-r--r-- | cmd/mist/assets/examples/info.html | 72 |
2 files changed, 161 insertions, 0 deletions
diff --git a/cmd/mist/assets/examples/coin.html b/cmd/mist/assets/examples/coin.html new file mode 100644 index 000000000..297d7e042 --- /dev/null +++ b/cmd/mist/assets/examples/coin.html @@ -0,0 +1,89 @@ +<!doctype> +<html> + +<head> +<script type="text/javascript" src="../ext/bignumber.min.js"></script> +<script type="text/javascript" src="../ext/ethereum.js/dist/ethereum.js"></script> +</head> +<body> + +<h1>JevCoin</h1> +<div> + <strong>Balance</strong> + <span id="balance"></strong> +</div> + +<div> + <span class="amount">Amount:</span> + <input type="text" id="address" style="width:200px"> + <input type="text" id="amount" style="width:200px"> + <button onclick="transact()">Send</button> +</div> + +<table width="100%" id="table"> +</table> + +</body> + +<script type="text/javascript"> + var web3 = require('web3'); + var eth = web3.eth; + + web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8080')); + var desc = [{ + "name": "balance(address)", + "inputs": [{ + "name": "who", + "type": "address" + }], + "const": true, + "outputs": [{ + "name": "value", + "type": "uint256" + }] + }, { + "name": "send(address,uint256)", + "inputs": [{ + "name": "to", + "type": "address" + }, { + "name": "value", + "type": "uint256" + }], + "outputs": [] + }]; + + var code = "0x60056011565b60ae8060356000396000f35b64174876e800600033600160a060020a031660005260205260406000208190555056006001600060e060020a600035048063d0679d34146022578063e3d670d714603457005b602e6004356024356047565b60006000f35b603d600435608d565b8060005260206000f35b80600083600160a060020a0316600052602052604060002090815401908190555080600033600160a060020a031660005260205260406000209081540390819055505050565b6000600082600160a060020a0316600052602052604060002054905091905056"; + var address = web3.eth.transact({ + data: code, + gasprice: "1000000000000000", + gas: "10000", + }); + var contract = web3.eth.contract(address, desc); + document.querySelector("#balance").innerHTML = contract.call().balance(eth.coinbase); + + function reflesh() { + var table = document.querySelector("#table"); + table.innerHTML = ""; // clear + + var storage = eth.storageAt(address); + for( var item in storage ) { + table.innerHTML += "<tr><td>"+item+"</td><td>"+web3.toDecimal(storage[item])+"</td></tr>"; + } + } + + function transact() { + //var to = "0x"+document.querySelector("#address").value; + var to = "0x4205b06c2cfa0e30359edcab94543266cb6fa1d3"; + console.log("to "+to); + var value = parseInt( document.querySelector("#amount").value ); + console.log("value "+value); + + contract.transact({gas: "10000", gasPrice: "1000000000000"}).send( to, value ); + } + + reflesh(); +</script> + +</html> + diff --git a/cmd/mist/assets/examples/info.html b/cmd/mist/assets/examples/info.html new file mode 100644 index 000000000..c4df8ea64 --- /dev/null +++ b/cmd/mist/assets/examples/info.html @@ -0,0 +1,72 @@ + +<!doctype> +<html> + +<head> +<script type="text/javascript" src="../ext/bignumber.min.js"></script> +<script type="text/javascript" src="../ext/ethereum.js/dist/ethereum.js"></script> +</head> +<body> + <h1>Info</h1> + + <table width="100%"> + <tr> + <td>Block number</td> + <td id="number"></td> + </tr> + + <tr> + <td>Peer count</td> + <td id="peer_count"></td> + </tr> + + <tr> + <td>Default block</td> + <td id="default_block"></td> + </tr> + + <tr> + <td>Accounts</td> + <td id="accounts"></td> + </tr> + + <tr> + <td>Gas price</td> + <td id="gas_price"></td> + </tr> + + <tr> + <td>Mining</td> + <td id="mining"></td> + </tr> + + <tr> + <td>Listening</td> + <td id="listening"></td> + </tr> + + <tr> + <td>Coinbase</td> + <td id="coinbase"></td> + </tr> + </table> +</body> + +<script type="text/javascript"> + var web3 = require('web3'); + var eth = web3.eth; + + web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8080')); + + document.querySelector("#number").innerHTML = eth.number; + document.querySelector("#coinbase").innerHTML = eth.coinbase + document.querySelector("#peer_count").innerHTML = eth.peerCount; + document.querySelector("#default_block").innerHTML = eth.defaultBlock; + document.querySelector("#accounts").innerHTML = eth.accounts; + document.querySelector("#gas_price").innerHTML = eth.gasPrice; + document.querySelector("#mining").innerHTML = eth.mining; + document.querySelector("#listening").innerHTML = eth.listening; +</script> + +</html> + |