如何从以太坊中已部署的合同中调用合同功能

时间:2017-04-09 06:48:29

标签: ethereum

我在Enthereum有一份已经部署过的合同。 我想从中调用函数。

现在我可以这样做:

watch_addr.call(bytes4(sha3("register()")))

但仅当函数没有参数时。 使用参数我试试这个,但没有成功:

watch_addr.call(bytes4(sha3("register("This text is hard codded")")))

我读了这个解决方案:https://ethereum.stackexchange.com/questions/2826/call-function-on-another-contract 但我不能这样做,因为第一份合同已经部署,当我部署第二份合同时,我不知道第一份的源代码。 所以,这个解决方案不适合我。

我需要这样的命令:

watch_addr.call(bytes4(sha3("register("This text is hard codded")")))

如何使用其他合约中的参数调用函数? 任何想法......

1 个答案:

答案 0 :(得分:1)

watch_addr.call(bytes4(sha3("Bar(int256)")), 42);