Solidity
在 TestRPC 中導致“無效操作碼”的修飾符
我有一個執行良好的代幣和眾籌,除了在測試中。我可以使用所有方法,但我在其中任何一個呼叫另一個在該函式上具有修飾符的契約的方法上都得到了無效的操作碼。
例如,如果我有
ContractA
,ContractB
和ContractC
, 並且我呼叫ContractA
fromaddressA
, 並且ContractA
有一個修飾符只接受來自 的呼叫addressA
,並且所有ContractA
呼叫到ContractB
的函式和所有函式ContractB
都有修飾符來只接受來自 的呼叫ContractA
。這在實踐中效果很好,在我執行測試時會中斷。如果我刪除修飾符,測試就會執行。這是一個已知的錯誤?我可以確認所有使用的修飾符
msg.sender
- 也許 testrpc 沒有正確轉發?
好的,我終於調試好了。在我的測試中,當我應該使用在 Token.deployed() 上返回的 tokenInstance.address 變數時,我使用 Token.address 語法來獲取地址。謝謝!