Oraclize-Code wird nicht mit TRUFFLE COMPIL kompiliert

Ich versuche, den unten genannten Code (aus Oraclize-Dokumenten entnommen) mit TRUFFLE zu kompilieren, erhalte jedoch einen Kompilierungsfehler, der besagt:

'one.sol kann nicht geparst werden: Unerwartetes Token p in JSON an Position 0'.

Kann jemand vorschlagen, wie man diesen Fehler behandelt.

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");
    }
}

}

Antworten (1)

Dies ist eine Solidity-Datei, keine JSON-Datei, aber Truffle versucht anscheinend, sie als JSON-Datei zu analysieren. Das Problem ist also wahrscheinlich nicht der Inhalt, sondern der Ort, an dem Sie die Datei abgelegt haben, oder die Art und Weise, wie Sie es versuchen lade es.

Stellen Sie sicher, dass Ihr Code-Layout und die Art und Weise, wie Sie Truffle aufrufen, den Schritten im Tutorial entsprechen. Wenn das Problem dadurch nicht behoben wird, versuchen Sie, einen Link zu Ihrem Code und dem von Ihnen ausgeführten Befehl zu posten, der den Fehler verursacht.

Danke Edmund für deine Antwort. Ich habe das Problem herausgefunden, irgendwie war eine zwischengespeicherte Version dieses Solidity-Codes in meinem Visual Studio-Code vorhanden, der vom Befehl „Truffle compile“ abgeholt wurde und das Problem verursachte. Ich habe die Datei gelöscht, nach der der Code erfolgreich kompiliert wurde.