Mist, the browser which allows interaction with the Ethereum network through the use of Dapps has updated with a new release which adds some anticipated features. Mist also got increased security hardening by leveraging the use of a fully isolated JavaScript context between Mist and Dapps.
First off, it is now possible to navigate through the Swarm decentralized network with the bzz:// protocol. Every request lands on the Swarm node, which will search for the content through the p2p network and display the website/file of choice.
Basically, it means that if you point your ENS domain to a swarm hash, the swarm content can be accessed on Mist via bzz://mydomain.eth. In order to use ENS domains, your chain has to be synced, as it looks up to ENS resolver contracts.
Notes for Dapp devs
From now on including this version of Mist, it will not ship its own web3.js instance anymore. It is only provided for now web3.currentProvider for connecting to ethereum. In the future, there will provide a special ethereum object with a default provider.
Also this web3.currentProvider will not allow sync calls anymore, as it is already the case in MetaMask (and it’s bad practice in general). So make sure to use the async ones e.g. web3.eth.accounts -> web3.eth.getAccounts(function(){…})
To instantiate a (self included) web3.js lib use:
if(typeof web3 !== ‘undefined’)
var web3 = new Web3(web3.currentProvider);
else
web3 = new Web3(new Web3.providers.HttpProvider(“http://localhost:8545”));
Easier test networks
In addition to Ropsten, developers can now switch to the Rinkeby test network from the Develop menu. Rinkeby is also set as the default testnet, as it is much lighter to sync.
And if wanting to create a solo network for testing purposes it can be done directly via the Develop menu: it will create a local network just for a personal computer in which to test, mine and publish local contracts. It will use the –dev flag on the geth node. From the Mist UI console (developer tools), from there it can use and control the web3 object.
See (command line options)[https://github.com/ethereum/go-ethereum/wiki/Command-Line-Options].
An in-depth view of Mist 0.9.0 can be seen in the changelog.
ENS support for addresses
It is now possible to write an ENS address on any address field on the Wallet, and the actual address represented by that name will appear when clicking outside of the field.
It will even double check the name and can redirect to preferred names, so if typed “ethereum” it will see that it points to the address of the Ethereum Foundation tipjar, which calls itself “ethereumfoundation”.
Accounts also do reverse name lookup: if any accounts, wallets or contracts have registered a reverse name lookup, then they will be shown the ENS name in the app.
The meteor package containing this special input type is publicly available at Meteor Package Elements, made by @alexvandesande, so it can be used on a Dapp today.
ENS support for tokens
Now it’s easier than ever to watch tokens and see balances. By clicking on Contracts > Watch Token, the modal will appear and just type the token symbol. Instantly all the available details will appear and it just needs to be confirmed.
Refer to the Wallet 0.9.0 changelog for a more in-depth view of the changes.