Solidity

Oraclize 程式碼不使用 TRUFFLE COMPIL 編譯

  • January 16, 2018

我正在嘗試使用 TRUFFLE 編譯下面提到的程式碼(取自 Oraclize 文件),但出現編譯錯誤:

“無法解析 one.sol:JSON 中位置 0 處的意外標記 p”。

有人可以建議如何處理此錯誤。

pragma solidity ^0.4.11;
import "./oraclizeAPI.sol"; //Importing Oraclize

contract ExampleContract is usingOraclize {

string public EURGBP;
event updatedPrice(string price);
event newOraclizeQuery(string description);

function ExampleContract() payable {
   updatePrice();
}

function __callback(bytes32 myid, string result) {
   if (msg.sender != oraclize_cbAddress()) throw;
   EURGBP = result;
   updatedPrice(result);
}

function updatePrice() payable {
   if (oraclize_getPrice("URL") > this.balance) {
       newOraclizeQuery("Oraclize query was NOT sent, please add some ETH to cover for the query fee");
   } else {
       newOraclizeQuery("Oraclize query was sent, standing by for the answer..");
       oraclize_query("URL", "json(http://api.fixer.io/latest?symbols=USD,GBP).rates.GBP");
   }
}

}

這是一個可靠文件而不是 json 文件,但 Truffle 顯然試圖將其解析為 json 文件,所以問題可能不在於內容,而在於您放置文件的位置或您嘗試的方式載入它。

確保您的程式碼佈局和呼叫 truffle 的方式遵循教程中的步驟。如果這不能解決問題,請嘗試發布指向您的程式碼的連結以及您正在執行的產生錯誤的命令。

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