Попытаюсь пояснить на примере.
Откройте код страницы:
view-source:https://ads.0xbt.net/ads.html
Вы увидите там скрипт запроса к сети эфира:
<script>
var web3 = new Web3(new Web3.providers.HttpProvider("https://node3.web3api.com"));
// var web3 = new Web3(new Web3.providers.HttpProvider("https://mainnet.infura.io/v3/80f1c00345214da4bdbc4d02f35fb265"));
var version = web3.version.api;
console.log(version);
var MyContract;
var myContractInstance;
try {
MyContract = web3.eth.contract([{"constant":true,"inputs":[],"name":"getAds","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newAds","type":"string"}],"name":"setAds","outputs":[],"payable":true,"stateMutability":"payable","type":"function"}]);
myContractInstance = MyContract.at("0x30783ee8fdf264f59a1846b24dbfc73ab4aa7d18");
}
..............т.д...........................
Это применительно к данному контракту, адаптируйте под свой.
Далее - кнопка запроса:
<button type='button' id='btn_5' class="knopka" onclick="ethcall2('getAds', 'input_5','myanswer_5','string', '|string', 'btn_5');"><b><span style="color:white;">Get <i class="fa fa-btc"></i> Ads</span></b></button>
адаптируйте
Теперь подключение к Метамаск и отправление транзакций(в примере сеть бинанс):
view-source:https://ads.0xbt.net/ads-bsc.htmlview-source:https://ads.0xbt.net/dapp.html
Те же манипуляции........)))
Я не могу понять как эту проблему обойти. Пишу через VCode Studio. Юзаю Node js.
В IDE проблемы нет, но со стороны клиента - такая ошибка.
Насколько я понял, метод require не используется браузерами. Но как мне тогда позднее использовать этот код на страничке сайта? И как проверять работоспособность сейчас.