2

It is my understanding that Metamask brings a convenient way for the user to interact with DApps by storing their wallets and by providing an interface that gives the user control of what the DApp is doing. Is this correct?

If the user does not mind at all inserting the wallet address and password, and they fully trust the app, is there any reason to use Metamask? Web3.js allows doing everything that Metamask does in the browser as well, right?

1

For your first question, you are absolutely right. There are more other features of metamask please dig it.
Ok now from the side of web3js we can do alot of wallet related work.

web3.eth.accounts

The web3.eth.accounts contains functions to generate Ethereum accounts and sign transactions and data. please see other function related to account.

You can create in memory wallet from web3js

web3.eth.accounts.wallet - Contains an in memory wallet with multiple accounts. These accounts can be used when using web3.eth.sendTransaction().

Now the point is, You can create your own wallet using web3js library. You don't need metamask to

Generate account
deploy contract
Call contract
Encryption
Decryption
sign Transaction

1

Correct. But that would defeat the point of using a decentralized, trustless application.

  • What is the difference between running Web3.js in the browser and using Metamask? – Nic Szer Jul 20 '18 at 16:35
  • 2
    Metamask does all the signing of transactions, without exposing the user's private key to the website – Henk Jul 20 '18 at 16:40
1

You are right to say that you can use web3 to build anything instead of Metamask.And you may not know the advantages of meta-mask in addition to using as a wallet:

  • Unlock MyEtherWallet.com quick, click open
  • When you visit fake sites, it will show a red alert
  • Anti-stealing login key

Since you are a developer, you are only interested in logging into ethereum wallet and offering functionality. But users need an easy experience on the Dapp system. I think Metamask did it very well. Vitalik Buterin once said that one of the big challenges of Ethereum is the limited user experience, so you should keep in mind when developing your app.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.