Расширение внедряет контентный скрипт содержащий переменную с веб3 провайдером: vizonator. Любое действие направляется к исполнительной логике расширения, которое проверяет сохраненные правила для автоматического подтверждения или отказа в действии. Если правил для конкретного сайта не было найдено — расширение спросит пользователя об утверждении запроса.

Эта документация больше для фронтенд разработчиков на javascript.

Доступные операции

Типы операций: подпись и исполнение операций, запрос данных расширения, запросы через API.

Каждая операция запрашивает разные виды правил. Если пользователь отметил галочкой запомнить свое решение, расширение сохранит это для конкретного сайта.


check_vizonator

Проверьте переменную vizonator перед тем как делать запросы на операции.

if(typeof vizonator !== "undefined"){
	$(".vizonator_callback.test_check_vizonator").html("Vizonator initialized!");
}
else{
	$(".vizonator_callback.test_check_vizonator").html("Vizonator NOT initialized...");
}
Запустить пример

get_account

Запрашиваемые правила: account

Запрашивает информацию о текущем аккаунт у расширения: логин, уровень энергии, заполнены ли ключи для шифрования заметок (memo) и управления активами (active).

vizonator.get_account(function(error,result){
	let el=$(".vizonator_callback.test_get_account");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text(JSON.stringify(result,null,2));
	}
});
Запустить пример

get_settings

Запрашиваемые правила: settings

Запрашивает настройки расширения: шаг энергии, затрачиваемая операцией награждения энергия по умолчанию, темный режим, выбранный язык.

vizonator.get_settings(function(error,result){
	let el=$(".vizonator_callback.test_get_settings");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text(JSON.stringify(result,null,2));
	}
});
Запустить пример

import_account

Запрашиваемые правила: account

let account="invite";
let regular_key=false;
let active_key="5KcfoRuDfkhrLCxVcE9x51J6KN9aM9fpb78tLrvvFckxVV6FyFW";
let memo_key=false;
vizonator.import_account(account,regular_key,active_key,memo_key,function(error,result){
	let el=$(".vizonator_callback.test_import_account");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text(JSON.stringify(result,null,2));
	}
});
Запустить пример

get_custom_account

Запрашиваемые правила: account, api

API запрос по любому аккаунту VIZ с счетчиком для кастомного (custom) протокола. Если аккаунт пустой или булево ложь (false) — запрашивает аккаунт пользователя.

let account="on1x";
let protocol="V";//can be empty
vizonator.get_custom_account(account,protocol,function(error,result){
	let el=$(".vizonator_callback.test_get_custom_account");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text(JSON.stringify(result,null,2));
	}
});
Запустить пример

get_account_history

Запрашиваемые правила: account, api

API запрос для получения истории операций любого аккаунта VIZ. Если аккаунт пустой или булево ложь (false) — запрашивает аккаунт пользователя.

let account="on1x";
let from=-1;//from the latest activity
let limit=5;
vizonator.get_account_history(account,from,limit,function(error,result){
	let el=$(".vizonator_callback.test_get_account_history");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text(JSON.stringify(result,null,2));
	}
});
Запустить пример

get_accounts_on_sale

Запрашиваемые правила: account, api

let from=0;//from first entry
let limit=50;//max 1000
vizonator.get_accounts_on_sale(from,limit,function(error,result){
	let el=$(".vizonator_callback.test_get_accounts_on_sale");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text(JSON.stringify(result,null,2));
	}
});
Запустить пример

get_subaccounts_on_sale

Запрашиваемые правила: account, api

let from=0;//from first entry
let limit=50;//max 1000
vizonator.get_subaccounts_on_sale(from,limit,function(error,result){
	let el=$(".vizonator_callback.test_get_subaccounts_on_sale");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text(JSON.stringify(result,null,2));
	}
});
Запустить пример

account_metadata

Запрашиваемые правила: meta, regular, account

Перезаписывает/обновляет информацию об метаданных аккаунта. Обычно используется для модификации профиля (в начале - получение метаданных из блокчейна, после - изменение их структуры, наконец - запись данных в блокчейн этой операцией).

let metadata="{}";//be careful, this operation will be clear account metadata
vizonator.account_metadata({json:metadata},function(error,result){
	let el=$(".vizonator_callback.test_account_metadata");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text("Result: "+JSON.stringify(result));
	}
});
Запустить пример

award

Запрашиваемые правила: award, regular

Дополнительные параметры: beneficiaries (бенефициары, структура в виде массива аккаунтов с процентом получаемой награды [{"account":"login1","weight":100},{"account":"login2","weight":200}]), custom_sequence (used by social gateways), force_memo_encoding (принудительное шифрование заметки).
Результат содержит объект с свойством approximate_amount в виде дробного значения. Оно содержит приблизительное количество социального капитала которым был награжден получатель.

vizonator.award({receiver:"on1x",energy:500,memo:"Vizonator docs"},function(error,result){
	let el=$(".vizonator_callback.test_award");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text(JSON.stringify(result));
	}
});
Запустить пример

fixed_award

Запрашиваемые правила: award, regular

Идентично award, отличие в переменной reward_amount и max_energy для фиксированной награды.

vizonator.fixed_award({receiver:"on1x",reward_amount:"1.000 VIZ",max_energy:500,memo:"Vizonator docs"},function(error,result){
	let el=$(".vizonator_callback.test_fixed_award");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text(JSON.stringify(result));
	}
});
Запустить пример

committee_vote_request

Запрашиваемые правила: committee, regular

Голосует за активную заявку в ДАО VIZ. Параметр процент голоса (vote_percent) может быт в диапазоне от -10000 (-100.00%) до 10000 (100.00%).

vizonator.committee_vote_request({request_id:5,vote_percent:10000},function(error,result){
	let el=$(".vizonator_callback.test_committee_vote_request");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text("Result: "+JSON.stringify(result));
	}
});
Запустить пример

custom

Запрашиваемые правила: custom, protocol_*, regular*, active*

Отправляет json данные кастомного (custom) протокола в блокчейн. Тип доступа (authority) может быть как активным (active), так и обычным (regular).

let authority_type="regular";//can be "active"
let protocol_id="test";
let json_data='{"hello":"world"}';
vizonator.custom({authority:authority_type,id:protocol_id,json:json_data},function(error,result){
	let el=$(".vizonator_callback.test_custom");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text("Result: "+JSON.stringify(result));
	}
});
Запустить пример

delegate_vesting_shares

Запрашиваемые правила: delegate, active

Делегирование социального капитала другому аккаунту или разделегирование. Влияет на эффективность награждений и весу голоса в ДАО.

let amount="1.000000 SHARES";//"0.000000 SHARES" for undelegate
vizonator.delegate_vesting_shares({delegatee:"on1x",vesting_shares:amount},function(error,result){
	let el=$(".vizonator_callback.test_delegate_vesting_shares");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text("Result: "+JSON.stringify(result));
	}
});
Запустить пример

passwordless_auth

Запрашиваемые правила: auth, account, regular*, active*

Подписывает уникальную строку для беспарольного доказательства аутентификации. Строка содержит домен сайта, тип доступа, аккаунт и временную отметку в формате unixtime. Сайт обрабатывает полученную строку, верифицирует подпись и должен кэшировать ее с двух-минутной экспирацией, чтобы блокировать попытки авторизации от других источников (в случае MITM атаки).

let authority_type="regular";//can be "active"
vizonator.passwordless_auth({authority:authority_type},function(error,result){
	let el=$(".vizonator_callback.test_passwordless_auth");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text(JSON.stringify(result,null,2));
	}
});
Запустить пример

transfer

Запрашиваемые правила: transfer, active

Запрашивает у пользователя перевод определенного количества viz. Может запросить принудительное шифрование заметки.

let amount="0.001 VIZ";
let memo="Vizonator docs";
let force_encoding=false;//can be boolean true for force encoding by shared memo key
vizonator.transfer({to:"committee",amount:amount,memo,force_memo_encoding:force_encoding},function(error,result){
	let el=$(".vizonator_callback.test_transfer");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text("Result: "+JSON.stringify(result));
	}
});
Запустить пример

transfer_to_vesting

Запрашиваемые правила: vesting, active

Запрашивает у пользователя перевод суммы viz в социальный капитал.

vizonator.transfer_to_vesting({to:"committee",amount:"0.001 VIZ"},function(error,result){
	let el=$(".vizonator_callback.test_transfer_to_vesting");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text("Result: "+JSON.stringify(result));
	}
});
Запустить пример

withdraw_vesting

Запрашиваемые правила: vesting, active

Запрашивает у пользователя вывод из социального капитала определенную сумму в viz.

vizonator.withdraw_vesting({vesting_shares:"10.000000 SHARES"},function(error,result){
	let el=$(".vizonator_callback.test_withdraw_vesting");//debug element
	if(error){
		el.text("Error: "+JSON.stringify(error));
	}
	else{
		el.text("Result: "+JSON.stringify(result));
	}
});
Запустить пример
Privacy Policy