Simple Wallet

GROUP TOKEN ALLIANCE
5 min readApr 26, 2018

--

Hello! In recent times, cases of theft of the crypto currency have become more frequent. For example, a recent episode with the theft of ethers through the phishing of MyEtherWallet, details here and here:

MyEtherWallet official twitter

Ways of theft are very different: phishing sites of wallets and exchanges, substitution of IP addresses and website addresses. People have a certain distrust in the existing sites of wallets and exchanges. Each user needs to be sure of the used code when making a transfer or exchanging crypto currency. Confidence that the program code will not conduct hidden transactions or save (steal) private keys and passwords.

Of course, not all users are specialists in software development. But if you have a crypto wallet site very simple, open and minimalistic, you can very simply check the mechanism of its operation. To see that the program code only performs transaction between addresses and does not make hidden transactions and does not save passwords and private keys.

When we in GroupTokenAlliance yesterday learned about a new case of stealing ethers from a fake MyEtherWallet, we thought about how people can protect themselves from such cases and not be deceived. We realized that users do not need a convenient (but complicated) MyEtherWallet interface. Users need confidence that the software code of the wallet does just the right transaction and nothing more.

We asked the EtherCall team to distract briefly from developing the binary option application and make the most simple and open wallet for the ethereum transactions. The EtherCall team completely fulfilled our task.

We are proud to present the simplest and most open wallet for the translation of the ether — SimpleWallet. The wallet consists of one index.html file (121 lines of code) is fully accessible to everyone at the github project page. SimpleWallet can be launched as a web page at github. You can download it to your local drive and run it locally in the browser — it will work.

SImple Wallet minimalistic interface

Brief User’s Guide to Simple Wallet

SimpleWallet does not store any of your data. Therefore, all required fields must be re-entered every time the page is launched. This is done intentionally for the security of user data.

The data entered by the user is not checked for correctness. This is done specially to avoid complicating the web page code so that the code is minimalistic and easy to read.

Input parameters:

Node Address — Set here address to your ethereum node. It can be local node or node at infura.io For testing we are using this test node (ethereum ropsten) https://ropsten.infura.io/KEnqBsuF7hVHA71fyEwS . If you want to use main ethereum network please use the main node, we are using this node https://mainnet.infura.io/KEnqBsuF7hVHA71fyEwS

From address — You send ether from this address.

Private key — To sing transactions you have to input your private key. This is private info. Keep it in safe. Your private key used only for signing transaction.

To address — This address will receive ether after transaction complete.

Gas price in WEI — Gas price can change and depends of ethereum network workload. You can see optimal gas price at ethgasstation.info. Be carefull this value is in WEI. To set 1 GWEI you need to input 1000000000 (1 and 9 0's). To set 0.1 GWEI need to input 100000000 (1 and 8 0's). Try to change its value — input hint show this recalculated value in GWEI.

input hint

Gas limit — This parameter limits miners to charge you for transaction mining, default is 30000.

Ether — Amount ether to send. This value is in ether. If you want to send 1ETH — input 1. If you want to send 0.1ETH input 0.1 and so on.

An example of SimpleWallet working

After filling all the required fields. (Remember that the responsibility for correct filling lies with the user). press the button “Send Ether”.

Before the transaction is created, a confirmation window will appear. There is a chance to stop and cancel.

confirmation window

If you confirm, the transaction will be confirmed and sent to the ethereum network. To see the confirmation of the transaction in the ethereum network, you can follow the link at etherscan at the bottom of the page:

list of transactions

the etherscan details by transaction hash

transaction details

Brief code review

It is not hard to understand what exactly the code do.

At github page https://github.com/EthercallTeam/SimpleWallet/blob/master/index.html you can see the whole source code of the SimpleWallet

The core code starts from line 76:

Simple Wallet core code

The initialisation of input values (lines 76–82).

Confirmation window (lines 83–85).

Transaction prepare (lines 88–95).

Sign transaction — the only case when Private key is used (line 97).

Send signed transaction to ethereum network and show link to etherscan (lines 100–118)

So this ethereum wallet is absolutely open, transparent and trusted.

Thank you!

Update. Follow us! Twitter, Facebook

--

--