Schedule Contract Function Calls Контракт Эфириума, который облегчает планирование вызовов функций для указанного блока в будущем. Вызовы функций могут быть запланированы для выполнения по любому контракту. Планирование может выполняться контрактами или владельцами учетных записей ethereum. Полностью содержится в сети ethereum.
[В] Как я могу использовать Ethereum Alarm Clock
(в основном контракт Scheduler.sol) в частной сети Эфириума? Вручную я пытался скомпилировать контракты/* библиотеки/* файлы, расположенные внутри исходного кода , с помощью Solidity Browser, но столкнулся со следующими ошибками, которые мне не удалось исправить.
В файле 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));
^------------------------^
В 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)(
^-------------------------^
Спасибо за ваше драгоценное время и помощь.
Версия, на которую вы ссылаетесь (0.7.0), была выпущена 31 января 2016 года. В то время последней версией Solidity была 0.2.1 (30 января 2016 года).
Если вы переключите свою версию компилятора на этот выпуск Solidity в Remix IDE, контракт будет скомпилирован очень хорошо. Вы можете найти рабочий фрагмент ETHFiddle здесь .
Имейте в виду, что контракт будильника Ethereum бесполезен в частных сетях, поскольку он зависит от внешних сторон (людей), которые будут вознаграждены в эфире за фактическое срабатывание будильника .
Стало проще развертывать EAC в любой сети, включая локальную.
В существующем или новом проекте NPM запустите:
npm i --save @ethereum-alarm-clock/lib
Затем, когда у вас есть работающая сеть, запустите:
npx eac-deploy-contracts
Это использует новый @ethereum-alarm-clock/lib .
Если вы хотите увидеть полное руководство, см.:
Текстовое руководство: https://github.com/ethereum-alarm-clock/ethereum-alarm-clock/wiki/Integration-using-EAC-JavaScript-library
Видеоурок: https://youtu.be/DY0QYDQG4lw
Пайпер Мерриам
0.3.6
.альпер
0.4.8
. Я изменил компилятор на0.3.5
то, что вы рекомендовали, и он скомпилировался. Браузер Solidity зависает или компиляция занимает около 10 минут из-за размера кода (я вставил все контракты в один файл и скомпилировал все вместе), может быть более эффективно развернуть код контракта с помощьюgeth
? @PiperMerriam. Можно ли как-то ответить на этот вопрос?альпер
Пайпер Мерриам
populus
.Хайме