Ich versuche, auf den Inhalt in einer Datei zuzugreifen, die ich mit oraclize auf Swarm hochgeladen habe. Ich habe einen Smart Contract in https://github.com/oraclize/ethereum-examples/blob/master/solidity/Swarm.sol gefunden
Ich habe nur versucht, das 'Hallo Welt' (den Inhalt des Schwarm-Hashes, den der Autor im Vertrag angegeben hat) zu drucken. Also habe ich einfach den Vertrag abgebaut. Verwenden Sie dann die Details im JavaScript wie folgt (mit meteor.js):
//Variablen
VertragAddressSwarm = "0x87b620f0731e15cb1655e216a87c986154ba4248"
ABIArraySwarm = [{"constant":false,"inputs":[{"name":"myid","type":"bytes32"},{"name":"result","type":"string"} ],"name":"__callback","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":" myid","type":"bytes32"},{"name":"result","type":"string"},{"name":"proof","type":"bytes"}]," name":"__callback","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"swarmContent" ,"Ausgänge":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":" update","outputs":[],"payable":true,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{" anonym:false,"inputs":[{"indexed":false,"name":"description","type":"string"}],"name":"newOraclizeQuery","type":"event" },{"anonymous":false,"inputs":[{"indexed":false,"name":"swarmContent","type":"string"}],"name":"newSwarmContent","type" :"Veranstaltung"}]
// Schwarminhalt in der Konsole drucken, wenn auf eine Schaltfläche geklickt wird
'click #buttonSwarm'(event, instance) { var template= Template.instance();
myContract = web3.eth.contract(ABIArraySwarm).at(contractAddressSwarm);
console.log("Schwarmvertragsausführung");
myContract.swarmContent(function(err, res){ TemplateVar.set(template, "counter", res); console.log(TemplateVar.get(template,"counter")); }); },
....
Aber jedes Mal wird "null" gedruckt. Was mache ich beim Rückruf falsch?
Marco von Oraclize hier. Die Unterstützung für Swarm ist experimentell, daher kann es, wie Sie erfahren haben, zu einigen Unterbrechungen des Datenquellendienstes kommen. Jetzt ist es wieder da und funktioniert einwandfrei. Hier können Sie es testen .
Benutzer3606212
q9f