Я пытаюсь реализовать действительно простой и простой платеж метамаски в reactjs. Это то, что я сделал, handleClick запускается кнопкой:
handleClick = () => {
let web3 = new Web3();
window.web3 = new Web3(web3.currentProvider);
web3.eth.sendTransaction({
to: '0xE08aa75AAE695c4622Cd430FbeBF4B97689d4Ee3',
from: '0xf59F88E6eA4A937e228E4aaf378e96EDfb646B14',
value: web3.utils.toWei('1', 'ether'),
})
};
Я не вставлял никаких проверок наличия метамаски, потому что хочу попробовать самую простую вещь, чтобы лучше понять web3js и reactjs. Я не получаю никаких ошибок, но ничего не происходит
Я предполагаю, что проблема в том, что вы переопределяете внедренный экземпляр web3.
Переменная web3 должна быть введена MetaMask, поэтому во второй строке кода вы переопределяете ее, вместо этого вы должны создать новую переменную и установить провайдера, используя внедренную web3.
Попробуй это:
handleClick = () => {
let web3js = new Web3(window.web3.currentProvider);
web3js.eth.sendTransaction({
to: '0xE08aa75AAE695c4622Cd430FbeBF4B97689d4Ee3',
from: '0xf59F88E6eA4A937e228E4aaf378e96EDfb646B14',
value: web3js.utils.toWei('1', 'ether'),
})
};
гринго
let web3 = new Web3();
я получу ошибку «web3» не определен . (web3js, импортированный сimport Web3 from 'web3';
Кай Кэлберер
let web3js = new Web3(window.web3.currentProvider)
гринго
let web3 = new Web3(); let web3js = new Web3(window.web3.currentProvider) web3js.eth.sendTransaction({ to: '0xE08aa75AAE695c4622Cd430FbeBF4B97689d4Ee3', from: '0xf59F88E6eA4A937e228E4aaf378e96EDfb646B14', value: web3.utils.toWei('1', 'ether'),
Кай Кэлберер
let web3
части :) - код должен работать точно так же, как в моем ответе (надеюсь :))гринго
let web3 = new Web3();
дает мне ошибку «web3» не определенаКай Кэлберер
value: web3.utils.toWei('1', 'ether'),
просто перепроверьте обновленный ответгринго