Contract-Deployment
Monax :-執行作業配置文件中的問題
我正在使用 Monax 版本 0.18.0。我正在遵循在 Monax https://monax.io/docs/getting-started/中部署合約的教程。我使用了他們開始教程中定義的範例契約。
pragma solidity ^0.4.0; contract IdisContractsFTW { uint storedData; function set(uint x) { storedData = x; } function get() constant returns (uint retVal) { return storedData; } }
我在他們的教程中使用了 epm.yaml 文件。
jobs: - name: setStorageBase job: set: val: 5 - name: deployStorageK job: deploy: contract: idi.sol - name: setStorage job: call: destination: $deployStorageK data: set $setStorageBase - name: queryStorage job: query-contract: destination: $deployStorageK data: get - name: assertStorage job: assert: key: $queryStorage relation: eq val: $setStorageBase
在執行配置時,它不會生成合約的部署地址。
將此問題視為對使用 Monax 創建應用程序問題的後續問題:- 在 JSON 中找不到契約。
如前所述,我通過省略契約 idi.sol 的作業欄位來更新 epm.yaml 文件。
jobs: - name: setStorageBase set: val: 5 - name: deployStorageK deploy: contract: idi.sol - name: setStorage call: destination: $deployStorageK data: set $setStorageBase - name: queryStorage query-contract: destination: $deployStorageK data: get - name: assertStorage assert: key: $queryStorage relation: eq val: $setStorageBase
我的問題如下: -
Sorry, the marmots were unable to load the monax jobs file. Please check your path: While parsing config: yaml: line 3: mapping values are not allowed in this context
任何幫助表示讚賞。
yaml 解析器非常嚴格地使用 (tab) 縮進。我認為這可能是由於您的 .yaml 文件的格式。它應該看起來像這樣(還沒有嘗試過,但是其他文件對我有用)。
還要注意呼叫合約時使用
function
and (而不是僅使用包含函式名稱的行,不推薦使用)。data``data
工作: - 名稱:setStorageBase 放: 值:5 - 名稱:deployStorageK 部署: 契約:idi.sol - 名稱:setStorage 稱呼: 目的地:$deployStorageK 功能:設置 數據:[$setStorageBase] - 名稱:查詢儲存 查詢合約: 目的地:$deployStorageK 功能:獲取 - 名稱:斷言儲存 斷言: 鍵:$queryStorage 關係:eq 價值:$setStorageBase