amaury1093 / login-with-metamask

Demo project for "One-click Login with Blockchain: A MetaMask Tutorial"
https://www.toptal.com/ethereum/one-click-login-flows-a-metamask-tutorial
MIT License
678 stars 291 forks source link

Has the laterst changes of Web3, as of 2021, been incorporated? #189

Open naddika opened 3 years ago

naddika commented 3 years ago

Has the laterst changes of Web3.js, as of 2021, been incorporated? Does this demo work properly with the laterst versions of MetaMask?

amaury1093 commented 3 years ago

I'm not 100% sure. Would you like to try and report back?

tombenj commented 3 years ago

@amaurym I'm getting this:

Failed to compile
src/Login/Login.tsx
Syntax error: Unexpected token, expected ";" (40:32)

  38 |  }) => {
  39 |      try {
> 40 |          const signature = await web3!.eth.personal.sign(
     |                                      ^
  41 |              `I am signing my one-time nonce: ${nonce}`,
  42 |              publicAddress,
  43 |              '' // MetaMask will ignore the password argument here
gotnull commented 3 years ago

Any update on this?

amaury1093 commented 3 years ago

Hey everyone, thanks for your interest in this project! I unfortunately will not have time to work on this issue in the near future, so I'm leaving it for the community. If anyone wants to explore what's going on here, please do!

lucaswjohnson commented 3 years ago

@tombenj @gotnull @naddika I just connected to my metamask just fine without changing anything. Can you explain what you're doing to produce the error so I can reproduce it please?

steoniy commented 3 years ago

@tombenj @gotnull @naddika I just connected to my metamask just fine without changing anything. Can you explain what you're doing to produce the error so I can reproduce it please?

I am experiencing same issue, just by running docker-compose up -d and trying to access localhost:3000

amaury1093 commented 3 years ago

Please note that this might also be related to https://github.com/amaurym/login-with-metamask-demo/issues/174: I could run with yarn start, but the dockerfile didn't work.

q9f commented 3 years ago

The original issue is pretty vague, but I also stumbled across this today; mainly because MetaMask stopped injecting web3: https://docs.metamask.io/guide/provider-migration.html#replacing-window-web3

I raised a discussion on Stack Exchange because I cannot find any working reference of eth_personalSign in the latest version of MetaMask though: https://ethereum.stackexchange.com/questions/109472/how-to-authenticate-with-an-ethereum-account-through-personalsign - FYI.

I'm basically working on bringing Ethereum SSO to Rails but the MetaMask reference is still a bit spotty in that regard.

sledmonkey commented 3 years ago

@q9f looks like you had a reply to your stack exchange. Does that help here?

sledmonkey commented 3 years ago

@tombenj @gotnull @naddika I just connected to my metamask just fine without changing anything. Can you explain what you're doing to produce the error so I can reproduce it please?

Not working for me either and getting same error as op. Have tried using docker-compose and docker run approaches (Readme 1 & 2).

Readme option 3 gives me a completely different error. src/App/App.tsx Line 36:8: Avoid referencing unbound methods which may cause unintentional scoping of this @typescript-eslint/unbound-method

q9f commented 3 years ago

@q9f looks like you had a reply to your stack exchange. Does that help here?

Yes, I have completed an MVP using Rails and the new MetaMask API, you can check the README here: https://github.com/q9f/ethereum-on-rails#how-it-works and scroll down to "How it works"

I also "translated" the APIs in this ticket, that has the latest window.ethereum calls that work exactly like described in the tutorial by @amaurym: https://github.com/byz-f/omniauth-ethereum/issues/1 (Scroll down to "Frontend MVP"!)