ethereum / mix

The Mix Ethereum Dapp Development Tool
http://www.ethereum.org
MIT License
167 stars 257 forks source link

(1.0.5) small suggestions, many #321

Closed drandreaskrueger closed 8 years ago

drandreaskrueger commented 8 years ago

First impressions of mix-ide

Great tool! Really like it.

Sorry if the following are newb problems. A fresh perspective helps sometimes.

My system is Debian 8 (my manual: ethereum_debian8.txt.)

Some suggestions:


Pressing "debug transaction":

Segmentation fault with: qrc:/qml/Watchers.qml:79: Error: Cannot assign [undefined] to bool qrc:/qml/Watchers.qml:79: Error: Cannot assign [undefined] to bool

had to restart it.


Starting mix-ide, intuitive first step (with the sample contract) is to use the HTML page (with the lilac background).

The "query get" works, great! But "Store 17 Save" results in a yellow-red "web3.js - line 3885 - Uncaught Error: Invalid address". Have I missed anything?

EDIT (-: web3.eth.defaultAccount = web3.eth.accounts[0]

Yes I know, RTFM; but once a GUI matures, not needed anymore.

Suggestion, check at start:

if not web3.eth.defaultAccount: 
    yes = alert ("defaultAccount not set. Shall I set it for you?")
    if yes:
        web3.eth.defaultAccount = web3.eth.accounts[0]

Before, instead I had to

1 press the PLUS 2 add transaction 3 transact with contract 4 function set() 5 v 17 6 ok 7 press the PLUS 8 Seal block

right?

--> Please make two buttons of the one PLUS:

1 add transaction 2 seal block

Easier to use, and to understand.


Inside "add transaction": Default "Type of transaction" --> "Transact with contract"
not "create contract" (because the latter is used only once).


The Debian 8 rendering of Qt window and dialogs has choosen a different(-from-windows) font? Because most your default window & panel sizes are too small, so they all have scrollbars. Only surface issue, but still.

EDIT: Later found the menu "Decrease Application Fontsize". Helps. Default smaller?


When I call Sample.set() it returns a value - but I cannot see that value anywhere.

until I 1 find the tx with the call 2 find the tiny down-triangle at the right, which (on Debian) is half-hidden 3 click the triangle 4 scroll down 5 find the gray "Output" --> output:

undefined 17

== many steps.

Please introduce one more panel, showing return results.


Everything below is the "Rating"-DApp from the mix-tutorial.


https://github.com/ethereum/wiki/wiki/Mix:-The-DApp-IDE#setting-up-scenario

Manual: "Apply changes" --> "Press 'update'"


Crash

☍ ℹ 23:23:56.371|Thread (pooled) Imported and best 2 (# 2 ). Has 0 siblings. Route: [#cfb7f0ae…, #ca9e68f7…] qml: {"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0xf025d81196b72fba60a1d4dddad12eeb8360d828","data":"0x6d4ce63c","from":"0x38f388fadf4a6a35c61c3f88194ec5ae162c8944"},"latest"],"id":7} qml: {"id":7,"jsonrpc":"2.0","result":"0x0000000000000000000000000000000000000000000000000000000000000011"} Segmentation fault


Crash

when copypasting into the "Store" field

qml: {"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0xf025d81196b72fba60a1d4dddad12eeb8360d828","data":"0x6c71d01d4669676874436c75620000000000000000000000000000000000000000000000","from":"0x38f388fadf4a6a35c61c3f88194ec5ae162c8944"},"latest"],"id":26} qml: {"id":26,"jsonrpc":"2.0","result":"0x0000000000000000000000000000000000000000000000000000000000000000"} Segmentation fault


Typing into the 'query' field (on lilac HTML page) is slow. And caused that crash ^

Why immediately query? Wait until I finish typing, and show a "submit" button?


Deploy to network:

Pick scenario to deploy: name shown is "New_scenario_1", not my renamed name.


No message in GUI when account is not

--unlock "0"

Seen that in cosmo.

Show password dialog if not unlocked?


Make blue "Deploy contracts" column wider. Not all text readable.


"contracts deployment verified" - great. Has worked.

First I overlooked step 3. Then found package.
Idea: Perhaps auto-start step 3, when verified?

When all ready, make "cancel" button into "OK", or "ready", or "leave".


Simplemost instructions in package would be nice, something like:

cd package/www geth attach loadScript("deployment.js") RC = contracts["Rating"].contract RC.setRating.sendTransaction("matrix", "87", {from: eth.coinbase}) RC.ratings("matrix")

(for user data, perhaps use scenario input?)


Some of my ideas good?

Great tool, very happy about it. Keep up the good work!

drandreaskrueger commented 8 years ago

Just learned in gitter that this is "slated for death", so I stop my list of improvements. But this pt2 I had already typed.


This is a follow up on https://github.com/ethereum/mix/issues/321


feature request: Larger/choosable font size in code editor


Deploy Step 2: ... press Deploy Scenarion

Idea: As soon as the TXid is known, show it in the GUI. Then I can check e.g. etherchain for confirmations etc


Deploy Step 3:

"Save packaged DApp to": "..." copypaste button does nothing


qml: Closing project Segmentation fault


What is the key to repeat a search? Suggestion: New menu ... Help ... keyboard shortcuts. Or: Introduce "Edit" menu for copypaste, find, replace, etc.


... 21:33:37.072|mix-ide Closing blockchain DB ℹ 21:33:37.073|mix-ide Killing blockchain & extras database (WithExisting::Kill). ... 21:33:37.607|mix-ide Opened blockchain DB. Latest: #ab0d1405… (rebuild not needed) ℹ 21:33:37.608|mix-ide Killing state database (WithExisting::Kill). ... 21:33:37.853|mix-ide Opened state DB. Segmentation fault


qml: editor: qrc:///qml/html/codeeditor.js:350:Uncaught TypeError: undefined is not a function qml: editor: qrc:///qml/html/codeeditor.js:350:Uncaught TypeError: undefined is not a function qml: editor: qrc:///qml/html/codeeditor.js:350:Uncaught TypeError: undefined is not a function qml: editor: qrc:///qml/html/codeeditor.js:350:Uncaught TypeError: undefined is not a function Segmentation fault


gitter ethereum/mix bobsummerwill ... Also be aware that Mix is slated for death, to be replace by remix. https://blog.ethereum.org/2016/05/04/c-dev-update-announcing-remix/


What about maintaining a positive list of tools that will have long term support?

yann300 commented 8 years ago

The case of mix is a bit special. and I am pretty sure that remix will stay for long. I've created an issue in the remix repo https://github.com/ethereum/remix/issues/84 This might be helpful for remix as well.