2017-07-19 163 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。