diff --git a/cmd/ethereum/main.go b/cmd/ethereum/main.go index 8b83bbd37..3c143aca1 100644 --- a/cmd/ethereum/main.go +++ b/cmd/ethereum/main.go @@ -32,7 +32,7 @@ import ( const ( ClientIdentifier = "Ethereum(G)" - Version = "0.8.0" + Version = "0.8.1" ) var clilogger = logger.NewLogger("CLI") diff --git a/cmd/mist/assets/qml/main.qml b/cmd/mist/assets/qml/main.qml index 0848d13d5..111bef8bb 100644 --- a/cmd/mist/assets/qml/main.qml +++ b/cmd/mist/assets/qml/main.qml @@ -512,18 +512,17 @@ ApplicationWindow { var section; switch(options.section) { case "ethereum": - section = menuDefault; - break; + section = menuDefault; + break; case "legacy": - section = menuLegacy; - break; + section = menuLegacy; + break; default: - section = menuApps; - break; + section = menuApps; + break; } var comp = menuItemTemplate.createObject(section) - comp.view = view comp.title = view.title @@ -771,12 +770,9 @@ ApplicationWindow { anchors.fill: parent id: peerTable model: peerModel - TableViewColumn{width: 100; role: "ip" ; title: "IP" } - TableViewColumn{width: 60; role: "port" ; title: "Port" } - TableViewColumn{width: 140; role: "lastResponse"; title: "Last event" } - TableViewColumn{width: 100; role: "latency"; title: "Latency" } + TableViewColumn{width: 200; role: "ip" ; title: "IP" } TableViewColumn{width: 260; role: "version" ; title: "Version" } - TableViewColumn{width: 80; role: "caps" ; title: "Capabilities" } + TableViewColumn{width: 180; role: "caps" ; title: "Capabilities" } } } } diff --git a/cmd/mist/assets/qml/views/whisper.qml b/cmd/mist/assets/qml/views/whisper.qml index 56c4f1b07..029376c45 100644 --- a/cmd/mist/assets/qml/views/whisper.qml +++ b/cmd/mist/assets/qml/views/whisper.qml @@ -10,7 +10,6 @@ import Ethereum 1.0 Rectangle { id: root property var title: "Whisper Traffic" - property var iconSource: "../facet.png" property var menuItem objectName: "whisperView" diff --git a/cmd/mist/bindings.go b/cmd/mist/bindings.go index 66d8d1491..9e55592e6 100644 --- a/cmd/mist/bindings.go +++ b/cmd/mist/bindings.go @@ -57,7 +57,7 @@ func (gui *Gui) Transact(recipient, value, gas, gasPrice, d string) (string, err data = ethutil.Bytes2Hex(utils.FormatTransactionData(d)) } - return gui.pipe.Transact(gui.privateKey(), recipient, value, gas, gasPrice, data) + return gui.xeth.Transact(gui.privateKey(), recipient, value, gas, gasPrice, data) } func (gui *Gui) SetCustomIdentifier(customIdentifier string) { diff --git a/cmd/mist/gui.go b/cmd/mist/gui.go index 9efec6527..2c31bb3cd 100644 --- a/cmd/mist/gui.go +++ b/cmd/mist/gui.go @@ -64,7 +64,7 @@ type Gui struct { logLevel logger.LogLevel open bool - pipe *xeth.JSXEth + xeth *xeth.JSXEth Session string clientIdentity *p2p.SimpleClientIdentity @@ -82,8 +82,8 @@ func NewWindow(ethereum *eth.Ethereum, config *ethutil.ConfigManager, clientIden panic(err) } - pipe := xeth.NewJSXEth(ethereum) - gui := &Gui{eth: ethereum, txDb: db, pipe: pipe, logLevel: logger.LogLevel(logLevel), Session: session, open: false, clientIdentity: clientIdentity, config: config, plugins: make(map[string]plugin)} + xeth := xeth.NewJSXEth(ethereum) + gui := &Gui{eth: ethereum, txDb: db, xeth: xeth, logLevel: logger.LogLevel(logLevel), Session: session, open: false, clientIdentity: clientIdentity, config: config, plugins: make(map[string]plugin)} data, _ := ethutil.ReadAllFile(path.Join(ethutil.Config.ExecPath, "plugins.json")) json.Unmarshal([]byte(data), &gui.plugins) @@ -228,7 +228,7 @@ func (gui *Gui) setInitialChain(ancientBlocks bool) { func (gui *Gui) loadAddressBook() { view := gui.getObjectByName("infoView") - nameReg := gui.pipe.World().Config().Get("NameReg") + nameReg := gui.xeth.World().Config().Get("NameReg") if nameReg != nil { it := nameReg.Trie().Iterator() for it.Next() { @@ -243,7 +243,7 @@ func (gui *Gui) loadAddressBook() { func (self *Gui) loadMergedMiningOptions() { view := self.getObjectByName("mergedMiningModel") - mergeMining := self.pipe.World().Config().Get("MergeMining") + mergeMining := self.xeth.World().Config().Get("MergeMining") if mergeMining != nil { i := 0 it := mergeMining.Trie().Iterator() @@ -261,8 +261,7 @@ func (self *Gui) loadMergedMiningOptions() { } func (gui *Gui) insertTransaction(window string, tx *types.Transaction) { - pipe := xeth.New(gui.eth) - nameReg := pipe.World().Config().Get("NameReg") + nameReg := gui.xeth.World().Config().Get("NameReg") addr := gui.address() var inout string @@ -273,7 +272,7 @@ func (gui *Gui) insertTransaction(window string, tx *types.Transaction) { } var ( - ptx = xeth.NewJSTx(tx, pipe.World().State()) + ptx = xeth.NewJSTx(tx, gui.xeth.World().State()) send = nameReg.Storage(tx.From()) rec = nameReg.Storage(tx.To()) s, r string @@ -319,7 +318,7 @@ func (gui *Gui) readPreviousTransactions() { } func (gui *Gui) processBlock(block *types.Block, initial bool) { - name := strings.Trim(gui.pipe.World().Config().Get("NameReg").Storage(block.Coinbase()).Str(), "\x00") + name := strings.Trim(gui.xeth.World().Config().Get("NameReg").Storage(block.Coinbase()).Str(), "\x00") b := xeth.NewJSBlock(block) b.Name = name @@ -488,7 +487,7 @@ NumGC: %d func (gui *Gui) setPeerInfo() { gui.win.Root().Call("setPeers", fmt.Sprintf("%d / %d", gui.eth.PeerCount(), gui.eth.MaxPeers)) gui.win.Root().Call("resetPeers") - for _, peer := range gui.pipe.Peers() { + for _, peer := range gui.xeth.Peers() { gui.win.Root().Call("addPeer", peer) } } diff --git a/cmd/mist/main.go b/cmd/mist/main.go index ce5e8449a..b8b58a36a 100644 --- a/cmd/mist/main.go +++ b/cmd/mist/main.go @@ -32,7 +32,7 @@ import ( const ( ClientIdentifier = "Mist" - Version = "0.8.0" + Version = "0.8.1" ) var ethereum *eth.Ethereum @@ -58,6 +58,7 @@ func run() error { NATType: PMPGateway, PMPGateway: PMPGateway, KeyRing: KeyRing, + Dial: true, }) if err != nil { mainlogger.Fatalln(err) diff --git a/pow/ezp/pow.go b/pow/ezp/pow.go index f9f27326f..8c164798a 100644 --- a/pow/ezp/pow.go +++ b/pow/ezp/pow.go @@ -21,7 +21,7 @@ type EasyPow struct { } func New() *EasyPow { - return &EasyPow{turbo: true} + return &EasyPow{turbo: false} } func (pow *EasyPow) GetHashrate() int64 { diff --git a/xeth/js_types.go b/xeth/js_types.go index 4bb1f4e7d..dbddcb7a3 100644 --- a/xeth/js_types.go +++ b/xeth/js_types.go @@ -1,6 +1,7 @@ package xeth import ( + "fmt" "strings" "github.com/ethereum/go-ethereum/core" @@ -154,36 +155,24 @@ func NewPReciept(contractCreation bool, creationAddress, hash, address []byte) * // Peer interface exposed to QML type JSPeer struct { - ref *p2p.Peer - // Inbound bool `json:"isInbound"` - // LastSend int64 `json:"lastSend"` - // LastPong int64 `json:"lastPong"` - // Ip string `json:"ip"` - // Port int `json:"port"` - // Version string `json:"version"` - // LastResponse string `json:"lastResponse"` - // Latency string `json:"latency"` - // Caps string `json:"caps"` + ref *p2p.Peer + Ip string `json:"ip"` + Version string `json:"version"` + Caps string `json:"caps"` } func NewJSPeer(peer *p2p.Peer) *JSPeer { + var caps []string + for _, cap := range peer.Caps() { + caps = append(caps, fmt.Sprintf("%s/%d", cap.Name, cap.Version)) + } - // var ip []string - // for _, i := range peer.Host() { - // ip = append(ip, strconv.Itoa(int(i))) - // } - // ipAddress := strings.Join(ip, ".") - - // var caps []string - // capsIt := peer.Caps().NewIterator() - // for capsIt.Next() { - // cap := capsIt.Value().Get(0).Str() - // ver := capsIt.Value().Get(1).Uint() - // caps = append(caps, fmt.Sprintf("%s/%d", cap, ver)) - // } - - return &JSPeer{ref: peer} - // return &JSPeer{ref: &peer, Inbound: peer.Inbound(), LastSend: peer.LastSend().Unix(), LastPong: peer.LastPong(), Version: peer.Version(), Ip: ipAddress, Port: int(peer.Port()), Latency: peer.PingTime(), Caps: "[" + strings.Join(caps, ", ") + "]"} + return &JSPeer{ + ref: peer, + Ip: peer.RemoteAddr().String(), + Version: peer.Identity().String(), + Caps: fmt.Sprintf("%v", caps), + } } type JSReceipt struct {