diff options
author | obscuren <geffobscura@gmail.com> | 2015-02-13 22:05:56 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-02-13 22:05:56 +0800 |
commit | a5ea21cd85530eee6eb1bb83c37c20d009f11f74 (patch) | |
tree | e5be5bd595139ff7dfbe6261e1e659d8e7dd6f9c /cmd/mist/assets/ext/ethereum.js/example | |
parent | db24fb792cf0dab91bc85e79aecf6758349002a4 (diff) | |
parent | 38faf2c51a1e4a86cda5dfa1b4f7fdae4fd7f58d (diff) | |
download | go-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.tar go-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.tar.gz go-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.tar.bz2 go-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.tar.lz go-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.tar.xz go-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.tar.zst go-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.zip |
merge
Diffstat (limited to 'cmd/mist/assets/ext/ethereum.js/example')
7 files changed, 369 insertions, 33 deletions
diff --git a/cmd/mist/assets/ext/ethereum.js/example/balance.html b/cmd/mist/assets/ext/ethereum.js/example/balance.html index d0bf094ef..616d4eb6f 100644 --- a/cmd/mist/assets/ext/ethereum.js/example/balance.html +++ b/cmd/mist/assets/ext/ethereum.js/example/balance.html @@ -2,28 +2,30 @@ <html> <head> -<script type="text/javascript" src="js/es6-promise/promise.min.js"></script> +<script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script> <script type="text/javascript" src="../dist/ethereum.js"></script> <script type="text/javascript"> var web3 = require('web3'); - web3.setProvider(new web3.providers.AutoProvider()); + web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8080')); function watchBalance() { var coinbase = web3.eth.coinbase; var originalBalance = 0; - web3.eth.balanceAt(coinbase).then(function (balance) { - originalBalance = web3.toDecimal(balance); - document.getElementById('original').innerText = 'original balance: ' + originalBalance + ' watching...'; - }); + var balance = web3.eth.balanceAt(coinbase); + var originalBalance = web3.toDecimal(balance); + document.getElementById('original').innerText = 'original balance: ' + originalBalance + ' watching...'; - web3.eth.watch({altered: coinbase}).changed(function() { - web3.eth.balanceAt(coinbase).then(function (balance) { - var currentBalance = web3.toDecimal(balance); - document.getElementById("current").innerText = 'current: ' + currentBalance; - document.getElementById("diff").innerText = 'diff: ' + (currentBalance - originalBalance); - }); +<<<<<<< HEAD:cmd/mist/assets/ext/ethereum.js/example/balance.html + var filter = web3.eth.watch({address: coinbase}).changed(function() { +======= + web3.eth.watch('pending').changed(function() { +>>>>>>> 859a1999cb204d2c6fcb08d6569c738c5af5cd86:example/balance.html + balance = web3.eth.balanceAt(coinbase) + var currentBalance = web3.toDecimal(balance); + document.getElementById("current").innerText = 'current: ' + currentBalance; + document.getElementById("diff").innerText = 'diff: ' + (currentBalance - originalBalance); }); } diff --git a/cmd/mist/assets/ext/ethereum.js/example/contract.html b/cmd/mist/assets/ext/ethereum.js/example/contract.html index 403d8c9d1..a534f68d8 100644 --- a/cmd/mist/assets/ext/ethereum.js/example/contract.html +++ b/cmd/mist/assets/ext/ethereum.js/example/contract.html @@ -2,12 +2,12 @@ <html> <head> -<script type="text/javascript" src="js/es6-promise/promise.min.js"></script> +<script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script> <script type="text/javascript" src="../dist/ethereum.js"></script> <script type="text/javascript"> var web3 = require('web3'); - web3.setProvider(new web3.providers.AutoProvider()); + web3.setProvider(new web3.providers.HttpSyncProvider()); // solidity source code var source = "" + @@ -19,7 +19,8 @@ // contract description, this will be autogenerated somehow var desc = [{ - "name": "multiply", + "name": "multiply(uint256)", + "type": "function", "inputs": [ { "name": "a", @@ -42,10 +43,9 @@ document.getElementById('source').innerText = source; // create contract - web3.eth.transact({code: web3.eth.solidity(source)}).then(function (address) { - contract = web3.contract(address, desc); - document.getElementById('call').style.visibility = 'visible'; - }); + var address = web3.eth.transact({code: web3.eth.solidity(source)}); + contract = web3.eth.contract(address, desc); + document.getElementById('call').style.visibility = 'visible'; } function callExampleContract() { @@ -53,9 +53,8 @@ var param = parseInt(document.getElementById('value').value); // call the contract - contract.multiply(param).call().then(function(res) { - document.getElementById('result').innerText = res[0]; - }); + var res = contract.call().multiply(param); + document.getElementById('result').innerText = res.toString(10); } </script> diff --git a/cmd/mist/assets/ext/ethereum.js/example/contract_with_array.html b/cmd/mist/assets/ext/ethereum.js/example/contract_with_array.html new file mode 100644 index 000000000..a3dfc8a24 --- /dev/null +++ b/cmd/mist/assets/ext/ethereum.js/example/contract_with_array.html @@ -0,0 +1,76 @@ +<!doctype> +<html> + +<head> +<script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script> +<script type="text/javascript" src="../dist/ethereum.js"></script> +<script type="text/javascript"> + + var web3 = require('web3'); + web3.setProvider(new web3.providers.HttpSyncProvider()); + + // solidity source code + var source = "" + + "contract test {\n" + + " function multiply(uint[] a) returns(uint d) {\n" + + " return a[0] + a[1];\n" + + " }\n" + + "}\n"; + + // contract description, this will be autogenerated somehow + var desc = [{ + "name": "multiply(uint256[])", + "type": "function", + "inputs": [ + { + "name": "a", + "type": "uint256[]" + } + ], + "outputs": [ + { + "name": "d", + "type": "uint256" + } + ] + }]; + + var contract; + + function createExampleContract() { + // hide create button + document.getElementById('create').style.visibility = 'hidden'; + document.getElementById('source').innerText = source; + + // create contract + var address = web3.eth.transact({code: web3.eth.solidity(source)}); + contract = web3.eth.contract(address, desc); + document.getElementById('call').style.visibility = 'visible'; + } + + function callExampleContract() { + // this should be generated by ethereum + var param = parseInt(document.getElementById('value').value); + var param2 = parseInt(document.getElementById('value2').value); + + // call the contract + var res = contract.call().multiply([param, param2]); + document.getElementById('result').innerText = res.toString(10); + } + +</script> +</head> +<body> + <h1>contract</h1> + <div id="source"></div> + <div id='create'> + <button type="button" onClick="createExampleContract();">create example contract</button> + </div> + <div id='call' style='visibility: hidden;'> + <input type="number" id="value" onkeyup='callExampleContract()'></input> + <input type="number" id="value2" onkeyup='callExampleContract()'></input> + </div> + <div id="result"></div> +</body> +</html> + diff --git a/cmd/mist/assets/ext/ethereum.js/example/event.html b/cmd/mist/assets/ext/ethereum.js/example/event.html new file mode 100644 index 000000000..84d302437 --- /dev/null +++ b/cmd/mist/assets/ext/ethereum.js/example/event.html @@ -0,0 +1,120 @@ +<!doctype> +<html> + <head> + <script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script> + <script type="text/javascript" src="../dist/ethereum.js"></script> + <script type="text/javascript"> + var web3 = require('web3'); + web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8080')); + + var desc = [{ + "type":"event", + "inputs": [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}], + "name":"Event" + }, { + "type":"event", + "inputs": [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}], + "name":"Event2" + }, { + "type":"function", + "inputs": [{"name":"a","type":"uint256"}], + "name":"foo", + "outputs": [] + }]; + + var address = '0x01'; + + var contract = web3.eth.contract(address, desc); + + function test1() { + // "{"topic":["0x83c9849c","0xc4d76332"],"address":"0x01"}" + web3.eth.watch(contract).changed(function (res) { + + }); + }; + + function test2() { + // "{"topic":["0x83c9849c"],"address":"0x01"}" + web3.eth.watch(contract.Event).changed(function (res) { + + }); + }; + + function test3() { + // "{"topic":["0x83c9849c"],"address":"0x01"}" + contract.Event().changed(function (res) { + + }); + }; + + function test4() { + // "{"topic":["0x83c9849c","0000000000000000000000000000000000000000000000000000000000000045"],"address":"0x01"}" + contract.Event({a: 69}).changed(function (res) { + + }); + }; + + function test5() { + // "{"topic":["0x83c9849c",["0000000000000000000000000000000000000000000000000000000000000045","000000000000000000000000000000000000000000000000000000000000002a"]],"address":"0x01"}" + contract.Event({a: [69, 42]}).changed(function (res) { + + }); + }; + + function test6() { + // "{"topic":["0x83c9849c","000000000000000000000000000000000000000000000000000000000000001e"],"max":100,"address":"0x01"}" + contract.Event({a: 30}, {max: 100}).changed(function (res) { + + }); + }; + + function test7() { + // "{"topic":["0x83c9849c","000000000000000000000000000000000000000000000000000000000000001e"],"address":"0x01"}" + web3.eth.watch(contract.Event, {a: 30}).changed(function (res) { + + }); + }; + + function test8() { + // "{"topic":["0x83c9849c","000000000000000000000000000000000000000000000000000000000000001e"],"max":100,"address":"0x01"}" + web3.eth.watch(contract.Event, {a: 30}, {max: 100}).changed(function (res) { + + }); + }; + + // not valid + // function testX() { + // web3.eth.watch([contract.Event, contract.Event2]).changed(function (res) { + // }); + // }; + + </script> + </head> + + <body> + <div> + <button type="button" onClick="test1();">test1</button> + </div> + <div> + <button type="button" onClick="test2();">test2</button> + </div> + <div> + <button type="button" onClick="test3();">test3</button> + </div> + <div> + <button type="button" onClick="test4();">test4</button> + </div> + <div> + <button type="button" onClick="test5();">test5</button> + </div> + <div> + <button type="button" onClick="test6();">test6</button> + </div> + <div> + <button type="button" onClick="test7();">test7</button> + </div> + <div> + <button type="button" onClick="test8();">test8</button> + </div> + </body> +</html> diff --git a/cmd/mist/assets/ext/ethereum.js/example/event_inc.html b/cmd/mist/assets/ext/ethereum.js/example/event_inc.html new file mode 100644 index 000000000..17df9d681 --- /dev/null +++ b/cmd/mist/assets/ext/ethereum.js/example/event_inc.html @@ -0,0 +1,66 @@ +<!doctype> +<html> + <head> + <script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script> + <script type="text/javascript" src="../dist/ethereum.js"></script> + <script type="text/javascript"> + var web3 = require('web3'); + web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8080')); + + var source = "" + + "contract Contract { " + + " event Incremented(bool indexed odd, uint x); " + + " function Contract() { " + + " x = 69; " + + " } " + + " function inc() { " + + " ++x; " + + " Incremented(x % 2 == 1, x); " + + " } " + + " uint x; " + + "}"; + + var desc = [{ + "type":"event", + "name":"Incremented", + "inputs": [{"name":"odd","type":"bool","indexed":true},{"name":"x","type":"uint","indexed":false}], + }, { + "type":"function", + "name":"inc", + "inputs": [], + "outputs": [] + }]; + + var address; + var contract; + + var update = function (x) { + document.getElementById('result').innerText = JSON.stringify(x); + }; + + var createContract = function () { + address = web3.eth.transact({code: web3.eth.solidity(source)}); + contract = web3.eth.contract(address, desc); + contract.Incremented({odd: true}).changed(update); + + }; + + var callContract = function () { + contract.call().inc(); + }; + + + </script> + </head> + + <body> + <div> + <button type="button" onClick="createContract();">create contract</button> + </div> + <div> + <button type="button" onClick="callContract();">test1</button> + </div> + <div id="result"> + </div> + </body> +</html> diff --git a/cmd/mist/assets/ext/ethereum.js/example/natspec_contract.html b/cmd/mist/assets/ext/ethereum.js/example/natspec_contract.html new file mode 100644 index 000000000..212e582dc --- /dev/null +++ b/cmd/mist/assets/ext/ethereum.js/example/natspec_contract.html @@ -0,0 +1,77 @@ +<!doctype> +<html> + +<head> +<script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script> +<script type="text/javascript" src="../dist/ethereum.js"></script> +<script type="text/javascript"> + + var web3 = require('web3'); + web3.setProvider(new web3.providers.QtSyncProvider()); + + // solidity source code + var source = "" + + "contract test {\n" + + " /// @notice Will multiply `a` by 7. \n" + + " function multiply(uint a) returns(uint d) {\n" + + " return a * 7;\n" + + " }\n" + + "}\n"; + + // contract description, this will be autogenerated somehow + var desc = [{ + "name": "multiply(uint256)", + "type": "function", + "inputs": [ + { + "name": "a", + "type": "uint256" + } + ], + "outputs": [ + { + "name": "d", + "type": "uint256" + } + ] + }]; + + var contract; + + function createExampleContract() { + // hide create button + document.getElementById('create').style.visibility = 'hidden'; + document.getElementById('source').innerText = source; + + // create contract + var address = web3.eth.transact({code: web3.eth.solidity(source)}); + contract = web3.eth.contract(address, desc); + document.getElementById('call').style.visibility = 'visible'; + } + + function callExampleContract() { + // this should be generated by ethereum + var param = parseInt(document.getElementById('value').value); + + // transaction does not return any result, cause it's not synchronous and we don't know, + // when it will be processed + contract.transact().multiply(param); + document.getElementById('result').innerText = 'transaction made'; + } + +</script> +</head> +<body> + <h1>contract</h1> + <div id="source"></div> + <div id='create'> + <button type="button" onClick="createExampleContract();">create example contract</button> + </div> + <div id='call' style='visibility: hidden;'> + <input type="number" id="value"></input> + <button type="button" onClick="callExampleContract()">Call Contract</button> + </div> + <div id="result"></div> +</body> +</html> + diff --git a/cmd/mist/assets/ext/ethereum.js/example/node-app.js b/cmd/mist/assets/ext/ethereum.js/example/node-app.js index f63fa9115..8c2fc0ba3 100644 --- a/cmd/mist/assets/ext/ethereum.js/example/node-app.js +++ b/cmd/mist/assets/ext/ethereum.js/example/node-app.js @@ -1,16 +1,12 @@ #!/usr/bin/env node -require('es6-promise').polyfill(); - var web3 = require("../index.js"); -web3.setProvider(new web3.providers.HttpRpcProvider('http://localhost:8080')); +web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8080')); + +var coinbase = web3.eth.coinbase; +console.log(coinbase); + +var balance = web3.eth.balanceAt(coinbase); +console.log(balance); -web3.eth.coinbase.then(function(result){ - console.log(result); - return web3.eth.balanceAt(result); -}).then(function(balance){ - console.log(web3.toDecimal(balance)); -}).catch(function(err){ - console.log(err); -});
\ No newline at end of file |