Programar llamadas de función de contrato Un contrato de ethereum que facilita la programación de llamadas de función para un bloque específico en el futuro. Las llamadas de función se pueden programar para que se ejecuten contra cualquier contrato. La programación puede ser realizada por contratos o titulares de cuentas de ethereum. Completamente contenido dentro de la red ethereum.
[P] ¿Cómo podría usar Ethereum Alarm Clock
(principalmente contrato Scheduler.sol) en una red privada de ethereum? Manualmente, he intentado compilar contratos/* bibliotecas/* archivos que se encuentran dentro del código fuente utilizando Solidity Browser, pero me enfrento a los siguientes errores que no pude corregir.
En el archivo CallLib.sol
Untitled:474:25: Error: Fallback function cannot return values.
function () returns (bool) {
^----^
Untitled:394:16: Error: Explicit type conversion not allowed.
return State(CallLib.state(call));
^------------------------^
En SchedulerLib.Sol:
Untitled:191:20: Error: Member "value" not found or not visible after argument-dependent lookup in function (address,uint256,uint8,address,bytes4,bytes memory,uint256,uint256,uint16,uint256,uint256) returns (contract FutureBlockCall) - did you forget the "payable" modifier?
var call = (new FutureBlockCall).value(callConfig.endowment)(
^-------------------------^
Gracias por su valioso tiempo y ayuda.
La versión que vinculó (0.7.0) se lanzó el 31 de enero de 2016. En ese momento, la última versión de Solidity era 0.2.1 (30 de enero de 2016).
Si cambia la versión de su compilador a esa versión de Solidity en el IDE de Remix, el contrato se compilará perfectamente. Puede encontrar un fragmento de ETHFiddle que funcione aquí .
Tenga en cuenta que el contrato Ethereum Alarm Clock es inútil en redes privadas, ya que depende de partes externas (humanos) para ser recompensados en Ether para activar la alarma .
Se hizo más fácil implementar EAC en cualquier red, incluida la red local.
En ejecución de proyecto NPM nuevo o existente:
npm i --save @ethereum-alarm-clock/lib
Luego, cuando tenga una red en ejecución, ejecute:
npx eac-deploy-contracts
Esto está usando new @ethereum-alarm-clock/lib .
Si desea ver el tutorial completo, consulte:
Tutorial de texto: https://github.com/ethereum-alarm-clock/ethereum-alarm-clock/wiki/Integration-using-EAC-JavaScript-library
Videotutorial: https://youtu.be/DY0QYDQG4lw
gaitero merriam
0.3.6
.alper
0.4.8
. Cambié el compilador0.3.5
como me recomendaste y se compiló. Solidity Browser se congela o tarda alrededor de 10 minutos en completar la compilación debido al tamaño del código (pegué todos los contratos en el mismo archivo y compilé todos juntos), ¿puede ser más eficiente implementar el código del contrato usandogeth
? @PiperMerriam. ¿Hay alguna manera de que pueda responder a esta pregunta?alper
gaitero merriam
populus
.Jaime