#web3 #nft #ether
Вопрос:
Я пытаюсь установить цену сделки
Согласно документации :
значение (в вэй): сумма Вэй, которую необходимо перевести от отправителя получателю.
Но когда я ставлю это значение : ( для 0.04 eth) -> я получаю 73 eth в метамаске 🙂
( Я нахожусь в сети ринкеби)
вот мой код:
window.contract = await new web3.eth.Contract(contractABI.abi, contractAddress);//loadContract();
const transactionParameters = {
to: contractAddress, // Required except during contract publications.
from: window.ethereum.selectedAddress, // must match user's active address.
'data': window.contract.methods.mint(window.ethereum.selectedAddress,number).encodeABI(),
value: String(40000000000000000)
};
try {
const txHash = await window.ethereum
.request({
method: 'eth_sendTransaction',
params: [transactionParameters],
});
return {
success: true,
status: " Check out your transaction on Etherscan: https://ropsten.etherscan.io/tx/" txHash
}
} catch (error) {
console.log(error);
return {
success: false,
status: " Something went wrong: " error.message
}
}
Ответ №1:
Я нашел обходной путь, похоже eth_sendTransaction
, он плохо обрабатывает значение. Используя его таким образом, он теперь работает.
window.contract.methods.mint(window.ethereum.selectedAddress, 1).send({
from: window.ethereum.selectedAddress, value: web3.utils.toWei(String(0.05*number),"ether")});