question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Add built-in Ethereum remote client / wallet / Dapp browser

See original GitHub issue

We’re in the process of adding a first class Ethereum remote client / wallet feature to Brave by integrating a fork of Metamask that we’ll modify, enhance and maintain. Sometimes native APIs that only Brave supports will be used, in those cases it probably doesn’t make sense to upstream those parts.

We’ll be upstreaming as much as we can to MetaMask. We have been, and will continue to collaborate with the MetaMask team as this work progresses.

Some bigger main differences will be:

  • Initial UI will not include a browser action button, but be a menu item in the hamburger menu that opens up the full wallet view.
  • Dapp detection UI and popup UI will be used. The user will need to give permission to a page to see any available API (e.g. EIP 1102 window.ethereum and web3).
  • It will use Brave branding.
  • The UI will be modified in some ways.
  • The seed key will be derived from the Brave key (currently only used for Sync) via a 1 way transformation. Which means you only need to backup 1 set of BIP-39 style codewords and then you can use either or both of client side encrypted sync and the wallet. Sync uses curve25519 whereas Ethereum uses secp256k1.

Rollout:

  • Desktop will be rolled out first.
  • Android is in the process of being re-written on top of Brave Core and it will support this feature after we add extension support here https://github.com/brave/brave-browser/issues/4493. We are planning to also tie into Samsung and HTC private enclave and / or wallet.

Future Brave rewards features will integrate and use this wallet support for P2P transactions.


Some stats from MetaMask which are relevant :

Here’s some stats for the month of April for MetaMask:

264,000 MAU
30% of active users confirm on chain transactions
1.5152M transactions 

Of 100% of network type activity:
- 63% of activity happens on mainnet
- 14.5% Ropsten
- 8% Rinkeby
- 6% Ganache
- 2% Kovan
- 6.5% Other

Of 100% of initiation type for transactions:
- 76% via popup from apps
- 24% via the user
Privacy Preserving Product Analytics (P3A)

Of 100% transaction types:
- 18% token transfers
- 12% ETH sends
- 3% approve
- 2.5% transfer from
- 0.2% contract deployment
- 64% Other contract interaction

Top mainnet sites by volume:
- 0x universe
- Cryptokitties
- Dice 2 Win
- Axie Infinity
- Fork Delta

Diversity of transactions to apps:
- Over 25 apps have over 5k transactions

Source: https://medium.com/metamask/metamask-metrics-fbec0e2ceaa7


Here are the issues closed as part of this feature: https://github.com/brave/brave-browser/issues?q=label%3Afeature%2Fcrypto-wallets+is%3Aclosed

Test Plan

I’m going to need help with this but:

  • New profile and navigating to brave://wallet or chrome://wallet should take a bit longer the first time and actually install the component and work seamlessly.

  • New profile and instead going to the hamburger menu for crypto wallet should do the same and install and open the wallet.

  • Chromium Process Task Manager in the hamburger menu tools should not show that it is running before installing it via one of the 2 above methods.

  • Test basic wallet functionality for ETH send/receive

  • Test basic wallet functionality for ERC20 send/receive

  • Test basic Dapp functionality, buy a cryptokitty and Sire it. Use a Dex.

  • Try changing from mainnet to another network, make sure it works.

  • Check closed issues that are labeled feature/crypto-wallets inside of 0.70.x milestone for more ideas.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:20
  • Comments:8 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
bbondycommented, Oct 2, 2019

sgtm

0reactions
radeksvarzcommented, Jun 9, 2021

Android is in the process of being re-written on top of Brave Core and it will support this feature after we add extension support here #4493.

Can you please elaborate, why it needs to wait for it?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Creating a Ethereum DApp with MetaMask - Crowdbotics
Once you are at the Chrome web store, just click on “Add to Chrome ” to add the MetaMask extension into your browser....
Read more >
WalletConnect How to Connect your dapp with ... - YouTube
2.5K views Streamed 7 months ago. 2,525 views • Streamed live on May 11, 2022. Join Pedro Gomes of WalletConnect for a workshop...
Read more >
A Definitive List of Ethereum Developer Tools | by ConsenSys
Metamask — Chrome extension wallet to interact with Dapps. Truffle boxes — Packaged components for the Ethereum ecosystem; EthHub.io — Comprehensive ...
Read more >
How to Enable DApp Browser on Trust Wallet?
Enabling dApps Browser on Android Devices · Access Trust Wallet on Your Android Device · Access Settings · Enable the dApps Browser.
Read more >
EIP-2255: Wallet Permissions System
Today web3 browsers like MetaMask always prompt on a per-action basis. This provides security at the cost of substantial user friction. We ...
Read more >

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found