Я хочу понять, как работает интерфейс смарт-контрактов. Я пытаюсь запустить этот код на своем компьютере, но метамаска постоянно не определена. Не могли бы вы подробно объяснить, почему это происходит. Почему он не подключается к провайдеру метамасков?
<script>
$(".sendButton").click(function(){
let Web3 = require('web3');
if (typeof web3 !== 'undefined'){
web3 = new Web3(web3.currentProvider);
}
else {
alert('You have to install MetaMask !');
}
const abi = some abi
const contractAddress = "some contract";
let MyContract = web3.eth.contract(abi);
let myContractInstance = MyContract.at(contractAddress);
let functionData = myContractInstance.setMessage.getData($('#inputString').val());
web3.eth.sendTransaction({
to:contractAddress,
from:web3.eth.accounts[0],
data: functionData,
},
function(error, response){
console.log(response);
});
});
</script>
</body>
</html>