Estoy tratando de acceder al contenido de un archivo que cargué en Swarm usando oraclize. Encontré un contrato inteligente en https://github.com/oraclize/ethereum-examples/blob/master/solidity/Swarm.sol
Solo estaba tratando de imprimir el 'hola mundo' (el contenido del hash de enjambre que el autor especificó en el contrato). Entonces, simplemente extraje el contrato. Luego usé los detalles en JavaScript de la siguiente manera (usando meteor.js):
//variables
contratoAddressSwarm = "0x87b620f0731e15cb1655e216a87c986154ba4248"
ABIArraySwarm = [{"constante":falso,"entradas":[{"nombre":"miid","tipo":"bytes32"},{"nombre":"resultado","tipo":"cadena"} ],"nombre":"__devolución de llamada","salidas":[],"de pago":falso,"tipo":"función"},{"constante":falso,"entradas":[{"nombre":" miid","tipo":"bytes32"},{"nombre":"resultado","tipo":"cadena"},{"nombre":"prueba","tipo":"bytes"}]," nombre":"__devolución de llamada","salidas":[],"a pagar":falso,"tipo":"función"},{"constante":verdadero,"entradas":[],"nombre":"contenido de enjambre" ,"salidas":[{"nombre":"","tipo":"cadena"}],"a pagar":falso,"tipo":"función"},{"constante":falso,"entradas":[],"nombre":" actualizar","salidas":[],"pagadero":verdadero,"tipo":"función"},{"entradas":[],"pagadero":falso,"tipo":"constructor"},{" anónimo":falso,"entradas":[{"indexado":falso,"nombre":"descripción","tipo":"cadena"}],"nombre":"nuevaOraclizeQuery","tipo":"evento" },{"anónimo":falso,"entradas":[{"indexado":falso,"nombre":"ContenidoEnjambre","tipo":"cadena"}],"nombre":"NuevoContenidoEnjambre","tipo" :"evento"}]
//Imprimir contenido de enjambre en la consola cuando se hace clic en un botón
'haga clic en #buttonSwarm'(evento, instancia) { var template= Template.instance();
myContract = web3.eth.contract(ABIArraySwarm).at(contractAddressSwarm);
console.log("Ejecución del contrato Swarm");
myContract.swarmContent(function(err, res){ TemplateVar.set(template, "counter", res); console.log(TemplateVar.get(template,"counter")); }); },
....
Pero cada vez que está imprimiendo 'nulo'. ¿Qué estoy haciendo mal en la devolución de llamada?
Marco de Oracle aquí. El soporte para Swarm es experimental, por lo que puede haber algunas interrupciones del servicio de fuente de datos, como ha experimentado. Ahora está de nuevo y funcionando correctamente. Puedes probarlo aquí .
usuario3606212
q9f