Как правильно загрузить web3? это мой код:
async loadweb3() {
if (window.ethereum) {
window.web3 = new Web3(window.ethereum)
await window.ethereum.enable()
} else if (window.web3) {
window.web3 =new Web3(window.web3.currentProvider)
} else {
window.alert(' Non-Ethereum browser detected, Ypu should consider trying Metamask')
}
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


window.web3 устарел. самый простой способ — использовать пакет @metamask/detect-provider npm
import detectEthereumProvider from "@metamask/detect-provider";
const provider = await detectEthereumProvider();
// only if provider is detected, create web3 instance and then create contract
if (provider) {
const web3 = new Web3(provider);
const contract = ..........whatever create contract api u are using
.....