У меня возникают проблемы с вызовом функции y() в контракте pullother. Вход для функции y() является выходом функции g(). Когда я вызываю y(), используя этот ввод, вывод пуст ('', если быть точным), а не 15. Я не совсем уверен, что я здесь делаю неправильно, поскольку это, кажется, согласуется с примерами, которые я вижу в Интернете людей успешный вызов функций из других контрактов.
Ниже находится Untitled.sol
pragma solidity ^0.4.6;
contract helloworld {
function f() returns (uint){
return 15;
}
}
Ниже приведен контракт, который я хотел бы использовать для вызова функции f() в контракте helloworld.
pragma solidity ^0.4.6;
import "./Untitled.sol";
contract pullother {
address public hello;
function g() returns (address){
hello = new helloworld();
return hello;
}
function y(address contractadd) returns (uint){
helloworld h = helloworld(contractadd);
h.f();
}
}
Я попробовал ваш код в браузере Solidity, и он работает .
Я думаю, вам нужно использовать
return h.f()
бриз
Бадр Беллай