Acabo de codificar la función de transferencia de éter usando REMIX IDE en Ropsten testnet.
Tiene solo dos funciones que configuran la dirección del receptor y la cantidad de éter y envían éter a la dirección del receptor.
Después de implementar el contrato y ejecutar la función "transferir", me muestra un error como el siguiente.
Error de estimación de gas con el siguiente mensaje (ver más abajo). Es probable que la ejecución de la transacción falle. ¿Quieres forzar el envío? Error: el gas requerido excede la asignación o siempre falla la transacción en chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:1401895 en chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:931969 en chrome-extension://nkbihfbeogaeaoehlefg /background.js:1:350331 en o (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:368562) en chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:353161 en chrome-extension:// nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:350331 en c (extensión de cromo://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:353437) en extensión de cromo://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1: 353475 en Ht (extensión cromada://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:362844) en Object. (extensión cromada://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:353564) en e.value (extensión cromada://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:932884) en extensión cromada://nkbihfbeogaeaoehlefnkodbef/background.jsn :1:932451 en n (extensión cromada://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:368506) en o (extensión cromada://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:368584) en extensión-cromada://nkbihfbeogkodgaeaonf /background.js:1:353161 en chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:932417 en n (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:368506) en o (chrome-extension: //nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:368584) en la extensión de cromo:
Y mi código es este.
pragma solidity ^0.4.16;
contract test {
address public receiver;
uint public amount;
function test(address _receiver, uint _amount) public {
receiver = _receiver;
amount = _amount;
}
function () public {
receiver.transfer(amount);
}
}
por favor, ayúdame.
Gracias.
Su función alternativa no está marcada payable
.
Dado que no es pagadero, aunque establezca el receptor y la cantidad, en realidad no puede enviar tanto éter al contrato para completar la transferencia definida dentro de la función de reserva.
La adición de pagos fija el contrato:
pragma solidity ^0.4.16;
contract test {
address public receiver;
uint public amount;
function test(address _receiver, uint _amount) public {
receiver = _receiver;
amount = _amount;
}
function () payable public {
receiver.transfer(amount);
}
}
Raghav Sood
hijo ingyun