我是hyperledger作曲家的初学者。我想从服务器中检索数据,例如AJAX在hyperledger composer的javascript文件中使用它。
我怎样才能实现它?
下面是我在超级边界作曲家的脚本文件中使用w3school的例子。
/** * Sample transaction processor function. * @param {org.acme.sample.SampleTransaction} tx The sample transaction instance. * @transaction */ function sampleTransaction(tx) { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("demo").innerHTML = this.responseText; } }; xhttp.open("GET", "ajax_info.txt", true); xhttp.send(); }
答案 0 :(得分:0)
您可以在Composer交易功能中使用标注。但请记住,通过智能合约交易,执行交易逻辑的所有同行必须返回确定性结果 - 否则您的交易将无法得到认可(您可能知道,只是说)
在此处查看更多详情和示例 - > https://hyperledger.github.io/composer/latest/integrating/call-out
function handlePost(postTransaction) {
var url = 'https://composer-node-red.mybluemix.net/compute';
// call-out
return post( url, postTransaction)
.then(function (result) {
// alert(JSON.stringify(result));
postTransaction.asset.value = 'Count is ' + result.body.sum;
// now update an Asset Registry (Composer)
return getAssetRegistry('org.example.sample.SampleAsset')
.then(function (assetRegistry) {
return assetRegistry.update(postTransaction.asset);
});
});
}