1

Short answer: You can't. That's it. Better answer: The async flow has two steps. You have a transaction receipt which is a unique identifier for what you sent. It hasn't been mined, only accepted. It gets mined, and something happens. You're outputting the response from step 1. For step 2, you have a few options and they are documented all over so ...


1

There is event accountsChanged provided by latest MetaMask version and you can use it like this: if(window.ethereum) { window.ethereum.on('accountsChanged', function () { web3.eth.getAccounts(function(error, accounts) { document.getElementById('account-address').innerHTML = accounts; }); }); }


1

The answer to your first question seems to be quite straight forward: you need to provide a callback to the function. It is what the error tells you to do, moreover, the documentation says a callback can be added. Example web3.eth.sendTransaction(transaction, () => { // your callback })


1

See this tutorial and example in Status's documentation. https://status.im/developer_tools/run_on_status/eip-1102.html The idea is to maintain backward compatibility while also introducing and supporting EIP-1102 if/when the browser/metamask/etc supports it. In other words, add EIP-1102 without breaking existing provider support. It looks for EIP-1102 and ...


1

No your account is safe or, better, if you still have the private key of the account you are interested in, your money and your account are safe. You are definitively able to recover them using some other wallet. I use CIPHER on iOS and it is ok. On the other side, simply add a new account in metamask giving the private key when asked for it. Nothing more. ...


1

You can get your accounts back by clicking "Create Account" (once per each account). The accounts are there, however they are not shown until you add them. If the accounts that show up do not match what you are expecting, then you are using an incorrect seed.


Only top voted, non community-wiki answers of a minimum length are eligible