We are pleased to unveil our initial developer-preview of the Ethereum Wallet ÐApp. The objective of this launch is to collect input, eliminate bugs, and, most crucially, have the code assessed.
Please be aware that this is a developer-preview and not the final version. We recommend that you are exceedingly cautious when depositing significant amounts of Ether into the wallet contracts. Using the wallet on the mainnet should solely be performed with limited amounts!
As Steve Ballmer famously proclaimed Developers! Developers! Developers! And remember that this is specifically our targeted audience; don’t place blind faith in us, and we encourage (and advise!) you to meticulously review the code in the ethereum wallet repository!
If you wish to compile the wallet yourself, you’ll need to visit the Mist repository, utilize the wallet branch and adhere to the guidelines set out in the Readme.
Reporting Issues
If you encounter any problems with the wallet, access the developer console of the wallet (Menu -> Developer -> Toggle console) and share the logs from there and the terminal where you initiated
geth
or
eth
from. Please report all issues to the wallet repository.
How to execute it?
First obtain the binary for your operating system: (**Note**: You can find the latest releases here)
This developer preview is not bundled with a node, as there are some aspects still to be finalized, so you will need to launch one yourself.
For this developer preview, the compatible clients are geth and eth. Python is currently unsupported because it lacks the necessary IPC interface to operate the wallet.
If you have yet to install one of these nodes, consult the instructions here or download a pre-built version. Ensure that you have updated to the most recent version. and initiate a node by simply executing:
Go:
If you wish to unlock an account to facilitate transfers, add –unlock , or launch a console with $ geth attach and unlock it using the JavaScript interface: personal.unlockAccount(‘‘).
C++:
It is essential to highlight that the wallet anticipates a fully synchronized node.
In forthcoming versions of geth and eth the wallet will utilize the new eth_syncing method in the JSON RPC, allowing you to observe a sync screen upon starting the wallet.
This function is currently already supported by geth and eth on their develop branches.
Finally initiatethe wallet by clicking the executable!
Operating on a testnet
If you wish to experiment with the wallet on a testnet, you need to launch your node with a distinct network id and possibly a separate data directory. To ensure the wallet can still connect to your node, you need to manually specify the IPC path:
OS X:
$ geth --networkdid "1234" --datadir "/some/other/path" --ipcpath "/Users//Library/Ethereum/geth.ipc"
Linux:
$ geth --networkdid "1234" --datadir "/some/other/path" --ipcpath "/home//.ethereum/geth.ipc"
Additionally, you might want to provide your personal genesis block using the –genesis option. For further information about the options, refer to the wiki.
Once the node is operational, you can simply relaunch the wallet.
Please note that you may need to wait a bit and click the button in the corner.
After launching the wallet, a popup will appear prompting you to deploy a wallet contract on your testnet, which will serve as a code foundation for your upcoming wallet contracts. The primary benefit is that it is significantly less expensive (1.8mio vs 180k gas).
Note: Ensure the displayed account is unlocked and holds at least 1 ether.
Utilizing the wallet
The wallet permits the creation of two types of wallets:
- A simple wallet – functions like a typical account (additional features are currently in development; e.g. adding owners, setting a daily limit)
- A multisig wallet – enables you to incorporate any number of owner accounts and define a daily limit.
Each owner can transfer funds from the account as long as it remains under the daily limit. If it exceeds the threshold, you will require the signatures of the necessary other owners.
When functioning on the main net, make certain to record / backup the wallet contract address! This address is essential should you need to reimport your wallet on another device or during backup/recovery.
Multisig
Should you need to transfer an amount that surpasses the daily limit, your other owners must give their approval. This should be preferably conducted from a separate computer; however, you could also add accounts available on the same node.
If a pending request is made, it will present as follows:
Just click approve and the transaction will proceed.
Removing wallets
If you wish to remove a wallet, click the trash icon on the wallet page beside the wallet name. After entering the name of the wallet, it will be eliminated from the Ðapp.
If you have documented the address, you can always re-import the wallet in the “Add Wallet” section.
Roadmap
Once everything functions smoothly and we have completed the binary integration, we aim to release the first official version within 1-2 weeks™
In the meantime, please report issues and engage in discussions on reddit!