Skip to content

Instantly share code, notes, and snippets.

@epexa
Created January 12, 2018 22:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save epexa/da80368ae462487dd15581ceae6c07c1 to your computer and use it in GitHub Desktop.
Save epexa/da80368ae462487dd15581ceae6c07c1 to your computer and use it in GitHub Desktop.
golos-js first example
<script src="https://cdn.jsdelivr.net/npm/golos-js/dist/golos.min.js"></script>
<script>
// поиск аккаунта по юзернейму
var usernames = ['epexa', 'epexa2'];
golos.api.lookupAccountNames(usernames, function(err, result) {
//console.log(err, result);
if ( ! err) {
result.forEach(function(item) {
if (item) console.log('lookupAccountNames', 'username: [', item.name, '] id: [', item.id, ']');
else console.log('lookupAccountNames', 'аккаунт не найден!');
});
}
else console.error(err);
});
// получение инфы о аккаунте
var accounts = [ 'epexa', 'epexa2' ];
golos.api.getAccounts(accounts, function(err, result) {
//console.log(err, result);
if ( ! err) {
result.forEach(function(item) {
console.log('getAccounts', 'username: [', item.name, '] id: [', item.id, ']');
});
}
else console.error(err);
});
// вывод юзернеймов аккаунтов по поисковой фразе
var searchAccountsQuery = 'epe';
var limitResults = 10;
golos.api.lookupAccounts(searchAccountsQuery, limitResults, function(err, result) {
//console.log(err, result);
if ( ! err) {
result.forEach(function(item) {
console.log('lookupAccounts', 'username: [', item, ']');
});
}
else console.error(err);
});
// получение юзернейма по публичному постинг или активному ключу
var publicKeys = ['GLS6...', 'GLS6...'];
golos.api.getKeyReferences(publicKeys, function(err, result) {
//console.log(err, result);
if ( ! err) {
result.forEach(function(item) {
console.log('getKeyReferences', 'username: [', item[0], ']');
});
}
else console.error(err);
});
// получение ключей
var username = 'epexa';
var password = 'P5H...'; // мастер-пароль
var roles = ['owner', 'active', 'posting', 'memo']; // параметр необязательный, если не указаывать, то вернутся все ключи
var keys = golos.auth.getPrivateKeys(username, password, roles);
console.log('getPrivateKeys', keys);
// получение приватоного ключа
var username = 'epexa';
var password = 'P5H...'; // мастер-пароль
var role = 'posting'; // тип приватного ключа, один из owner, active, posting, memo
var privateKey = golos.auth.toWif(username, password, role);
console.log('toWif', privateKey);
// проверка приватного ключа (active, memo, owner, posting) на валидный формат
var privWif = '5J...';
var resultIsWif = golos.auth.isWif(privWif);
console.log('isWif', resultIsWif);
// проверка приватного ключа (active, memo, owner, posting) на валидность
var privWif = '5J...'; // приватный ключ
var pubWif = 'GLS6...'; // публичный ключ
var resultWifIsValid = golos.auth.wifIsValid(privWif, pubWif);
console.log('wifIsValid', resultWifIsValid);
// получение публичного ключа (active, memo, owner, posting) на валидность
var privWif = '5J...'; // приватный ключ
var resultWifToPublic = golos.auth.wifToPublic(privWif, pubWif);
console.log('wifToPublic', resultWifToPublic);
// проверка на соответсвие юзернейма, мастер-пароля, и публичного ключа
var username = 'epexa';
var password = 'P5...'; // мастер-пароль
// объект в котором ключ тип публичного ключа (active, memo, owner, posting), а значение массив в массиве сам публичный ключ
var auths = {
posting: [['GLS6...']]
};
var verifyResult = golos.auth.verify(username, password, auths);
console.log('verify', verifyResult);
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment