这个是因为没有引入 和初始化 web3 对象。
原来的代码:
sendBtn.onclick = async () => { try { const accounts = await ethereum.request({method:'eth_requestAccounts'}); console.info(accounts) web3.eth.sendTransaction({ from:accounts[0], to:'0x4CCbD5D055fAd49d9278a6c43F1d27b9537737b5', value: 100000000000000000, gas: 21000, gasPrice: 20000000000 },(result) =>{ console.log(result); }) }catch (e) { console.error(e) } }
现在初始化 web3
sendBtn.onclick = async () => { try { const accounts = await ethereum.request({method:'eth_requestAccounts'}); // 初始化 web3 web3 = new Web3(web3.currentProvider); if (web3.currentProvider.isMetaMask == true) { console.info("MetaMask可用") } else { console.info("非MetaMask环境") } web3.eth.sendTransaction({ from:accounts[0], to:'0x4CCbD5D055fAd49d9278a6c43F1d27b9537737b5', value: 100000000000000000, gas: 21000, gasPrice: 20000000000 },(result) =>{ console.log(result); }) }catch (e) { console.error(e) } }
然后执行,后发现 Web3 is not defined 错误,文章来源:https://www.toymoban.com/news/detail-756384.html
现在只要引入 web3.js 文件即可。文章来源地址https://www.toymoban.com/news/detail-756384.html
<script src="https://cdn.jsdelivr.net/npm/web3@latest/dist/web3.min.js"></script>
到了这里,关于Cannot read properties of undefined (reading ‘sendTransaction‘)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!