next: function() { if (low > high) throw StopIteration;
return low++; } } } } } async function find10k() { var api = new RestClient('https://blockexplorer.com/api'); api.res(['block-index','block','tx']); for (let n in range(56045,57093)) { console.log(n); let bi = await api['block-index'](n).get(); let blck = await api.block(bi.blockHash).get(); //console.log(blck.tx); for (let txn of blck.tx) { //console.log(txn); let txi = await api.tx(txn).get(); //console.log(txi); if (10000 == Number(txi.vout[0].value)) return txi.blockhash; }; }; } find10k().then(function (bn) { console.log('Found in block '+bn); }, function (xhr) { console.log(xhr); } );
dependence: another-rest-client (first-google-result-oriented programming)
Found in block 00000000006de085dadb3ec413ef074022fe781121b467e98960280dd246bb00
А ещё в оригинальной теме ссылка есть.
@ceyt > `__iterator__`, не `Symbol.iterator`
> `StopIteration`, не `done: true`
> Использовать корутины, но не использовать генераторы (писать итераторы руками)
Диагноз: изучение жаваскрипта по стековерфлоу?
@anonymous Я уже написал, что это результаты из гугла (которые визуально меня устроили). Если бы генерация тысячи Promise прокатила, а не повесила браузер, я бы и со второй функцией разбираться не стал.
@anonymous хуиты не неси. никогда и ни на что не тратил битки
https://blockexplorer.com/blocks-date/2010-05-17
https://blockexplorer.com/blocks-date/2010-05-22
Там всего тысяча блоков и ненамного больше транзакций, можно все перебрать через API.
```
function range(low, high) {
return {
iterator: function() {
return {
next: function() {
if (low > high)
throw StopIteration;
return low++;
}
}
}
}
}
async function find10k() {
var api = new RestClient('https://blockexplorer.com/api');
api.res(['block-index','block','tx']);
for (let n in range(56045,57093)) {
console.log(n);
let bi = await api['block-index'](n).get();
let blck = await api.block(bi.blockHash).get();
//console.log(blck.tx);
for (let txn of blck.tx) {
//console.log(txn);
let txi = await api.tx(txn).get();
//console.log(txi);
if (10000 == Number(txi.vout[0].value)) return txi.blockhash;
};
};
}
find10k().then(function (bn) {
console.log('Found in block '+bn);
}, function (xhr) {
console.log(xhr);
}
);
@anonymous Я уже написал, что это результаты из гугла (которые визуально меня устроили). Если бы генерация тысячи Promise прокатила, а не повесила браузер, я бы и со второй функцией разбираться не стал.