Структура dpos.space 2.0, часть 5: Исправление ошибок в functions.js и добавление оставшихся функций


Здравствуйте. Продолжаю разрабатывать dpos.space 2.0, который, напомню, на Javascript, html и css, т.е. локальный.

О судьбе первой версии:

Сегодня попытался сделать конфиги для конкретных блокчейнов, а затем их подключать, но понял, что слишком многое придётся изменять - проще написать с нуля: на JS.

Но обещаю, что текущую версию опубликую в Github.


Сегодняшний день разработки второй версии:

Во всех функциях вместо:
SETTINGS[chain].getDiscussionsAuthors: [author],
Сделано:
query[SETTINGS[chain].getDiscussionsAuthors] = [author];

В getFeedHistory я сделал условие, согласно которому она сработает, только если блокчейн не VIZ. А также заменил steem.api на SETTINGS[chain].api.

В getAccounts я исправил author на accounts.

Функция getRewardFund:

// Функция метода getRewardFund:
function getRewardFund() {
if (chain === 'steem' || chain === 'vox') {
function getRewardFundResults(err, result) {
return result;
}
return steem.api.getRewardFund(function(err, result) {
getRewardFundResults(err, result);
});
}
}

Выводит параметры, необходимые при вычислении в некоторых формулах.

функция getAccountHistory:

Выводит историю аккаунта:

// Функция метода getAccountHistory:
function getAccountHistory(account, from, limit) {
function AccountHistoryResults(err, result) {
return result;
}

return SETTINGS[chain].api.getAccountHistory(account, from, limit, function(err, result) {
AccountHistoryResults(err, result);
});
}

Функция getFollowers:

Получение списка подписчиков:

// Функция метода getFollowers:
function getFollowers(following, startFollower, followType, limit) {
function getFollowersResults(err, result) {
return result;
}

return SETTINGS[chain].api.getFollowers(following, startFollower, followType, limit, function(err, result) {
getFollowersResults(err, result);
});
}

Ещё одна функция, которая является следствием getFollowers: getFolllowersAccounts:

Она нужна для вкладки "Подписчики с информацией о каждом" в сервисе профилей.
Сочитает 2 мметода:

  1. getFollowers;
  2. getAccounts:
// Функция метода getFollowersAccounts:
function getFollowersAccounts(following, startFollower, followType, limit) {
function getFollowersAccountsResults(err, result) {
    var followers = {}
    result.forEach(function(item) {
followers = item.follower;
});

var result_followers_accounts = getAccounts(followers);
return result_followers_accounts;
}

return SETTINGS[chain].api.getFollowers(following, startFollower, followType, limit, function(err, result) {
getFollowersAccountsResults(err, result);
});
}
Алгоритм:
  1. Сама функция;
  2. Функция, возвращающая вместо result result_followers_accounts;
    2.1. В ней роисходит формирование массива followers из цикла;
    2.2. И followers передаётся далее в функцию getAccounts. Сама же функция становится значением переменной result_followers_accounts;
    2.3. И далее та переменная возвращается в return.

Функция getVestingDelegations

Выводит результат метода getVestingDelegations (Работает только в Golos и Viz). В функции я прописал соответствующее условие. А вот и она:

/// Функция метода getVestingDelegations:
function getVestingDelegations(author, from, limit, type) {
if (chain === 'golos' || chain === 'viz') {
function getVestingDelegationsResults(err, result) {
return result;
}

return SETTINGS[chain].api.getVestingDelegations(author, from, limit, type, function(err, result) {
getVestingDelegationsResults(err, result);
});
}
}

типы:

Я про type:

  1. delegated - выводит тех, кому делегирована СГ/SHARES;
  2. received - список тех, кто делегировал текущему аккаунту.

Результат изменений:

functions.js
По данным Ide Visual studio code ошибок нет.

Всё

Благодарю за внимание. До встречи в следующих постах.
P. S. Завтра у меня день рождения, но о сем событии напишу завтра.

@denis-skripnik - делегат

Прошу проголосовать за меня на https://goldvoice.club/~witnesses
41 место.
Благодарю.


Комментарии 2


Чтобы читать и оставлять комментарии вам необходимо зарегистрироваться и авторизоваться на сайте.

Моя страницаНастройкиВыход
Отмена Подтверждаю
100%
Отмена Подтверждаю
Отмена Подтверждаю