2017-07-19 106 views
1

我使用testrpc和松露测试我的智能合同,然后将其部署到真实网络。虚拟机异常

在我的合同,每个节点具有通过调用功能寄存器在合同注册,之后他可以从合同发送或接收消息到/(所述blockchain)

的问题是,当一个地址(让说,从testrpc帐户帐户1)调用的功能(发送或接收)的交易不会发生,并出现

VM Exception while processing transaction: invalid JUMP at 

此消息但是,当我使用其他未注册的帐户来调用这个函数,它的工作原理。

虽然没有消息已发送或接收,但没有例外..

任何想法,我怎么能解决这个问题。

感谢

+0

这可能是一个太晚了,但你有没有尝试在'remix ide'中运行你的合约。链接:www.remix.ethereum.org。 –

回答

0

您使用的是旧版本的SOLC编译你的坚固这是一个优化问题的机会,除非是几乎没有。

现在,这是什么意思呢,它可以发生在例如你运行一个修饰符时它不起作用。或者如果你尝试调用一个你不被允许的函数,它会抛出。例如,在ICO完成后发生很多事情,并且您尝试使用由于约会约束而无法使用的功能,它返回一个Invalid Jump

我看不到您的代码,但我认为您可能会已经在您的修饰符中反转了您的if条件,现在如果用户未注册,则返回true。