Releases: ethereum/mist
Wallet 0.3.9 (Beta 6)
This wallet release comes with a new outfit and is mainly a more stable release (fixes a major crash bug).
This release also contains the following enhancements, based on very common questions new users have:
- How do I backup my wallet? The main menu has now a Backup tab, which brings your right to the important folders to backup
- I have an issue with my wallet, can someone help me solve it? Log files are now generated in the Mist Data Folder. So if you have an issue, providing the last log files will help us to debug your issue!
- What's the easiest way to get ether in my wallet? Every account and contract now has a "deposit with bitcoin" button, that will open a ShapeShift window that allows anyone to easily deposit on their accounts and contracts using the most popular cryptocurrencies.
Wallet 0.3.8 (Beta 5)
This is mainly a bug fix release, as well as containing the latest geth 1.3.3 node and doing some improvements in the contract execution based on user feedback.
- Updates geth to the latest version
- Contract variable and function names that are either CamelCased or with underlines on the name are displayed with space separation, to make them easier to read
- Adds some naive auto detection of timestamps, displaying the time since when detects them.
- Renames true and false to Yes and No and adds checkmark
- Adds 100k extra gas to all transactions above the gas cost estimate
- Naive detection of out of gas transactions
- Fixed an issue that prevented multiple contract executions one after the other
Note Linux 32 and Windows 32, don't come with a node shipped. If you want to help create builds please contact us.
Wallet 0.3.7 (Beta 4)
This is the released contains all the features demoed at Devcon1 and it's mostly centered around contract execution. We also took a lot of feedback that felt the previous beta was starting to show signs of featuritis so we simplified and streamlined the app.
- All contract upload and token management are under the "contracts" tab, which you can safely ignore if you just want to store ether (This will move into its own Dapp in the future, once Mist comes along)
- You can watch a contract and interact with it by adding its address and JSON Interface. In the future the JSON Interface will be stored on IPFS/Swarm so it might be retrieved directly from the address, but right now you'll need both.
- Contracts you deploy yourself will be automatically saved to your "Custom Contracts" so you won't need to bother with the JSON Interface. If it looks like a token, we'll automatically add to your token list too.
- Fast sync is now enabled, so if you are syncing from block 0 you'll experience dramatically shorter sync times, on your first sync. Later syncs will still take a while, bit once you catched up its significantly less.
- Mac, Linux 64Bit and Win 64Bit versions come with
geth
built in. Mac and Wind 64Bit comes also witheth
. If you are working on a different implementation and are interested in embedding your version with the wallet, come talk to us on the gitter room
And just like previous versions, you don't need to open the command line or install anything to run this app. We hope this version makes interacting with smart contracts even easier and more fun than ever before.
Example contracts:
You can test a complete DAO with these contracts, by following these steps:
- Get the code to create a Custom Token: sonf go to contracts > deploy new contract
- Use 10000 as the
_supply
, 2 as_decimals
and%
as the symbol. Click deploy and wait a few seconds for your code to be picked up. - Now go to the contract page (its on the "latest transaction" table on the dashboard or on the Contracts page) and click "copy address to clipboard". Save that somewhere.
- Get the code to create a DAO: and paste it on the contracts > deploy new contract page.
- Use the address you saved earlier as the
sharesAddress
, put 1000 onminimumSharesForVoting
to reject any proposal that doesn't have at least 10% of shares behind it and put any number you want onminutesForDebate
. If you just want to do a quick test, use a small amount like 5-30, but if you actually want it at least a week of full debates before any proposal can be executed, then put 10000 or more. - Click deploy and wait a few seconds for the transaction to be picked up
- Go to the contract page and click "show contract info". You can read all the information about the contract on the left column.
- Pick
newProposal
. Add the recipient you want to receive the ether, the amount and a string. If you want it to execute some code, add the contract data on the last box. Click "execute". - Pick
vote
. Select the user that you want to vote with, the proposal number and click "YES" if you support the proposal. - Pick
executeProposal
. Proposals can only be executed if the minimum amount of time to vote has passed and if enough users have voted to surpass the minimum quorum. Choose the proposal number, click "execute" and it will count up the votes. If it passes it will send the amount asked and execute the code.
Secret Open Source Mist release :)
This release is intended for DApp Developers only.
Run Mist, browse to your dapp and press the plus to add it to the sidebar.
Your have three options to use (or replace) the pre-loaded web3
object:
// 1. Simply use web3 from mist
web3
// 2. Use web3 from mist, OR load if outside of mist
if(typeof web3 === 'undefined')
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
// 3. Use your own web3, but the provider from mist ("Web3" won't be supplied by Mist)
if(typeof web3 !== 'undefined')
web3 = new Web3(web3.currentProvider);
else
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
Note the mist
object is currently not provided in browse mode. So press the + button in the upper right corner first, so it gets added to the sidebar. Then you can use mist.web3Provider
!
Note2 Also checkout the Mist API: https://github.com/ethereum/mist/blob/master/MISTAPI.md
Note3 Use web3.eth.isSyncing to prevent your dapp from getting frozen on syncs (when a bunch of blocks are imported)
Wallet 0.3.5 (Beta 3)
This release fixes a lot of bugs and adds a new custom Token system, as well as a simple way to deploy contracts right from the wallet!
To update from a previous beta, just replace the old version with the new one. The actual important data is stored in your application data folder (see readme).
This new version will update your database, so the first start of the wallet may take a while. Please be patient.
Note This release contains geth 1.3.1, so make sure to also upgrade your installed node as well (if you have one installed), otherwise you will corrupt your blockchain data switching between the different versions!
Contract deployment
With this version you will also be able to conveniently deploy contracts from solidity code and provide their constructor parameters as well. Simple go to the "Send" page and click "Deploy contract":
Example
Choose your sender and put the solidity code for your contract in the main text field. The app will check for errors and then fill the right fields with the starting parameters for your contracts. In this this example of a token the starting parameters are:
- Initial supply, the amount of the token that will be issued to the creator of the contract
- A string representing a short name for the token ("My token")
- A string representing a symbol for the token (ie. "MT$"). Those are not checked to be unique in any way.
- How many decimal places your token has to the smallest divisible part. For example, if you want your token to divisible by at most 100 smaller (nameless) units, then put "2". Under the hood the system always deals with the smallest unit in integers.
Example: You want to create a entity with "virtual shares", with the minimum for trading is the 0.001%. Then use 100000 as the supply, your virtual company name as the name, "%" as symbol and 3 as decimals. This will result in the creator of the contract owning "100.000%" of your tokens, with a contract that can be proven will never be able to create any more shares.
This example is given as an educational tool for building virtual assets on the blockchain, check your local regulation to understand how these virtual assets are considered and regulated, as you probably won't be able to legally issue real shares.
Press send, type your password and you'll be redirected to your dashboard. There you'll probably see a transaction log stating that you created a contract. The contract address will be visible after a few seconds, after the transaction has confirmed.
Click the transaction and copy the address:
Custom tokens
To add a custom token, click the "Token" button in the upper right. This lists all the contract tokens that you are currently watching for transactions. Click "add token" and then paste the address of the token you just created (or any token you want to keep in your wallet).
The wallet will then watch the token and check if one of your addresses has any balance.
To send tokens around, just go to the send page, and pick the sender and receiver as you would do with a normal ether transaction but instead of ether, pick your token. If you don't see the token you want to send in this list, then that means that either your sender account doesn't have any of it, or that your wallet hasn't synced up. Pay attention to the token icon, as this is the unique identifier of your contract and is linked to its address. Tokens can have any names or symbols (including "US dollar" or "BTC" and other token names) but each one will have a single unique icon, this is your guarantee of sending and receiving the token you want.
If you have any issues please post them to the wallet repository.
Apps:
- Mac OSX (nodes included)
- Windows 64Bit (nodes included)
- Windows 32Bit
- Linux 64Bit (nodes included)
- Linux 32Bit
Wallet 0.3.2 (Beta 2)
This release fixes mainly the Ghost Wallet bug (Where you would receive transactions from anybody after a wallet creation).
We have now also bundled linux 64-bit nodes into the wallet, so now Mac, Windows and Linux 64-bit come with a bundled node.
Additionally it adds some small performance and layout improvements.
Enjoy!
Don't forget to post issues in the wallet repo
Wallet 0.3.1 (Beta 1)
TLDR:
- Wallet could contain interface bugs (like not all transaction are displayed), but the ether is saved in the contracts and shouldn't be affected by wallet issues.
- The Mac and Win64 versions come bundled with a
geth
node, which will use your current ethereum folder, if you are already synced up with the network there'll be no need to resync. Future versions will come also witheth
nodes bundled as well. If you're using Linux you need to start a node before starting the wallet. If you do not, the world will end. - Backup your keys from the ethereum folder, and write the down the addresses of the wallets you create!
- Make sure you're fully synced before you create wallets and put money in them
- Do not add other wallets as owners to a multisig wallet. Because this feature has not yet been implemented and the wallet will not support this at the moment.
- Please file issues in the wallet repo
- We are looking forward to feedback from Windows user!
- Downloads are on the bottom.
"If you are not embarrassed by the first version of your product, you’ve launched too late." - Reid Hoffman
With this spirit in mind, we are very proud to release the first self contained Ethereum wallet. As the quote goes, there's a lot that won't make a great experience for an early user—it takes 30 minutes to sync the first time you launch (for progress on that see the gitter room on light client implementation, some transactions don't appear on the logs, among other issues—but we decided it was mature enough to start getting feedback. We are reasonably certain that, as long as you keep your keys backed up, you won't lose or get your money locked up by accident, but as anything else, we recommend not to put more ether than you feel comfortable with, and always test things with small amounts. If you are looking for the safest place to keep your ether for a long time we still recommend you keep your wallet json in a offline cold backup.
Having cleared that long disclaimer, we are indeed happy with the evolution of the wallet and the direction we are taking it. Besides the basic stuff needed to send ether around, the first smart contract with a user interface we support is the multi-owner wallet. That contract has the functionality of a M of N multisig wallet, but it also has the option of allowing a configurable daily limit that can be spent by wallet with a single signature from any owner. This allows simpler funds management by partners or simply a way to recover funds slowly even if you lose all keys.
For the time being do not add other wallets as owners to a multisig wallet, as we don't currently support the user interface for a wallet to approve or revoke transactions that are more complex than sending ether around. If you do this by accident you won't lose your money, but you might have to resort to the command line to approve transactions higher than the daily limit.
There is a lot more under the hood, though: for starters, since we include an optional data field, you can execute any Ethereum transaction as long as you have the correct hex code. For example, to upload a contract go to an online solidity compiler, get the hex code and put it on the data field (leave the "to" and "amount" field blank).
If you have the correct hex code you can execute any contract, also by using the data field. This is not a feature we added in, this is just the way ethereum works under the hood, the wallet simply exposes that for the user. An interesting side effect of exposing this, is that it reveals what is really going on the basic level. To use an example, this is what happens when you want to send ethers from a contract to a third party:
We are using Electron for development, meaning that what you are actually running is a Chromium clone executing a local webpage. We decided to use it for a few reasons, and having a multi-platform release is only one of them. The other is that this gives access to the geth console for developers, by going to the develop menu and then choosing "toggle developer tools". This also means that the wallet can be used as an open source framework for anyone who wants to turn their html based Ðapp into a multi platform application that already comes with the ethereum command line tools integrated. Which you probably guessed if you noticed the name of the repository you are on now: the work we are doing for the wallet is actually solving issues for any web based Ðapp that we need to solve in order to build the Mist Browser – which in the end is just adding the navigation part.
We have a lot of new features planned on the roadmap. We are working on solving some glaring usability issues, and on providing support for some standard contracts including a generic wallet (which would allow any kind of internal structure to approve transactions, including DAOs or 2fa) and the generic coin standard, investigating how to provide interfaces for naked contracts that don't have accompanying Ðapp assets, just the ABI and also working to provide support for Eth, the C++ command line tool.. And of course, all this is meant to help further development of Ðapps and the Ðapp browser Mist.
Notes
The Mac binary comes bundled with both Geth and Eth. Although Eth is a solid c++ implementation, we are still testing it with the multiple wallet functionalities. While we encourage you to test it also, please mind that you may find somethings not working (for example, if you have a master password set up and you don't quite remember it, the wallet will simply not start any node without giving any error or alert). Geth is working out of the box even if you never installed it.
The 64 bit Windows version comes with Geth included and so you just need to start the wallet. The 32 bit windows and linux versions will require you to install and run either Geth or Eth separately.
Developer Preview Wallet Release
This release is the first public release and is made available for testing.
Don't store your ether on the wallets just yet, use only 2-3 ether for testing on the main net.
Read the blog post here: https://blog.ethereum.org/2015/09/16/ethereum-wallet-developer-preview/