Estoy tratando de implementar un pago de metamáscara realmente básico y simple en reactjs. Esto es lo que hice, handleClick se activa con un botón:
handleClick = () => {
let web3 = new Web3();
window.web3 = new Web3(web3.currentProvider);
web3.eth.sendTransaction({
to: '0xE08aa75AAE695c4622Cd430FbeBF4B97689d4Ee3',
from: '0xf59F88E6eA4A937e228E4aaf378e96EDfb646B14',
value: web3.utils.toWei('1', 'ether'),
})
};
No inserté ninguna verificación si metamask está allí porque quiero probar lo más simple posible para comprender mejor web3js y reactjs. no me sale ningun error pero no pasa nada
Supongo que el problema es que está anulando la instancia web3 inyectada.
MetaMask debe inyectar la variable web3, por lo que con su segunda línea de código la anula, en su lugar, debe crear una nueva variable y configurar el proveedor usando web3 inyectado.
Prueba esto:
handleClick = () => {
let web3js = new Web3(window.web3.currentProvider);
web3js.eth.sendTransaction({
to: '0xE08aa75AAE695c4622Cd430FbeBF4B97689d4Ee3',
from: '0xf59F88E6eA4A937e228E4aaf378e96EDfb646B14',
value: web3js.utils.toWei('1', 'ether'),
})
};
gringo
let web3 = new Web3();
obtengo un error 'web3' no está definido . (web3js importado conimport Web3 from 'web3';
Kai Kalberer
let web3js = new Web3(window.web3.currentProvider)
gringo
let web3 = new Web3(); let web3js = new Web3(window.web3.currentProvider) web3js.eth.sendTransaction({ to: '0xE08aa75AAE695c4622Cd430FbeBF4B97689d4Ee3', from: '0xf59F88E6eA4A937e228E4aaf378e96EDfb646B14', value: web3.utils.toWei('1', 'ether'),
Kai Kalberer
let web3
parte :) - el código debería funcionar exactamente como en mi respuesta (con suerte :))gringo
let web3 = new Web3();
que me da 'web3' no está definido el error de todos modosKai Kalberer
value: web3.utils.toWei('1', 'ether'),
solo vuelva a verificar la respuesta actualizadagringo