Implementé un contrato inteligente en la red de prueba de Rinkeby con esta dirección:
0x5e9C4F23d85c28fAD0E7B117B3E0fc94A2da07b0Me conecté con éxito al contrato y puedo usar otras funciones, como setPaused, etc. Estoy tratando de usar la función de menta de este contrato inteligente, pero obtengo un error al intentar acuñar.
Este es mi código html:
<!DOCTYPE html> <html> <head> <title>Basic Template</title> <script src="https://cdn.jsdelivr.net/npm/web3@latest/dist/web3.min.js"></script> </head> <body> <button id="btn-login" onclick="login();">Connect Metamask</button> <button id="mint">mint</button> <script type="text/javascript" src="./abi.js"></script> <script type="text/javascript" src="./mint.js"></script> </body> </html>Esta es mi función javascript menta:
async function mint() { const accounts = await web3.eth.getAccounts(); const contract = new web3.eth.Contract(contractAbi, nft_contract_address); contract.methods.mint(1).send({from: accounts[0], value: 10000000000000000}) } document.getElementById("mint").onclick = mint;Esta es mi función de solidez:
function mint(uint256 _mintAmount) public payable mintCompliance(_mintAmount) { require(!paused, "The contract is paused!"); require(msg.value >= cost * _mintAmount, "Insufficient funds!");Cuando presiono el botón de menta, la metamáscara se abre pero dice que la transacción probablemente fallará y no me deja continuar.
¿Alguna idea de por qué?
El contrato se estableció como "pausa" = "verdadero", por lo que la transacción no se estaba realizando.