PopLocker — Public Release!

Gareth Lewis
PopLocker
Published in
4 min readSep 5, 2019

We are very pleased to announce the public release of PopLocker - Phase 2 of the project is now officially complete 🍾.

Go to poplocker.io (from desktop, not mobile) and then install the browser extension in the link.

PopLocker is an Ethereum DApp browser / wallet and an alternative to Metamask. It is currently a desktop browser extension — although in the future, it will be a dedicated browser on both desktop and mobile.

PopLocker is targeted at a mainstream audience with a focus on simplicity and adoption. The interface aims to be clean, intuitive and easy to understand — we welcome feedback on how close we are to these aims! More advanced users (e.g. those wanting to run on a testnet or manage multiple accounts or proficient with the intricacies of gas pricing) will want to stick with Metamask. At PopLocker we believe that the functionality in the browser layer should be kept to a minimum (i.e. just account management and transaction signing) and all other functionality should be in the DApps. This is why, for example, there is no ERC-20 wallet built in — rather users should use PopLocker to browse to an appropriate ERC-20 wallet DApp.

All a user needs to create an account is a password — which is used to encrypt a private key in the extension’s storage. There are no seed phrases or private keys exposed to users and indeed no private key or seed phrase ever leaves the device. Instead, once a user has some ETH, they are able to backup their account by upgrading it to a SmartLocker. These are non-custodial smart contract wallets that allows users to link multiple devices to the same account (by using clever concepts such as meta-transactions and gas relayers). By upgrading to SmartLockers users can access a single account/identity on the Ethereum network from multiple devices — this also provides backup, if one device is lost then the user has other devices that can access their funds.

Obviously the power of multiple devices linked through SmartLockers will only be fully realised when PopLocker is available on mobile (at the moment your different devices must be able to run the desktop browser extension). Mobile is the next phase of the project (Phase 3), however… Phases 1 and 2 were funded by a grant from the Ethereum Foundation (thanks EF 🙏) and those funds have long been spent — we are actively seeking funding to progress Phase 3 (PopLocker is entirely a non-commercial and fully open-source project). Nonetheless this release of PopLocker is a fully-working desktop product and we hope that people use it and like it — a positive community reaction would make funding discussions easier 😀. We also have an ETH donation address here: 0xc8a0471503Cb0041D81C9D2C555c3396e889DC3b.

Some disclaimers: if you haven’t upgraded to a SmartLocker and you lose access to your device or forget your password, you will lose yours funds. If you have upgraded to a SmartLocker and you lose access to all linked devices, then similarly you will lose your funds. PopLocker has not been audited — again this is planned for the future but we have no funds at the moment to do so. (The source code however is here: https://github.com/poplocker-dev and the verified smart contracts are available here: https://etherscan.io/address/0x529aeee973f044e8c5d9a1f8e0097460642caf4f#code). For these reasons, we do not recommend you use PopLocker to store large funds.

Finally a couple of more advanced points for interested readers:

Gas relayers: SmartLockers require a gas relayer network to send meta-transactions (which are then refunded by the user’s respective smart contract). At the moment we are running a gas relayer that takes a fee of 1 GWEI for every SmartLocker transaction — however the system is designed to promote a fee market and we welcome other participants to run their own gas relayers and undercut our fee (in which case those meta-transactions will “win” and be mined quicker). Instructions on running our gas relayer are here: https://github.com/poplocker-dev/gas-relayer (but we also encourage developers to build their own). Such competition should encourage a robust gas relayer network with low fees — we will write in more depth about this and the economics of a gas relayer network in a future post.

DApp compatibility: We believe that DApp browsers such as PopLocker should not directly inject web3 or similar libraries — rather we inject only the web3 provider and allow the DApps themselves to chose which libraries to use for interacting with the Ethereum network. Also we also don’t support the older synchronous requests (e.g. eth.accounts) preferring the new, improved asynchronous methods (e.g. eth.getAccounts()). For these reasons there are compatibility issues with a few existing DApps. Our hope here is that DApp developers will update (i.e. (a) include their preferred web3 libraries and use the PopLocker injected provider and (b) don’t use synchronous requests) rather than continue to promote legacy practices in the wider ecosystem.

Thanks for reading — we hope you enjoy PopLocker!

website: http://poplocker.io
mail: info@poplocker.io
github: https://github.com/poplocker-dev
telegram: https://t.me/poplocker
medium: https://medium.com/poplocker
twitter: https://twitter.com/poplocker_io
donations: 0xc8a0471503Cb0041D81C9D2C555c3396e889DC3b

--

--