Embark

獲取“載入 <contract>.sol 的內容時出錯”

  • March 3, 2020

設置好“embark-create-react-dapp-template”後,我沒有看到合約文件夾。所以我在項目的根級別下創建了一個(就像在展示中一樣)。但是當我執行“開始執行”時,我得到了以下資訊:

Blockchain node is ready
Ethereum node detected..
Error while loading the content of EventCrowdTokenImpl.sol
loading solc compiler...
compiling solidity contracts...
EventCrowdTokenImpl has no code associated
did you mean "EventCrowdToken"?
deploying contracts
Executing pre-deploy actions...
Pre-deploy actions done. Deploying contracts
finished deploying contracts
Deployment Done

我可以說我的solidity 文件和contracts.js 很好,因為它們確實在正常部署中工作(沒有bark-create-react-dapp-template)。

注意:由於我的契約在 0.5.0 上,我已將 solc 更新到最新版本。我不確定這是否是問題的原因。

該錯誤消息沒有提供太多詳細資訊供我進一步調查。

如果您能給我指導如何解決它或進一步調查的方法,我將不勝感激。非常感謝。

我發現了這個問題。solidity 合約中的“導入”指的是文件夾中不可用的文件。我的編輯沒有突出顯示它。

是否為該契約正確創建了契約工件?它應該在src/embarkArtifacts/contracts/EventCrowdTokenImpl.js.

如果沒有,請嘗試embark build --contracts-only看看會發生什麼。

引用自:https://ethereum.stackexchange.com/questions/70921