From b2b42f759c54d9d1b0ba4d9419a4c9a4bd8e4234 Mon Sep 17 00:00:00 2001
From: Taylor Gerring <taylor.gerring@gmail.com>
Date: Mon, 2 Feb 2015 07:37:44 -0600
Subject: Update signature for rpc websockets

---
 cmd/utils/cmd.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'cmd')

diff --git a/cmd/utils/cmd.go b/cmd/utils/cmd.go
index 43ad88c55..c26dab44c 100644
--- a/cmd/utils/cmd.go
+++ b/cmd/utils/cmd.go
@@ -205,7 +205,7 @@ func StartWebSockets(eth *eth.Ethereum, wsPort int) {
 	clilogger.Infoln("Starting WebSockets")
 
 	var err error
-	eth.WsServer, err = rpcws.NewWebSocketServer(eth, wsPort)
+	eth.WsServer, err = rpcws.NewWebSocketServer(xeth.New(eth), wsPort)
 	if err != nil {
 		clilogger.Errorf("Could not start RPC interface (port %v): %v", wsPort, err)
 	} else {
-- 
cgit v1.2.3


From 1f4ed49b4c3400c8f567a29c70d4fb26df97f305 Mon Sep 17 00:00:00 2001
From: Taylor Gerring <taylor.gerring@gmail.com>
Date: Mon, 2 Feb 2015 13:04:00 -0600
Subject: Move hardcoded seed node address to app flag

Replaces functionality `-seed=true` with `-seed="ip:port"`
---
 cmd/ethereum/flags.go | 4 ++--
 cmd/ethereum/main.go  | 2 +-
 cmd/mist/flags.go     | 4 ++--
 cmd/mist/main.go      | 2 +-
 cmd/mist/ui_lib.go    | 2 +-
 cmd/utils/cmd.go      | 4 ++--
 6 files changed, 9 insertions(+), 9 deletions(-)

(limited to 'cmd')

diff --git a/cmd/ethereum/flags.go b/cmd/ethereum/flags.go
index e0fbbb008..9a0b00922 100644
--- a/cmd/ethereum/flags.go
+++ b/cmd/ethereum/flags.go
@@ -49,7 +49,7 @@ var (
 	AddPeer         string
 	MaxPeer         int
 	GenAddr         bool
-	UseSeed         bool
+	SeedNode        string
 	SecretFile      string
 	ExportDir       string
 	NonInteractive  bool
@@ -101,7 +101,7 @@ func Init() {
 	flag.BoolVar(&StartRpc, "rpc", false, "start rpc server")
 	flag.BoolVar(&StartWebSockets, "ws", false, "start websocket server")
 	flag.BoolVar(&NonInteractive, "y", false, "non-interactive mode (say yes to confirmations)")
-	flag.BoolVar(&UseSeed, "seed", true, "seed peers")
+	flag.StringVar(&SeedNode, "seednode", "poc-8.ethdev.com:30303", "ip:port of seed node to connect to. Set to blank for skip")
 	flag.BoolVar(&SHH, "shh", true, "whisper protocol (on)")
 	flag.BoolVar(&Dial, "dial", true, "dial out connections (on)")
 	flag.BoolVar(&GenAddr, "genaddr", false, "create a new priv/pub key")
diff --git a/cmd/ethereum/main.go b/cmd/ethereum/main.go
index 288040ee7..4b16fb79f 100644
--- a/cmd/ethereum/main.go
+++ b/cmd/ethereum/main.go
@@ -134,7 +134,7 @@ func main() {
 		utils.StartWebSockets(ethereum, WsPort)
 	}
 
-	utils.StartEthereum(ethereum, UseSeed)
+	utils.StartEthereum(ethereum, SeedNode)
 
 	if StartJsConsole {
 		InitJsConsole(ethereum)
diff --git a/cmd/mist/flags.go b/cmd/mist/flags.go
index 9dc3ae10a..05881a494 100644
--- a/cmd/mist/flags.go
+++ b/cmd/mist/flags.go
@@ -51,7 +51,7 @@ var (
 	AddPeer         string
 	MaxPeer         int
 	GenAddr         bool
-	UseSeed         bool
+	SeedNode        string
 	SecretFile      string
 	ExportDir       string
 	NonInteractive  bool
@@ -116,7 +116,7 @@ func Init() {
 	flag.BoolVar(&StartRpc, "rpc", true, "start rpc server")
 	flag.BoolVar(&StartWebSockets, "ws", false, "start websocket server")
 	flag.BoolVar(&NonInteractive, "y", false, "non-interactive mode (say yes to confirmations)")
-	flag.BoolVar(&UseSeed, "seed", true, "seed peers")
+	flag.StringVar(&SeedNode, "seednode", "poc-8.ethdev.com:30303", "ip:port of seed node to connect to. Set to blank for skip")
 	flag.BoolVar(&GenAddr, "genaddr", false, "create a new priv/pub key")
 	flag.StringVar(&NatType, "nat", "", "NAT support (UPNP|PMP) (none)")
 	flag.StringVar(&SecretFile, "import", "", "imports the file given (hex or mnemonic formats)")
diff --git a/cmd/mist/main.go b/cmd/mist/main.go
index a66288a3e..66872a241 100644
--- a/cmd/mist/main.go
+++ b/cmd/mist/main.go
@@ -84,7 +84,7 @@ func run() error {
 	utils.RegisterInterrupt(func(os.Signal) {
 		gui.Stop()
 	})
-	go utils.StartEthereum(ethereum, UseSeed)
+	go utils.StartEthereum(ethereum, SeedNode)
 
 	fmt.Println("ETH stack took", time.Since(tstart))
 
diff --git a/cmd/mist/ui_lib.go b/cmd/mist/ui_lib.go
index 5e141bdaf..7c5802076 100644
--- a/cmd/mist/ui_lib.go
+++ b/cmd/mist/ui_lib.go
@@ -136,7 +136,7 @@ func (ui *UiLib) Muted(content string) {
 
 func (ui *UiLib) Connect(button qml.Object) {
 	if !ui.connected {
-		ui.eth.Start(true)
+		ui.eth.Start(SeedNode)
 		ui.connected = true
 		button.Set("enabled", false)
 	}
diff --git a/cmd/utils/cmd.go b/cmd/utils/cmd.go
index 43ad88c55..06c83ed49 100644
--- a/cmd/utils/cmd.go
+++ b/cmd/utils/cmd.go
@@ -121,9 +121,9 @@ func exit(err error) {
 	os.Exit(status)
 }
 
-func StartEthereum(ethereum *eth.Ethereum, UseSeed bool) {
+func StartEthereum(ethereum *eth.Ethereum, SeedNode string) {
 	clilogger.Infof("Starting %s", ethereum.ClientIdentity())
-	err := ethereum.Start(UseSeed)
+	err := ethereum.Start(SeedNode)
 	if err != nil {
 		exit(err)
 	}
-- 
cgit v1.2.3


From 2656a2d0387464d6c5039f38189649533c578708 Mon Sep 17 00:00:00 2001
From: Taylor Gerring <taylor.gerring@gmail.com>
Date: Wed, 4 Feb 2015 10:57:47 -0600
Subject: Use different default RPC port per #186

---
 cmd/ethereum/flags.go | 2 +-
 cmd/mist/flags.go     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

(limited to 'cmd')

diff --git a/cmd/ethereum/flags.go b/cmd/ethereum/flags.go
index e0fbbb008..5bbcf3f36 100644
--- a/cmd/ethereum/flags.go
+++ b/cmd/ethereum/flags.go
@@ -96,7 +96,7 @@ func Init() {
 	flag.StringVar(&NatType, "nat", "", "NAT support (UPNP|PMP) (none)")
 	flag.StringVar(&PMPGateway, "pmp", "", "Gateway IP for PMP")
 	flag.IntVar(&MaxPeer, "maxpeer", 30, "maximum desired peers")
-	flag.IntVar(&RpcPort, "rpcport", 8080, "port to start json-rpc server on")
+	flag.IntVar(&RpcPort, "rpcport", 8545, "port to start json-rpc server on")
 	flag.IntVar(&WsPort, "wsport", 40404, "port to start websocket rpc server on")
 	flag.BoolVar(&StartRpc, "rpc", false, "start rpc server")
 	flag.BoolVar(&StartWebSockets, "ws", false, "start websocket server")
diff --git a/cmd/mist/flags.go b/cmd/mist/flags.go
index 9dc3ae10a..9f91582f6 100644
--- a/cmd/mist/flags.go
+++ b/cmd/mist/flags.go
@@ -111,7 +111,7 @@ func Init() {
 	flag.StringVar(&OutboundPort, "port", "30303", "listening port")
 	flag.BoolVar(&UseUPnP, "upnp", true, "enable UPnP support")
 	flag.IntVar(&MaxPeer, "maxpeer", 30, "maximum desired peers")
-	flag.IntVar(&RpcPort, "rpcport", 8080, "port to start json-rpc server on")
+	flag.IntVar(&RpcPort, "rpcport", 8545, "port to start json-rpc server on")
 	flag.IntVar(&WsPort, "wsport", 40404, "port to start websocket rpc server on")
 	flag.BoolVar(&StartRpc, "rpc", true, "start rpc server")
 	flag.BoolVar(&StartWebSockets, "ws", false, "start websocket server")
-- 
cgit v1.2.3


From c64852dbccd0c8eb57cab994aefd0243c65b351b Mon Sep 17 00:00:00 2001
From: obscuren <geffobscura@gmail.com>
Date: Thu, 5 Feb 2015 11:55:03 -0800
Subject: pending / chain event

---
 cmd/mist/assets/html/home.html | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

(limited to 'cmd')

diff --git a/cmd/mist/assets/html/home.html b/cmd/mist/assets/html/home.html
index 7116f5dde..531327c68 100644
--- a/cmd/mist/assets/html/home.html
+++ b/cmd/mist/assets/html/home.html
@@ -60,7 +60,7 @@
     var web3 = require('web3');
     var eth = web3.eth;
 
-    web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8080'));
+    web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8545'));
 
     document.querySelector("#number").innerHTML = eth.number;
     document.querySelector("#coinbase").innerHTML = eth.coinbase
@@ -69,6 +69,14 @@
     document.querySelector("#gas_price").innerHTML = eth.gasPrice;
     document.querySelector("#mining").innerHTML = eth.mining;
     document.querySelector("#listening").innerHTML = eth.listening;
+
+    eth.watch('pending').changed(function() {
+        console.log("pending changed");
+    });
+    eth.watch('chain').changed(function() {
+        console.log("chain changed");
+    });
+
 </script>
 
 </html>
-- 
cgit v1.2.3


From 8be1d134aae80390c1b45b86f06c4842fabbcd17 Mon Sep 17 00:00:00 2001
From: obscuren <geffobscura@gmail.com>
Date: Thu, 5 Feb 2015 12:22:35 -0800
Subject: updated home

---
 cmd/mist/assets/html/home.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'cmd')

diff --git a/cmd/mist/assets/html/home.html b/cmd/mist/assets/html/home.html
index 531327c68..dc96cc754 100644
--- a/cmd/mist/assets/html/home.html
+++ b/cmd/mist/assets/html/home.html
@@ -74,7 +74,7 @@
         console.log("pending changed");
     });
     eth.watch('chain').changed(function() {
-        console.log("chain changed");
+        document.querySelector("#number").innerHTML = eth.number;
     });
 
 </script>
-- 
cgit v1.2.3


From e40c1c62ce0c2d9567066d84ea74fd24b424a81a Mon Sep 17 00:00:00 2001
From: obscuren <geffobscura@gmail.com>
Date: Thu, 5 Feb 2015 15:00:59 -0800
Subject: API changed to use Pubkey only. Reflected that change in the rest of
 the api

---
 cmd/mist/assets/examples/coin.html | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

(limited to 'cmd')

diff --git a/cmd/mist/assets/examples/coin.html b/cmd/mist/assets/examples/coin.html
index ed5063a05..1e8a1cad9 100644
--- a/cmd/mist/assets/examples/coin.html
+++ b/cmd/mist/assets/examples/coin.html
@@ -29,7 +29,8 @@
 	var web3 = require('web3');
 	var eth = web3.eth;
 
-	web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8080'));
+	web3.setProvider(new
+			web3.providers.HttpSyncProvider('http://localhost:8545'));
 	var desc =  [{
 		"name": "balance(address)",
 		"type": "function",
-- 
cgit v1.2.3


From 16a04e64f23b7a81018c7fcf7626ca6965d9a809 Mon Sep 17 00:00:00 2001
From: obscuren <geffobscura@gmail.com>
Date: Sat, 7 Feb 2015 17:04:19 +0100
Subject: Updated coin

---
 cmd/mist/assets/examples/coin.html | 96 ++++++++++++++++++++++++++------------
 1 file changed, 66 insertions(+), 30 deletions(-)

(limited to 'cmd')

diff --git a/cmd/mist/assets/examples/coin.html b/cmd/mist/assets/examples/coin.html
index 1e8a1cad9..71b359834 100644
--- a/cmd/mist/assets/examples/coin.html
+++ b/cmd/mist/assets/examples/coin.html
@@ -7,7 +7,7 @@
 </head>
 <body>
 
-<h1>JevCoin</h1>
+<h1>JevCoin <code id="address"></code></h1>
 <div>
 	<strong>Balance</strong>
 	<span id="balance"></strong>
@@ -20,7 +20,11 @@
 	<button onclick="transact()">Send</button>
 </div>
 
+<hr>
+
 <table width="100%" id="table">
+	<tr><td style="width:40%;">Address</td><td>Balance</td></tr>
+	<tbody id="table_body"></tbody>
 </table>
 
 </body>
@@ -29,9 +33,8 @@
 	var web3 = require('web3');
 	var eth = web3.eth;
 
-	web3.setProvider(new
-			web3.providers.HttpSyncProvider('http://localhost:8545'));
-	var desc =  [{
+	web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8545'));
+	var desc = [{
 		"name": "balance(address)",
 		"type": "function",
 		"inputs": [{
@@ -55,57 +58,90 @@
 		}],
 		"outputs": []
 	}, {
-		"name":"Changed",
+		"name":"changed",
 		"type":"event",
 		"inputs": [
 			{"name":"to","type":"address","indexed":true},
-			{"name":"amount","type":"uint256","indexed":false},
+			{"name":"from","type":"address","indexed":true},
 		],
 	}];
 
-    var address = web3.db.get("jevcoin", "address");
-    if( address.length == 0 ) {
-        var code = "0x60056011565b60b88060356000396000f35b64e8d4a51000600033600160a060020a0316600052602052604060002081905550560060e060020a6000350480637bb98a68146028578063d0679d34146034578063e3d670d714604657005b602e60b3565b60006000f35b60406004356024356059565b60006000f35b604f6004356091565b8060005260206000f35b8060005281600160a060020a03167fb52dda022b6c1a1f40905a85f257f689aa5d69d850e49cf939d688fbe5af594660206000a25050565b6000600082600160a060020a03166000526020526040600020549050919050565b5b60008156";
-        address = web3.eth.transact({
-            data: code,
-            gasPrice: "1000000000000000",
-            gas: "10000",
-        });
-        web3.db.put("jevcoin", "address", address);
-    }
+	var address = localStorage.getItem("address");
+	// deploy if not exist
+	if (address == null) {
+		var code = "0x60056013565b610132806100356000396000f35b620f4240600033600160a060020a0316600052602052604060002081905550560060e060020a6000350480637bb98a681461002b578063d0679d3414610039578063e3d670d71461004d57005b61003361012d565b60006000f35b610047600435602435610062565b60006000f35b61005860043561010b565b8060005260206000f35b80600033600160a060020a0316600052602052604060002054106100855761008a565b610107565b80600033600160a060020a0316600052602052604060002090815403908190555080600083600160a060020a0316600052602052604060002090815401908190555081600160a060020a031633600160a060020a03167f1863989b4bb7c5c3941722099764574df7a459f9f9c6b6cdca35ddc9731792b860006000a35b5050565b6000600082600160a060020a03166000526020526040600020549050919050565b5b60008156";
+		address = web3.eth.transact({
+			data: code,
+			gasPrice: "1000000000000000",
+			gas: "10000",
+		});
+        	localStorage.setItem("address", address);
+	}
+	document.querySelector("#address").innerHTML = address.toUpperCase();
 
 	var contract = web3.eth.contract(address, desc);
-	contract.Changed({to: "0xaa"}).changed(function(e) {
-		console.log("e: " + JSON.stringify(e));
+	contract.changed({from: eth.accounts[0]}).changed(function() {
+		refresh();
 	});
-	contract.send( "0xaa", 10000 );
-	function reflesh() {
-        document.querySelector("#balance").innerHTML = contract.balance(eth.coinbase);
+	eth.watch('chain').changed(function() {
+		refresh();
+	});
+
+	function refresh() {
+        	document.querySelector("#balance").innerHTML = contract.balance(eth.coinbase);
 
-		var table = document.querySelector("#table");
+		var table = document.querySelector("#table_body");
 		table.innerHTML = ""; // clear
 
 		var storage = eth.storageAt(address);
+		table.innerHTML = "";
 		for( var item in storage ) {
-			table.innerHTML += "<tr><td>"+item+"</td><td>"+web3.toDecimal(storage[item])+"</td></tr>";
+			table.innerHTML += "<tr><td>"+item.toUpperCase()+"</td><td>"+web3.toDecimal(storage[item])+"</td></tr>";
 		}
 	}
 
 	function transact() {
 		var to = document.querySelector("#address").value;
-        if( to.length == 0 ) {
-		    to = "0x4205b06c2cfa0e30359edcab94543266cb6fa1d3";
-        } else {
-            to = "0x"+to;
-        }
+
+		if( to.length == 0 ) {
+			to = "0x4205b06c2cfa0e30359edcab94543266cb6fa1d3";
+		} else {
+			to = "0x"+to;
+		}
 
 		var value = parseInt( document.querySelector("#amount").value );
 
-		contract.transact({gas: "10000", gasprice: eth.gasPrice}).send( to, value );
+		contract.send( to, value );
 	}
 
-	reflesh();
+	refresh();
 </script>
 
 </html>
 
+<!--
+contract JevCoin {
+    function JevCoin()
+    {
+        balances[msg.sender] = 1000000;
+    }
+ 
+    event changed(address indexed from, address indexed to);
+    function send(address to, uint value)
+    {
+        if( balances[msg.sender] < value ) return;
+ 
+        balances[msg.sender] -= value;
+        balances[to] += value;
+ 
+        changed(msg.sender, to);
+    }
+ 
+    function balance(address who) constant returns(uint t)
+    {
+        t = balances[who];
+    }
+ 
+    mapping(address => uint256) balances;
+ }
+-!>
-- 
cgit v1.2.3