Contract-Deployment

Monax :-執行作業配置文件中的問題

  • February 2, 2018

我正在使用 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 文件的格式。它應該看起來像這樣(還沒有嘗試過,但是其他文件對我有用)。

還要注意呼叫合約時使用functionand (而不是僅使用包含函式名稱的行,不推薦使用)。data``data

工作:

- 名稱:setStorageBase
放:
值:5

- 名稱:deployStorageK
部署:
契約:idi.sol

- 名稱:setStorage
稱呼:
目的地:$deployStorageK
功能:設置
數據:[$setStorageBase]

- 名稱:查詢儲存
查詢合約:
目的地:$deployStorageK
功能:獲取

- 名稱:斷言儲存
斷言:
鍵:$queryStorage
關係:eq
價值:$setStorageBase

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