{"version":3,"sources":["steemjs/api/types.js","steemjs/api/index.js","elements/Apis.jsx","elements/Header.jsx","pages/Api.jsx","utils/helpers.js","elements/ParameterLabel.jsx","elements/ArrayParameter.jsx","elements/ObjectParameter.jsx","elements/Parameter.jsx","elements/ApiMethodParameters.jsx","pages/ApiMethod.jsx","pages/utils/Keys.jsx","index.js","registerServiceWorker.js"],"names":["module","exports","account_history","get_account_history","desc","en","ru","de","es","params","account","type","from=-1","limit=100","query={}","tags","get_tags","get_trending_tags","afterTag","limit","get_tags_used_by_author","author","get_discussions_by_trending","desc2","query","get_discussions_by_trending30","get_discussions_by_created","get_discussions_by_donates","get_discussions_by_active","get_discussions_by_cashout","get_discussions_by_payout","get_discussions_by_votes","get_discussions_by_children","get_discussions_by_hot","get_discussions_by_feed","get_discussions_by_blog","get_discussions_by_comments","get_discussions_by_promoted","database_api","get_block_header","blockNum","get_block","get_config","get_dynamic_global_properties","get_chain_properties","get_feed_history","get_hardfork_version","get_invite","get_next_scheduled_hardfork","get_accounts","accountNames","get_accounts_balances","account_names","get_assets","symbols=[]","sort=\"by_symbol_name\"","lookup_account_names","lookup_accounts","lowerBoundName","includeFrozen=false","get_account_count","get_conversion_requests","accountName","get_owner_history","get_recovery_request","get_escrow","from","escrowId","get_withdraw_routes","withdrawRouteType","get_account_bandwidth","bandwidthType","get_savings_withdraw_from","get_savings_withdraw_to","get_transaction_hex","trx","get_required_signatures","availableKeys","get_potential_signatures","verify_authority","verify_account_authority","nameOrId","signers","account_by_key","get_key_references","account_name_type","account_notes","get_values","keys=[]","get_values_settings","follow","get_followers","following","startFollower","followType","get_following","follower","startFollowing","get_follow_count","get_feed_entries","entryId","filterTagMasks=[]","get_feed","get_blog_entries","get_blog","get_account_reputations","names","get_reblogged_by","permlink","get_blog_authors","blogAccount","network_broadcast_api","broadcast_transaction","broadcast_transaction_with_callback","confirmationCallback","broadcast_transaction_synchronous","broadcast_block","b","set_max_block_age","maxBlockAge","market_history","get_depth","pair=[\"GOLOS\", \"GBG\"]","get_fillable_orders","market_price","get_open_orders","owner","get_ticker","get_volume","get_order_book","get_order_book_extended","get_trade_history","start","end","get_recent_trades","get_market_history","bucket_seconds","get_market_history_buckets","operation_history","get_nft_token_ops","get_ops_in_block","onlyVirtual","get_transaction","trxId","private_message","get_contacts","offset","get_inbox","get_outbox","get_thread","to","social_network","get_all_content_replies","filterIds=[]","filterAuthors=[]","sortByCreatedDesc=null","get_active_votes","get_account_votes","voter","get_content","get_content_replies","parentPermlink","get_donates","uia","target","join_froms","get_donates_for_targets","targets","get_discussions_by_author_before_date","startPermlink","beforeDate","get_replies_by_last_update","startAuthor","witness_api","get_witnesses","witnessIds","get_witness_by_account","get_witnesses_by_vote","lookup_witness_accounts","get_witness_count","get_current_median_history_price","get_witness_schedule","get_active_witnesses","get_miner_queue","worker_api","get_worker_requests","sort","fill_post","paid_subscription_api","get_paid_subscribe","get_paid_subscribers","get_paid_subscription_options","get_paid_subscriptions","get_paid_subscriptions_by_author","nft_api","get_nft_collections","get_nft_orders","get_nft_tokens","OpParam","op","name","Object","classCallCheck","this","optypes","meta","_arr","keys","_i","length","tr","getTypeDef","getTypeObject","val","ret","getType","parseInt","isNaN","Error","test","prefix","steem","config","get","match","operation_name","_arr2","typeDefs","_i2","td","steemoperations","types","Param","api","method","_name$split","split","_name$split2","slicedToArray","disp_name","pdefault","default","_arr3","_i3","Operation","roles","paramNames","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","Symbol","iterator","next","done","p","value","err","return","_arr4","_i4","args","i","pname","convertTyped","camelName","camelCase","arguments","Array","prototype","splice","call","convert","concat","console","log","JSON","stringify","broadcast","apply","Method","methodName","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_arr5","_i5","SteemApi","methods","operations","importMethods","importOperations","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","m","method_name","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","operation","dump","_arr6","_i6","_arr7","_i7","mname","mdump","_arr8","_i8","_arr10","_i10","_arr9","_i9","_arr11","_i11","opName","opdump","_arr12","_i12","_arr14","_i14","_arr13","_i13","Blockchain","LEX","Golos_id","Aleks","Blockchained","Livetest","getDefaults","blockchain","ws","setBlockchain","stop","set","Apis","_this","apis","props","a","apiItems","map","react_default","createElement","ListGroupItem","style","border","header","methodNames","push","bsClass","Link","getTarget","ListGroup","Component","Header","possibleConstructorReturn","getPrototypeOf","onSelectLang","countryCode","onChange","event","newState","defineProperty","defaults","assign","setState","state","steemapi","openBCSelector","_this2","Navbar","inverse","Brand","href","Glyphicon","glyph","Text","title","Toggle","Collapse","Nav","NavDropdown","MenuItem","rel","Form","pullRight","marginRight","FormGroup","FormControl","ev","onChangeBlockchain","componentClass","placeholder","node","selected","onChangeWs","Api","document","Grid","Row","Col","lg","src_elements_Header","pck","version","className","src_elements_Apis","languageWithoutRegionCode","toLowerCase","storedLang","localStorage","getItem","getDesc","descriptions","ParameterLabel","_this$props","param","content","OverlayTrigger","trigger","rootClose","overlay","Popover","id","dangerouslySetInnerHTML","__html","ControlLabel","ArrayParameter","getValue","inputs","pIdx","key","src_elements_ParameterLabel","ObjectParameter","parse","error","e","toString","maxRows","HelpBlock","Parameter","count","paramValues","input","elements_ArrayParameter","elements_ObjectParameter","def","ApiMethodParameters","urlParams","methodParameterItems","parameterName","elements_Parameter","ApiMethod","lang","setItem","onExecute","apiName","api_name","getParameterValues","execute","then","result","steemjsgui","executing","onBlockchainChange","values","onExampleTabChange","examplesLang","onJSAsyncToggle","examplesJSNoAsync","removeItem","gotParams","applyParameters","queryString","location","search","includes","pname_f","jsonrpc","withoutAsync","utils","jsParams","JSON5","code","join","window","scrollTo","_this$state","JSONPretty_default","json","src","alt","onSubmit","Panel","bsStyle","Heading","Title","Body","elements_ApiMethodParameters","Button","variant","color","Tabs","activeKey","animation","onSelect","Tab","eventKey","getApiCall","checked","onClick","htmlFor","getJSCall","Keys","onPrivateChange","priv","pub","auth","wifToPublic","onPublicChange","pub0","key_utils","get_random_key","toWif","marginTop","React","golos","history","createBrowserHistory","ReactDOM","render","BrowserRouter","Switch","Route","exact","path","component","src_pages_Api","src_pages_ApiMethod","utils_Keys","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.dd3d30b1.chunk.js","sourcesContent":["module.exports = {\n \"account_history\" : {\n \"get_account_history\": {\n \"desc\": {\n \"en\": \"The history of all user actions on the network in the form of transactions. If from = -1, then are last {limit+1} history elements are shown. Parameter limit should be less or equals {from} (except from = -1). This is because elements preceding {from} are shown. \",\n \"ru\": \"История всех действий пользователя в сети в виде транзакций. При from = -1 будут показаны последние {limit+1} элементов истории. Параметр limit не должен превышать from (исключение from = -1), так как показываются предшествующие {from} элементы истории. limit, from и query опциональные параметры. Примеры query {\\\"select_ops\\\":[\\\"transfer\\\"]} или {\\\"filter_ops\\\":[\\\"transfer\\\"]}, {\\\"direction\\\":\\\"sender\\\"} или {\\\"direction\\\":\\\"receiver\\\"}\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"from=-1\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit=100\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"query={}\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"Filter\",\n \"ru\": \"Фильтр\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n }\n },\n \"tags\": {\n \"get_tags\": {\n \"desc\": {\n \"en\": \"Returns a list of tags (their data) by their names (e.g. \\\"ru--golos\\\")\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"tags\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_trending_tags\": {\n \"desc\": {\n \"en\": \"Returns a list of tags (tags) that include word combinations\",\n \"ru\": \"Возвращает список меток (тэгов) включающие словосочетания\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"afterTag\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"word combinations\",\n \"ru\": \"словосочетания\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_tags_used_by_author\": {\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"author\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_trending\": {\n \"desc\": {\n \"en\": \"Displays a limited number of publications beginning with the most expensive of the award.\",\n \"ru\": \" Отображает ограниченное количество публикаций начиная с самой дорогой по вознаграждению.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"desc2\":{\n \"en\": \"### Parameters:
** limit: 0 ** - the number of returned records can not be greater than 100. Default is 0
** select_authors: ['', '' ...] ** - array contains Authors names
** select_tags: ['', '', ...] ** - Tag list, messages without these tags are filtered by ** filter_tags: ['', '', ...] * * - Tag list, messages with these tags are filtered by ### Optional parameters:
** start_author: '' ** - the author's name from which to start looking for
** start_permlink: '' ** - Link of the publication to start looking for
** parent_author: '' ** - the author's name of the discussion that started the discussion
** parent_permlink: '' ** - a permanent link to the parent discussion \",\n \"ru\":\"### Параметры:
**limit: 0** - количество возвращаемых записей не может быть больше 100. По умолчанию 0
**select_authors: ['',''...]** - массив содержит имена авторов
**select_tags: ['','',...]** - Список тегов, сообщения без этих тегов фильтруются
**filter_tags: ['','',...]** - Список тегов, сообщения с этими тегами фильтруются
### Не обязательные параметры:
**start_author: '' ** - имя автора с которого начинать искать
**start_permlink: '' ** - ссылка публикации с которой начинать искать
**parent_author: '' ** - имя автора стартовавшего дискуссию
**parent_permlink: '' ** - постоянная ссылка на родительскую дискуссию\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_trending30\": {\n \"desc\": {\n \"en\": \"Displays a limited number of publications on remuneration\",\n \"ru\": \"Отображает ограниченное количество публикаций по вознаграждению\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_created\": {\n \"desc\": {\n \"en\": \"Displays a limited number of publications, starting with the newest one.\",\n \"ru\": \"Отображает ограниченное количество публикаций начиная с самой новой.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_donates\": {\n \"desc\": {\n \"en\": \"Displays a limited number of publications, starting with the most donated one.\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_active\": {\n \"desc\": {\n \"en\": \"Displays a limited number of entries in which there was activity since the newest.\",\n \"ru\": \"Отображает ограниченное количество записей в которых была активность начиная с самой новой.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_cashout\": {\n \"desc\": {\n \"en\": \"Displays a limited number of publications, sorted by the time of payments\",\n \"ru\": \"Отображает ограниченное количество публикаций, отсортированных по времени выплат\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_payout\": {\n \"desc\": {\n \"en\": \"Displays a limited number of publications sorted by payments\",\n \"ru\": \"Отображает ограниченное количество публикаций , отсортированных по выплатам\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_votes\": {\n \"desc\": {\n \"en\": \"Displays a limited number of publications, sorted by votes.\",\n \"ru\": \"Отображает ограниченное количество публикаций, отсортированных по величине голосов.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_children\": {\n \"desc\": {\n \"en\": \"Displays a limited number of publications sorted by the number of comments\",\n \"ru\": \"Отображает ограниченное количество публикаций, отсортированных по количеству комментариев\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_hot\": {\n \"desc\": {\n \"en\": \"Displays a limited number of publications, sorted by popularity.\",\n \"ru\": \"Отображает ограниченное количество публикаций, отсортированных по популярности.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_feed\": {\n \"desc\": {\n \"en\": \"Displays a limited number of conversion records for a specific author\",\n \"ru\": \"Отображает ограниченное количество записей конверсий конкретного автора\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_blog\": {\n \"desc\": {\n \"en\": \"Displays a limited number of publications, from a blog of a specific author.\",\n \"ru\": \"Отображает ограниченное количество публикаций, из блога конкретного автора.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_comments\": {\n \"desc\": {\n \"en\": \"Displays a limited number of publications, from the comments of a particular author.\",\n \"ru\": \"Отображает ограниченное количество публикаций, из комментариев конкретного автора.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_promoted\": {\n \"desc\": {\n \"en\": \"Displays a limited number of publications sorted by an increased balance amount\",\n \"ru\": \"Отображает ограниченное количество публикаций, отсортированных с помощью увеличенной суммы баланса\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n }\n \n },\n \"database_api\": {\n \"get_block_header\": {\n \"desc\": {\n \"en\": \"Returns block for given number, excl. transactions and witness signature (use get_block, get_ops_in_block, get_events_in_block)\",\n \"ru\": \"Возвращает все данные о блоке, кроме транзакций и подписи делегата (используйте get_block, get_ops_in_block, get_events_in_block).\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"blockNum\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"block number\",\n \"ru\": \"номер блока\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_block\": {\n \"desc\": {\n \"en\": \"Returns block for given number, incl. transactions with operations. Stores data for whole blockchain lifetime. But not includes virtual operations (use get_ops_in_block, get_events_in_block).\",\n \"ru\": \"Возвращает все данные о блоке, включая транзакции с операциями. Хранит данные за все время. Но не включает виртуальных операций (используйте get_ops_in_block, get_events_in_block).\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"blockNum\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"block number\",\n \"ru\": \"номер блока\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_config\": {\n \"desc\": {\n \"en\": \"Displays the current node configuration. This configuration is set by developers and can be changed only by their, when code base updates. E.g, STEEMIT_BLOCKCHAIN_HARDFORK_VERSION is not current applied HF. It may be just planned HF, which will be applied after some time.\",\n \"ru\": \"Отображает текущую конфигурацию узла, заданную разработчиками и изменяемую только ими же, при обновлении кодовой базы. Например, STEEMIT_BLOCKCHAIN_HARDFORK_VERSION - это не принятый на данный момент ХФ, а максимальный ХФ, существующий в данной кодовой базе. Этот ХФ может быть еще не принят на момент запроса.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"get_dynamic_global_properties\": {\n \"desc\": {\n \"en\": \"Displays information about the current network status (e.g. head block number).\",\n \"ru\": \"Отображает информацию о текущем состоянии сети (head_block_number - № последнего блока и др.)\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"get_chain_properties\": {\n \"desc\": {\n \"en\": \"Displays some blockchain parameters which are set by its TOP-witnesses (by median).\",\n \"ru\": \"Отображает различные параметры блокчейна, выставляемые его ТОП-делегатами (каждый ТОП-делегат предлагает то или иное значение, берется медиана).\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"get_feed_history\": {\n \"desc\": {\n \"en\": \"Displays the conversion history\",\n \"ru\": \"Отображает историю конверсий\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"get_hardfork_version\": {\n \"desc\": {\n \"en\": \"Displays the current version of the network.\",\n \"ru\": \"Отображает текущую версию сети.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"get_invite\": {\n \"desc\": {\n \"en\": \"Returns invite code data by public key.
If invite not exists (wrong public key, or already claimed), returns null instead of JSON-object.\",\n \"ru\": \"Возвращает данные инвайт-чека по его публичному ключу.
Если инвайт-чек уже погашен или вовсе отсутствует, то возвращает null вместо JSON-объекта.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"get_next_scheduled_hardfork\": {\n \"desc\": {\n \"en\": \"Displays the date and version of HardFork\",\n \"ru\": \"Отображает дату и версию HardFork\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"get_accounts\": {\n \"desc\": {\n \"en\": \"Returns data for specified accounts. Returns array of objects, which contains an object for each existant account. If some account is not existant, it just skipped (no null added). Compare with lookup_account_names method.\",\n \"ru\": \"Возвращает данные по заданным аккаунтам. Возвращает массив объектов - на каждый существующий аккаунт добавляется объект. Если какого-то аккаунта не существует, то он просто пропускается (а не добавляется null вместо объекта). Сравните с методом lookup_account_names.\",\n \"de\": \"Liefert Daten für eingegebene Benutzer zurück\",\n \"es\": \"\"\n },\n \"params\": {\n \"accountNames\": {\n \"type\": \"Array\",\n \"desc\": {\n \"en\": \"accounts(strings) in nested array\",\n \"ru\": \"имена аккаунтов (строки) в виде массива\",\n \"de\": \"Kontennamen als ein Array\",\n \"es\": \"\"\n }\n },\n \"query={}\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_accounts_balances\": {\n \"desc\": {\n \"en\": \"Returns UIA-balances for specified accounts\",\n \"ru\": \"Возвращает данные по UIA-балансам заданных аккаунтов\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account_names\": {\n \"type\": \"Array\",\n \"desc\": {\n \"en\": \"accounts(strings) in nested array\",\n \"ru\": \"имена аккаунтов (строки) в виде массива\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"query={}\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"All params are optional. In simplest case just use {}. Example: getAccountsBalances([], {\\\"token_holders\\\": \\\"YMUSDT\\\"})\",\n \"ru\": \"Все параметры опциональны, в простейшем варианте достаточно {}. Пример получения всех владельцев токена: getAccountsBalances([], {\\\"token_holders\\\": \\\"YMUSDT\\\"})\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_assets\": {\n \"desc\": {\n \"en\": \"Returns data for specified User Issued Assets. If creator set, returns assets of that creator. If symbols set, returns specific assets (by symbols). If nothing set, returns all assets.\",\n \"ru\": \"Возвращает данные по UIA-активам, принадлежащим юзеру или имеющимся во всей системе в целом (не путать с балансами UIA, возвращаемыми методом get_accounts_balances).
Если creator задан, то возвращает активы этого пользователя.
Если задано поле symbols и не задано поле creator, то возвращает активы по этим символам (пример символов: \\\"YMUSDT\\\", \\\"DOGECOIN\\\").
Если не задано ни одно из этих полей, то возвращает вообще все активы, какие есть в блокчейне.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"symbols=[]\": {\n \"type\": \"Array\",\n \"desc\": {\n \"en\": \"symbols(strings) in array. E.g: [\\\"YMUSDT\\\"]. Warning: do not set creator if this param set.\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"sort=\\\"by_symbol_name\\\"\": {\n \"desc\": {\n \"en\": \"by_symbol_name, by_marketed\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"query={}\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"All params are optional. In simplest case just use {}.\",\n \"ru\": \"Все параметры опциональны, в простейшем варианте достаточно {}. \",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"lookup_account_names\": {\n \"desc\": {\n \"en\": \"Returns data for specified accounts. Returns array of objects, which contains an object for each existant account, or null, if account not exists. Compare with get_accounts method.\",\n \"ru\": \"Возвращает данные по заданным аккаунтам. Возвращает массив объектов - на каждый существующий аккаунт добавляется объект или null. Если какого-то аккаунта не существует, то добавляется null вместо объекта (таким образом длина массива и индексы объектов всегда равны индексу имени аккаунта во входном массиве). В этом заключается принципиальное отличие от get_accounts.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"accountNames\": {\n \"type\": \"Array\",\n \"desc\": {\n \"en\": \"accounts(strings) in nested array\",\n \"ru\": \"имена аккаунтов (строки) в виде массива\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"lookup_accounts\": {\n \"desc\": {\n \"en\": \"Returns the names of users close to the phrase.\",\n \"ru\": \"Возвращает имена пользователей близких к шаблону.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"lowerBoundName\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"search template\",\n \"ru\": \"шаблон поиска\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"includeFrozen=false\": {\n \"type\": \"Boolean\",\n \"desc\": {\n \"en\": \"include frozen accounts\",\n \"ru\": \"включая замороженные аккаунты\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_account_count\": {\n \"desc\": {\n \"en\": \"Returns the number of registered users.\",\n \"ru\": \"Возвращает количество зарегистрированных пользователей.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"get_conversion_requests\": {\n \"desc\": {\n \"en\": \"Returns the current requests for conversion by the specified user\",\n \"ru\": \"Возвращает текущие запросы на конвертацию указанным пользователем\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"accountName\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_owner_history\": {\n \"desc\": {\n \"en\": \"Displays the user name if he changed the ownership of the blockchain\",\n \"ru\": \"Отображает имя пользователя если он изменил право собственности на блокчейн\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_recovery_request\": {\n \"desc\": {\n \"en\": \"Returns true if the user is in recovery status.\",\n \"ru\": \"Возвращает true если пользователь в статусе на восстановление.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_escrow\": {\n \"desc\": {\n \"en\": \"Returns the operations implemented through mediation.\",\n \"ru\": \"Возвращает операции реализованные с помощью посредничества.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"from\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"reseller Name\",\n \"ru\": \"имя посредника\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"escrowId\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"unique transaction number\",\n \"ru\": \"уникальный номер операции\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_withdraw_routes\": {\n \"desc\": {\n \"en\": \"Returns all transfers to the user's account, depending on the type\",\n \"ru\": \"Возвращает все переводы на счету пользователя в зависимости от типа\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"withdrawRouteType\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"the type of transfer can be (incoming, outgoing, all)\",\n \"ru\": \"тип перевода может быть (incoming,outgoing,all)\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_account_bandwidth\": {\n \"desc\": {\n \"en\": \"Displays user actions based on type\",\n \"ru\": \"Отображает действия пользователя в зависимости от типа\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"bandwidthType\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"post, forum, market, custom_json\",\n \"ru\": \"post, forum, market, custom_json\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_savings_withdraw_from\": {\n \"desc\": {\n \"en\": \"Returns the output data from 'SAFE' for this user\",\n \"ru\": \"Возвращает данные о выводах из 'СЕЙФА' для данного пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_savings_withdraw_to\": {\n \"desc\": {\n \"en\": \"Returns the output data from 'SAFE' for this user\",\n \"ru\": \"Возвращает данные о выводах из 'СЕЙФА' для данного пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_transaction_hex\": {\n \"desc\": {\n \"en\": \"Displays the HEX transaction string.\",\n \"ru\": \"Отображает HEX строку транзакции.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"trx\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"signed transaction.\",\n \"ru\": \"подписанная транзакция\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_required_signatures\": {\n \"desc\": {\n \"en\": \"This API will take a partially signed transaction and a set of public keys that the owner has the ability to sign for and return the minimal subset of public keys that should add signatures to the transaction.\",\n \"ru\": \"Возвращает список ключей которыми может быть подписанна указанная транзакция, на основании списка предоставленных ключей(второй параметр)\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"trx\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"signed transaction\",\n \"ru\": \"подписанная транзакция\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"availableKeys\": {\n \"type\": \"Array\",\n \"desc\": {\n \"en\": \"List of keys in the form of a string array\",\n \"ru\": \"список ключей в виде строкового масива\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_potential_signatures\": {\n \"desc\": {\n \"en\": \"Displays the potential key for this transaction.\",\n \"ru\": \"Отображает потенциальный ключ для данной транзакции.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"trx\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"signed transaction.\",\n \"ru\": \"подписанная транзакция\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"verify_authority\": {\n \"desc\": {\n \"en\": \"Returns TRUE if the transaction is signed correctly\",\n \"ru\": \"Возвращает TRUE если транзакция подписана правильно\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"trx\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"signed transaction.\",\n \"ru\": \"подписанная транзакция\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"verify_account_authority\": {\n \"desc\": {\n \"en\": \"Return true if the signers have enough authority to authorize an account\",\n \"ru\": \"Возвращает true, если у пользователя есть достаточные полномочия для авторизации учетной записи\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"nameOrId\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username or id\",\n \"ru\": \"имя пользователя или id\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"signers\": {\n \"type\": \"Array\",\n \"desc\": {\n \"en\": \"List of keys in the form of a string array\",\n \"ru\": \"список ключей в виде строкового масива\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n }\n },\n \"account_by_key\": {\n \"get_key_references\": {\n \"desc\": {\n \"en\": \"Finds accounts using specified public key (detects posting, active, owner, but NOT detects memo)\",\n \"ru\": \"Возвращает аккаунты, использующие данный публичный ключ (обнаруживает posting, active, owner, но НЕ обнаруживает memo)\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account_name_type\": {\n \"type\": \"Array\",\n \"desc\": {\n \"en\": \"public key\",\n \"ru\": \"Публичный ключ\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n }\n },\n \"account_notes\": {\n \"get_values\": {\n \"desc\": {\n \"en\": \"Get values of specified account by specified keys (or all its values)\",\n \"ru\": \"Получает значения, которые хранит заданный аккаунт. Позволят получить значения по ключам или вообще все значения\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"keys=[]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"array of strings - keys. Or use [] to obtain all values of that accounts\",\n \"ru\": \"массив строк - ключи, по которым надо получить значения.
Используйте [], чтобы получить все значения аккаунта\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_values_settings\": {\n \"desc\": {\n \"en\": \"Returns account_notes limits on current Golos node, which need to be considered by users.\",\n \"ru\": \"Возвращает лимиты, действующие в account_notes на данной ноде Golos. Эти лимиты необходимо учитывать, поскольку за их пределами плагин может не сохранять информацию.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n },\n \"follow\": {\n \"get_followers\": {\n \"desc\": {\n \"en\": \"Returns the list: Either all of the subscribers of the user are 'following'. Or, if the user name is specified, the list of matching subscribers is returned in the parameter 'startFollower'.\",\n \"ru\": \"Возвращает список: Либо всех подписчиков пользователя 'following'. Либо если указано имя пользователя в параметре 'startFollower' возвращается список совпадающих подписчиков.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"following\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"startFollower\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username (can be empty)\",\n \"ru\": \"имя пользователя (может быть пустым)\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"followType\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"String values (undefined, blog, ignore)\",\n \"ru\": \"строковые значения (undefined,blog,ignore)\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_following\": {\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"follower\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"startFollowing\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"followType\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"String values (undefined, blog, ignore)\",\n \"ru\": \"строковые значения (undefined,blog,ignore)\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_follow_count\": {\n \"desc\": {\n \"en\": \"Returns information about the number of subscribers and subscriptions of the specified user.\",\n \"ru\": \"Возвращает данные о количестве подписчиков и подписок указанного пользователя.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_feed_entries\": {\n \"desc\": {\n \"en\": \"Returns brief information about records from the specified user's tape\",\n \"ru\": \"Возвращает краткие данные о записях из ленты указанного пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"entryId\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"id records (if 0 then the most recent)\",\n \"ru\": \"id записи (если 0 то самые свежие)\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"filterTagMasks=[]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_feed\": {\n \"desc\": {\n \"en\": \"Returns the complete record data from the specified user's tape.\",\n \"ru\": \"Возвращает полные данные о записях из ленты указанного пользователя.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"entryId\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"id records (if 0 then the most recent)\",\n \"ru\": \"id записи (если 0 то самые свежие)\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"filterTagMasks=[]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_blog_entries\": {\n \"desc\": {\n \"en\": \"Returns brief information about records from the blog of the specified user.\",\n \"ru\": \"Возвращает краткие данные о записях из блога указанного пользователя.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"entryId\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"id records (if 0 then the most recent)\",\n \"ru\": \"id записи (если 0 то самые свежие)\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"filterTagMasks=[]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_blog\": {\n \"desc\": {\n \"en\": \"Returns the complete record data from the blog of the specified user.\",\n \"ru\": \"Возвращает полные данные о записях из блога указанного пользователя.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"account\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"entryId\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"id records (if 0 then the most recent)\",\n \"ru\": \"id записи (если 0 то самые свежие)\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"filterTagMasks=[]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_account_reputations\": {\n \"desc\": {\n \"en\": \"Returns data about the reputation of users.\",\n \"ru\": \"Возвращает данные о репутации пользователей.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"names\": {\n \"type\": \"Array\",\n \"desc\": {\n \"en\": \"accounts(strings) in nested array\",\n \"ru\": \"имена аккаунтов (строки) в виде массива\",\n \"de\": \"Kontennamen als ein Array\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_reblogged_by\": {\n \"desc\": {\n \"en\": \"Returns the list of users who either created the record or made it a repost.\",\n \"ru\": \"Возвращает список пользователей которые либо создали запись либо сделали её репост.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"author\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"permlink\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"link to publication\",\n \"ru\": \"ссылка на публикацию\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_blog_authors\": {\n \"desc\": {\n \"en\": \"Returns the list of authors and the number of reposts of this author by the user.\",\n \"ru\": \"Возвращает список авторов и количество репостов этого автора пользователем.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"blogAccount\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n }\n },\n \"network_broadcast_api\": {\n \"broadcast_transaction\": {\n \"desc\": {\n \"en\": \"The transaction will be checked for validity in the local database prior to broadcasting. If it fails to apply locally, an error will be thrown and the transaction will not be broadcast.\",\n \"ru\": \"Транзакция будет проверяться на достоверность в локальной базе данных до начала трансляции. Если он не может применяться локально, будет вызвана ошибка, и транзакция не будет транслироваться.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"trx\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"signed transaction\",\n \"ru\": \"подписанная транзакция\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"broadcast_transaction_with_callback\": {\n \"desc\": {\n \"en\": \"this version of broadcast transaction registers a callback method that will be called when the transaction is included into a block. The callback method includes the transaction id, block number, and transaction number in the block.\",\n \"ru\": \"Эта версия широковещательной транзакции регистрирует метод обратного вызова, который будет вызываться, когда транзакция включена в блок. Метод обратного вызова включает идентификатор транзакции, номер блока и номер транзакции в блоке.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"confirmationCallback\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"callback method\",\n \"ru\": \"метод обратного вызова\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"trx\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"signed transaction\",\n \"ru\": \"подписанная транзакция\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"broadcast_transaction_synchronous\": {\n \"desc\": {\n \"en\": \"This call will not return until the transaction is included in a block.\",\n \"ru\": \"Этот вызов не будет возвращен до тех пор, пока транзакция не будет включена в блок.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"trx\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"signed transaction\",\n \"ru\": \"подписанная транзакция\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"broadcast_block\": {\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"b\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"set_max_block_age\": {\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"maxBlockAge\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n }\n },\n \"market_history\": {\n \"get_depth\": {\n \"desc\": {\n \"en\": \"Returns the market depth for the internal market\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"pair=[\\\"GOLOS\\\", \\\"GBG\\\"]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"array of 2 items - first and second symbol in market pair\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_fillable_orders\": {\n \"desc\": {\n \"en\": \"Returns the fillable orders for the internal market\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"market_price\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"object of 2 fields (assets) - base and quote\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_open_orders\": {\n \"desc\": {\n \"en\": \"Displays a list of orders on the internal exchange for the purchase and sale on the network for the specified user.\",\n \"ru\": \"Отображает список заявок на внутренней бирже на покупку и продажу в сети для указанного пользователя.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"owner\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"pair=[\\\"GOLOS\\\", \\\"GBG\\\"]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"array of 2 items - first and second symbol in market pair\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_ticker\": {\n \"desc\": {\n \"en\": \"Returns the market ticker for the internal market\",\n \"ru\": \"Возвращает рыночный тикет для внутреннего рынка \",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"pair=[\\\"GOLOS\\\", \\\"GBG\\\"]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"array of 2 items - first and second symbol in market pair\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_volume\": {\n \"desc\": {\n \"en\": \"Returns the market volume for the past 24 hours\",\n \"ru\": \"Возвращает объем рынка за последние 24 часа\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"pair=[\\\"GOLOS\\\", \\\"GBG\\\"]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"array of 2 items - first and second symbol in market pair\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_order_book\": {\n \"desc\": {\n \"en\": \"Displays a list of applications on the internal exchange for the purchase and sale of the network\",\n \"ru\": \"Отображает список заявок на внутренней бирже на покупку и продажу в сети\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"pair=[\\\"GOLOS\\\", \\\"GBG\\\"]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"array of 2 items - first and second symbol in market pair\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_order_book_extended\": {\n \"desc\": {\n \"en\": \"Displays a list of applications on the internal exchange for the purchase and sale of the network\",\n \"ru\": \"Отображает список заявок на внутренней бирже на покупку и продажу в сети\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"pair=[\\\"GOLOS\\\", \\\"GBG\\\"]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"array of 2 items - first and second symbol in market pair\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_trade_history\": {\n \"desc\": {\n \"en\": \"Returns the trade history for the internal market.\",\n \"ru\": \"Возвращает историю торговли для внутреннего рынка\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"start\": {\n \"type\": \"String/Integer\",\n \"desc\": {\n \"en\": \"trading start time\",\n \"ru\": \"время начала торгов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"end\": {\n \"type\": \"String/Integer\",\n \"desc\": {\n \"en\": \"closing time\",\n \"ru\": \"время окончания торгов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"pair=[\\\"GOLOS\\\", \\\"GBG\\\"]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"array of 2 items - first and second symbol in market pair\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_recent_trades\": {\n \"desc\": {\n \"en\": \"Returns the N most recent trades for the internal market.\",\n \"ru\": \"Возвращает N последних сделок для внутреннего рынка\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"pair=[\\\"GOLOS\\\", \\\"GBG\\\"]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"array of 2 items - first and second symbol in market pair\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_market_history\": {\n \"desc\": {\n \"en\": \"Returns the market history for the internal market.\",\n \"ru\": \"Возвращает историю рынка для внутреннего рынка\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"bucket_seconds\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"size of buckets\",\n \"ru\": \"размер стакана(среза)\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"start\": {\n \"type\": \"String/Integer\",\n \"desc\": {\n \"en\": \"trading start time\",\n \"ru\": \"время начала торгов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"end\": {\n \"type\": \"String/Integer\",\n \"desc\": {\n \"en\": \"closing time\",\n \"ru\": \"время окончания торгов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"pair=[\\\"GOLOS\\\", \\\"GBG\\\"]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"array of 2 items - first and second symbol in market pair\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_market_history_buckets\": {\n \"desc\": {\n \"en\": \"Returns the bucket seconds being tracked by the plugin\",\n \"ru\": \"Возвращает размер секунд стакана(среза), отслеживаемых плагином.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n },\n \"operation_history\" : {\n \"get_nft_token_ops\": {\n \"desc\": {\n \"en\": \"Returns all operations related to specified NFT-token(-s).

Example:
{ \\\"token_ids\\\": [5435], \\\"limit\\\": 1000 }
\",\n \"ru\": \"Возвращает историю операций по выбранному NFT-токену(-ам).

Пример:
{ \\\"token_ids\\\": [5435], \\\"limit\\\": 1000 }
\",\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"Example:
{\\n    \\\"token_ids\\\": [1243],\\n    \\\"from\\\": 0,\\n    \\\"limit\\\": 20\\n}
Parameters:select_token_ids: [1, 2, 3] - Token ids.
from: 0 - pagination. 0 - first request, 20 (if limit = 20) - second...
limit: 20 - max operation count in response for 1 request. Max allowed is 1000.
reverse_sort: false - Reverse sorting.\",\n \"ru\": \"Пример:
{\\n    \\\"token_ids\\\": [1243],\\n    \\\"from\\\": 0,\\n    \\\"limit\\\": 20\\n}
Параметры:select_token_ids: [1, 2, 3] - Идентификаторы токенов.
from: 0 - пагинация. 0 - первая страница, 20 (если limit = 20) - вторая, и т.п.
limit: 20 - количество операций за 1 запрос. Максимум разрешено 1000.
reverse_sort: false - Обратная сортировка.\"\n }\n }\n }\n },\n \"get_ops_in_block\": {\n \"desc\": {\n \"en\": \"Returns all operations in the block, if the parameter 'onlyVirtual' is true, then returns only the virtual operations\",\n \"ru\": \"Возвращает все операции в блоке, если параметр 'onlyVirtual' true то возвращает только виртуальные операции\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"blockNum\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"block number\",\n \"ru\": \"номер блока\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"onlyVirtual\": {\n \"type\": \"Boolean\",\n \"desc\": {\n \"en\": \"show only virtual operations\",\n \"ru\": \"показывать только виртуальные операции\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_transaction\": {\n \"desc\": {\n \"en\": \"Displays transaction details for the specified transaction ID.\",\n \"ru\": \"Отображает детали транзакции по заданному ID транзакции.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"trxId\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"id\",\n \"ru\": \"id\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n }\n },\n \"private_message\" : {\n \"get_contacts\": {\n \"desc\": {\n \"en\": \"Returns list of contacts of specified account.\",\n \"ru\": \"Возвращает список контактов, то есть пользователей, с которыми беседовал данный пользователь, и некоторую информацию о беседах (какое последнее сообщение, есть ли непрочитанные и т.п.). Используется в Golos Messages для панели контактов слева.\",\n },\n \"params\": {\n \"owner\": {\n \"desc\": {\n \"en\": \"Name of account for who contact list should be loaded\",\n \"ru\": \"Имя пользователя, для которого следует получить список контактов\"\n }\n },\n \"type\": {\n \"desc\": {\n \"en\": \"Currenty supported only unknown\",\n \"ru\": \"На данный момент поддерживается только unknown\"\n }\n },\n \"limit\": {\n \"desc\": {\n \"en\": \"How many contacts to return. Maximum is 100.\",\n \"ru\": \"Сколько контактов выдать. Гарантируемый максимум - 100.\"\n }\n },\n \"offset\": {\n \"desc\": {\n \"en\": \"Pagination. For first page use 0, another page use (N-1)*limit, there N is page number\",\n \"ru\": \"Пагинация. Для первой страницы - 0, для последующих страниц - (N-1)*limit, где N - номер страницы\"\n }\n }\n }\n },\n \"get_inbox\": {\n \"desc\": {\n \"en\": \"Returns incoming private message history in mailbox-like style. To decode them use Golos Messenger API.\",\n \"ru\": \"Получает историю входящих сообщений в виде \\\"почты\\\". Расшифровать и безопасно обработать эти сообщения можно с помощью Golos Messenger API.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"All params are optional. In simplest case just use {}.\",\n \"ru\": \"Все параметры опциональны, в простейшем варианте достаточно {}. \",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_outbox\": {\n \"desc\": {\n \"en\": \"Returns outgoing private message history in mailbox-like style. To decode them, use Golos Messenger API.\",\n \"ru\": \"Получает историю исходящих сообщений в виде \\\"почты\\\". Расшифровать и безопасно обработать эти сообщения можно с помощью Golos Messenger API.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"All params are optional. In simplest case just use {}.\",\n \"ru\": \"Все параметры опциональны, в простейшем варианте достаточно {}. \",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_thread\": {\n \"desc\": {\n \"en\": \"Returns private message history of 2 users in chat-like style. Used in Golos Messenger. To decode them use Golos Messenger API.\",\n \"ru\": \"Получает историю сообщений между 2 пользователями в виде чата. Используется в Golos Messenger. Расшифровать и безопасно обработать эти сообщения можно с помощью Golos Messenger API.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"from\": {\n \"desc\": {\n \"en\": \"Account name of one of 2 users.\",\n \"ru\": \"Имя аккаунта одного из собеседников. Рекомендуется подставлять сюда текущего авторизованного пользователя, а в to - его собеседника.\" \n }\n },\n \"to\": {\n \"desc\": {\n \"en\": \"Another one.\",\n \"ru\": \"Имя аккаунта второго собеседника.\" \n }\n },\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"All params are optional. In simplest case just use {}.\",\n \"ru\": \"Все параметры опциональны, в простейшем варианте достаточно {}. \",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n }\n },\n \"social_network\" : {\n \"get_all_content_replies\": {\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"filterIds=[]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"filterAuthors=[]\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"sortByCreatedDesc=null\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_active_votes\": {\n \"desc\": {\n \"en\": \"Displays the list of users who voted for the specified entry\",\n \"ru\": \"Отображает список пользователей проголосовавших за указанную запись\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"author\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username (author of the publication)\",\n \"ru\": \"имя пользователя (автора публикации)\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"permlink\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"link to publication\",\n \"ru\": \"ссылка на публикацию\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_account_votes\": {\n \"desc\": {\n \"en\": \"Displays all the voices that are displayed by the specified user\",\n \"ru\": \"Отображает все голоса которые выставлены указанным пользователем\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"voter\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_content\": {\n \"desc\": {\n \"en\": \"Gets information about the publication, with the exception of comments\",\n \"ru\": \"Получает информацию о публикации, за исключением комментариев\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"author\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"permlink\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"link to publication\",\n \"ru\": \"ссылка на публикацию\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_content_replies\": {\n \"desc\": {\n \"en\": \"Displays a list of all comments for the selected publication\",\n \"ru\": \"Отображает список всех комментариев для выбранной публикации\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"author\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"parentPermlink\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"link to publication\",\n \"ru\": \"ссылка на публикацию\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_donates\": {\n \"desc\": {\n \"en\": \"Returns a list (array) of donates of specified target (post, comment, etc.), or sent by specified user (from), or received by specified user (to).

In target case this method is good for single post or comment. If loading donate lists for whole comment tree, it is better to use get_donates_for_targets.\",\n \"ru\": \"Выдает список (массив) донатов, полученных за заданный target (пост, комментарий и др.), или отправленных заданным пользователем (from), или полученных заданных пользователем (to).

В случае с target метод хорош для загрузки донатов под постом или одиночным комментарием. Если загружается дерево комментариев, и для каждого нужно загрузить список донатов, то оптимальнее использовать get_donates_for_targets.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"uia\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"true for array of only UIA-donates. false for only GOLOS-donates.\",\n \"ru\": \"true, если нужен массив донатов только в UIA. false, если нужен список донатов только в токенах GOLOS.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"target\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"JSON-object with any field structure. Each application has its own target structure.
In case with Golos Blogs' and Forums' posts and comments, target contains 2 fields - author and permlink.
Example: {\\\"author\\\":\\\"lex\\\",\\\"permlink\\\":\\\"zayavka-za-podgotovku-koordinaciyu-testirovanie-i-realizaciyu-23-khf\\\"}\",\n \"ru\": \"JSON-объект произвольной структуры. У каждого приложения (и в каждой разновидности target) структура своя.
В случае с постами и комментариями, созданными через Golos Блоги или Форум, объект содержит два поля - author и permlink.
Пример: {\\\"author\\\":\\\"lex\\\",\\\"permlink\\\":\\\"zayavka-za-podgotovku-koordinaciyu-testirovanie-i-realizaciyu-23-khf\\\"}\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"from\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"Fill it only in case if you want to obtain donates sent by specific user, not for specific target. In that case target should be set to null.\",\n \"ru\": \"Заполняется только в случае, когда нужно получить не список донатов под каким-то target, а список донатов от какого-то пользователя за любые target. target в этом случае должен быть null.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"to\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"Fill it only in case if you want to obtain donates received by specific user, not for specific target. In that case target should be set to null.\",\n \"ru\": \"Заполняется только в случае, когда нужно получить не список донатов под каким-то target, а список донатов какому-то пользователю за любые target. target в этом случае должен быть null.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"How much donates we should obtain. Maximum - 100.
Recommended for best performance - 20.
If there are many donates, you should use pagination - firstly load first 100 donates (set offset to 0), next use \\\"load-more\\\" pattern, with incrementing offset each time.\",\n \"ru\": \"Сколько донатов получить.
Гарантируемый максимум - 100.
Рекомендуется для быстродействия - 20.
Если донатов много, то нужно использовать load-more-пагинацию - сначала загрузить первые 100 (с offset 0), а затем по мере перелистывания пользователем подгружать еще порции, увеличивая offset каждый раз.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"offset\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"Pagination. To receive first page, use 0. See limit.\",\n \"ru\": \"Пагинация. Для получения самой первой страницы списка используйте 0. См. limit.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"join_froms\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"true, if we should join each few donates by single user and single symbol into single donate. false, if not. Usually true is better choice.\",\n \"ru\": \"true, если нужно объединять несколько донатов от одного пользователя в одной валюте - в один донат. false, если этого делать не нужно. Обычно удобнее true.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_donates_for_targets\": {\n \"desc\": {\n \"en\": \"Gets the few lists of donates of few specified targets (posts, comments, etc.)

Response is array of arrays. For each target it contains 2 arrays: GOLOS-donates and UIA-donates.\",\n \"ru\": \"Возвращает несколько списков донатов, полученных за несколько target (посты, комментарии и др.)

Возвращаемое значение - массив из массивов. На каждый target - по 2 массива, из которых первый - это донаты в токенах GOLOS, второй - донаты в токенах UIA.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"targets\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"Array of targets.

Target is a JSON-object with any field structure. Each application has its own target structure.
In case with Golos Blogs' and Forums' posts and comments, target contains 2 fields - author and permlink.

Example: [{\\\"author\\\":\\\"lex\\\",\\\"permlink\\\":\\\"zayavka-za-podgotovku-koordinaciyu-testirovanie-i-realizaciyu-23-khf\\\"}, {\\\"author\\\":\\\"lex-escrow\\\",\\\"permlink\\\":\\\"zayavka-za-vzaimodeistvie-s-birzhami-voprosam-listinga-reitingov\\\"}]\",\n \"ru\": \"Массив target'ов.

Каждый target - это JSON-объект произвольной структуры. У каждого приложения (и в каждой разновидности target) структура своя.
В случае с постами и комментариями, созданными через Golos Блоги или Форум, объект содержит два поля - author и permlink.

Пример: [{\\\"author\\\":\\\"lex\\\",\\\"permlink\\\":\\\"zayavka-za-podgotovku-koordinaciyu-testirovanie-i-realizaciyu-23-khf\\\"}, {\\\"author\\\":\\\"lex-escrow\\\",\\\"permlink\\\":\\\"zayavka-za-vzaimodeistvie-s-birzhami-voprosam-listinga-reitingov\\\"}]\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"How much donates we should obtain. Maximum - 100.
Recommended for best performance - 20.
If there are many donates, you should use pagination - firstly load first 100 donates (set offset to 0), next use \\\"load-more\\\" pattern, with incrementing offset each time.\",\n \"ru\": \"Сколько донатов получить.
Гарантируемый максимум - 100.
Рекомендуется для быстродействия - 20.
Если донатов много, то нужно использовать load-more-пагинацию - сначала загрузить первые 100 (с offset 0), а затем по мере перелистывания пользователем подгружать еще порции, увеличивая offset каждый раз.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"offset\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"Pagination. To receive first page, use 0. See limit.\",\n \"ru\": \"Пагинация. Для получения самой первой страницы списка используйте 0. См. limit.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"join_froms\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"true, if we should join each few donates by single user and single symbol into single donate. false, if not. Usually true is better choice.\",\n \"ru\": \"true, если нужно объединять несколько донатов от одного пользователя в одной валюте - в один донат. false, если этого делать не нужно. Обычно удобнее true.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_discussions_by_author_before_date\": {\n \"desc\": {\n \"en\": \"Displays a limited number of user publications\",\n \"ru\": \"Отображает ограниченное количество публикации пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"author\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"startPermlink\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"link to the publication from which to start filtering (may be empty)\",\n \"ru\": \"ссылка на публикацию с которой начинать фильтровать (может быть пустым)\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"beforeDate\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"date to which to filter\",\n \"ru\": \"дата до которой фильтровать\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_replies_by_last_update\": {\n \"desc\": {\n \"en\": \"Return the active discussions with the highest cumulative pending payouts without respect to category, total pending payout means the pending payout of all children as well.\",\n \"ru\": \"Верните активные обсуждения с самыми высокими совокупными ожидающими выплатами без учета категории, общая ожидаемая выплата означает ожидаемую всю выплату.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"startAuthor\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"startPermlink\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"link to publication\",\n \"ru\": \"ссылка на публикацию\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n }\n },\n \"witness_api\" : {\n \"get_witnesses\": {\n \"desc\": {\n \"en\": \"Displays delegate data according to the specified ID\",\n \"ru\": \"Отображает данные о делегатах в соответствии с заданными ID\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"witnessIds\": {\n \"type\": \"Array\",\n \"desc\": {\n \"en\": \"id\",\n \"ru\": \"id\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_witness_by_account\": {\n \"desc\": {\n \"en\": \"Displays data about the delegate (if it is) according to the data from the request\",\n \"ru\": \"Отображает данные о делегате (если он им является) в соответствии с данными из запроса\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"accountName\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username\",\n \"ru\": \"имя пользователя\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_witnesses_by_vote\": {\n \"desc\": {\n \"en\": \"Displays a limited list of delegates approving the vote.\",\n \"ru\": \"Отображает ограниченный список делегатов одобряющих голосование.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"from\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"username (If the first parameter is empty, the leading delegates are displayed, if the first parameter is specified, the list starts with the specified delegate.)\",\n \"ru\": \"имя пользователя (Если первый параметр пуст то отображаются ведущие делегаты, если первый параметр указан то список начинается с указанного делегата.)\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"lookup_witness_accounts\": {\n \"desc\": {\n \"en\": \"Displays a limited list of users who have announced their intention to work as a delegate.\",\n \"ru\": \"Отображает ограниченный список пользователей, которые объявили о своем намерении работать в качестве делегата.\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"lowerBoundName\": {\n \"type\": \"String\",\n \"desc\": {\n \"en\": \"search pattern\",\n \"ru\": \"шаблон поиска\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"limit\": {\n \"type\": \"Integer\",\n \"desc\": {\n \"en\": \"number of results\",\n \"ru\": \"количество результатов\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n }\n },\n \"get_witness_count\": {\n \"desc\": {\n \"en\": \"Displays the number of delegates.\",\n \"ru\": \"Отображает количество делегатов.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"get_current_median_history_price\": {\n \"desc\": {\n \"en\": \"Displays the current median price of conversion\",\n \"ru\": \"Отображает текущую медианную цену конвертации\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"get_witness_schedule\": {\n \"desc\": {\n \"en\": \"Displays the current delegation status.\",\n \"ru\": \"Отображает текущее состояние делегирования.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"get_active_witnesses\": {\n \"desc\": {\n \"en\": \"Displays a list of all active delegates.\",\n \"ru\": \"Отображает список всех активных делегатов.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"get_miner_queue\": {\n \"desc\": {\n \"en\": \"Creates a list of the miners waiting to enter the DPOW chain to create the block.\",\n \"ru\": \"Создает список майнеров, ожидающих попасть в DPOW цепочку, чтобы создать блок.\",\n \"de\": \"\",\n \"es\": \"\"\n }\n }\n },\n \"worker_api\" : {\n \"get_worker_requests\": {\n \"desc\": {\n \"en\": \"Gets list of worker requests (or only one request).\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n },\n \"params\": {\n \"query\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"sort\": {\n \"desc\": {\n \"en\": \"by_created, by_net_rshares, by_upvotes, or by_downvotes\",\n \"ru\": \"\",\n \"de\": \"\",\n \"es\": \"\"\n }\n },\n \"fill_post\": {\n \"type\": \"Boolean\"\n }\n }\n }\n },\n \"paid_subscription_api\" : {\n \"get_paid_subscribe\": {\n \"desc\": {\n \"en\": \"Returns paid subscribe if exists. Or object with empty fields.

Example:
query:
{ \\\"author\\\": \\\"lex\\\", \\\"oid\\\": { \\\"app\\\": \\\"golos-blog\\\", \\\"name\\\": \\\"blog\\\", \\\"version\\\": 1 }, \\\"subscriber\\\": \\\"xel\\\" }
\",\n \"ru\": \"Возвращает платную подписку пользователя **subscriber** на такую-то сущность `oid` для подписки пользователя author. Если подписки нет, возвращает объект с пустыми полями.

Пример:
query:
{ \\\"author\\\": \\\"lex\\\", \\\"oid\\\": { \\\"app\\\": \\\"golos-blog\\\", \\\"name\\\": \\\"blog\\\", \\\"version\\\": 1 }, \\\"subscriber\\\": \\\"xel\\\" }
\",\n },\n \"params\": {\n \"query={}\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"Parameters:
author: 'lex' - paid subscribe author.
oid: { app: 'golos-blog', name: 'blog', version: 1 } - paid subscribe id.
subscriber: 'xel' - Subscriber.\",\n \"ru\": \"Параметры:
author: 'lex' - автор платной подписки.
oid: { app: 'golos-blog', name: 'blog', version: 1 } - идентификатор платной подписки.
subscriber: 'xel' - Предполагаемый платный подписчик\"\n }\n }\n }\n },\n \"get_paid_subscribers\": {\n \"desc\": {\n \"en\": \"Returns list of paid subscibers if oid by author. If no - returns empty array.

Example:
query:
{ \\\"author\\\": \\\"lex\\\", \\\"oid\\\": { \\\"app\\\": \\\"golos-blog\\\", \\\"name\\\": \\\"blog\\\", \\\"version\\\": 1 }, \\\"limit\\\": 100 }
\",\n \"ru\": \"Возвращает список платных подписчиков заданной сущности oid для подписки пользователя author. Если подписок нет, возвращает пустой массив.

Пример:
query:
{ \\\"author\\\": \\\"lex\\\", \\\"oid\\\": { \\\"app\\\": \\\"golos-blog\\\", \\\"name\\\": \\\"blog\\\", \\\"version\\\": 1 }, \\\"limit\\\": 100 }
\",\n },\n \"params\": {\n \"query={}\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"Parameters:
author: 'lex' - author.
oid: { app: 'golos-blog', name: 'blog', version: 1 } - id of paid subscription.
from: '' - Pagination. First request - empty string, next - name of last subscriber from previous request response.
limit: 20 - Max paid subscribers count per request. Max allowed is 100.
sort: 'by_name' - Sorting. by_date
state: 'active_inactive' - Get active and inactive subscribers. active_only, inactive_only\",\n \"ru\": \"Параметры:
author: 'lex' - автор платной подписки.
oid: { app: 'golos-blog', name: 'blog', version: 1 } - идентификатор платной подписки.
from: '' - Пагинация. При первом запросе пустая строка, далее - имя последнего подписчика из предыдущего запроса.
limit: 20 - Макс. кол-во платных подписок за 1 запрос. Разрешено максимум 100.
sort: 'by_name' - Сортировка. by_date
state: 'active_inactive' - Получать как активных, так и неактивных подписчиков. active_only, inactive_only\"\n }\n }\n }\n },\n \"get_paid_subscription_options\": {\n \"desc\": {\n \"en\": \"Returns paid subscription if exists. Or object with empty fields.

Example:
query:
{ \\\"author\\\": \\\"lex\\\", \\\"oid\\\": { \\\"app\\\": \\\"golos-blog\\\", \\\"name\\\": \\\"blog\\\", \\\"version\\\": 1 } }
\",\n \"ru\": \"Возвращает информацию об условиях платной подписки oid автора author. Если подписки нет, возвращает объект с пустыми полями.

Пример:
query:
{ \\\"author\\\": \\\"lex\\\", \\\"oid\\\": { \\\"app\\\": \\\"golos-blog\\\", \\\"name\\\": \\\"blog\\\", \\\"version\\\": 1 } }
\",\n },\n \"params\": {\n \"query={}\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"Parameters:
author: 'lex' - paid subscribe author.
oid: { app: 'golos-blog', name: 'blog', version: 1 } - paid subscribe id.\",\n \"ru\": \"Параметры:
author: 'lex' - автор платной подписки.
oid: { app: 'golos-blog', name: 'blog', version: 1 } - идентификатор платной подписки.\"\n }\n }\n }\n },\n \"get_paid_subscriptions\": {\n \"desc\": {\n \"en\": \"Returns paid subscribes of subscriber user. If no - returns empty array.

Example:
query:
{ \\\"subscriber\\\": \\\"lex\\\", \\\"limit\\\": 100, \\\"select_oid\\\": { \\\"app\\\": \\\"golos-blog\\\", \\\"name\\\": \\\"blog\\\", \\\"version\\\": 1 } }
\",\n \"ru\": \"Возвращает список платных подписок пользователя subscriber (\\\"на что я подписан?\\\"). Если подписок нет, возвращает пустой массив.

Пример:
query:
{ \\\"subscriber\\\": \\\"lex\\\", \\\"limit\\\": 100, \\\"select_oid\\\": { \\\"app\\\": \\\"golos-blog\\\", \\\"name\\\": \\\"blog\\\", \\\"version\\\": 1 } }
\",\n },\n \"params\": {\n \"query={}\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"Parameters:
subscriber: 'lex' - subscriber.
start_author: '' - Pagination. 1st request - empty, next - author of last subscribe in previous response.
start_oid: { app: '', name: '', version: 1 } - also need for pagination. In this example - empty, for first request.
limit: 20 - Max subscribes count for 1 request. Maximum is 100.
sort: 'by_author_id' - Sorting. by_date
state: 'active_inactive' - State of subscribes. active_only, inactive_only
select_items: [['alice', {app: 'test', name: 'test', version: 1}]] - Get only specified subscribes.
select_oid - Get subscribes with this oid, but different authors (e.g. all sponsored authors in Golos Blogs are have same oid)\",\n \"ru\": \"Параметры:
subscriber: 'lex' - подписчик.
start_author: '' - Пагинация. Первый запрос - пусто, далее - автор последней подписки из предыдущего запроса.
start_oid: { app: '', name: '', version: 1 } - также необходимо для пагинации. В данном примере - пустое, для первого запроса.
limit: 20 - Макс. кол-во подписок за 1 запрос. Максимум 100.
sort: 'by_author_id' - Сортировка. by_date
state: 'active_inactive' - Статус подписок. active_only, inactive_only
select_items: [['alice', {app: 'test', name: 'test', version: 1}]] - Позволяет получать конкретные подписки.
select_oid - Позволяет получать подписки на конкретный oid, но разных авторов (напр. у всех спонсируемых авторов в Golos Blogs один и тот же oid_\"\n }\n }\n }\n },\n \"get_paid_subscriptions_by_author\": {\n \"desc\": {\n \"en\": \"Returns paid subscriptions by author, or empty array.

Пример:
query:
{ \\\"author\\\": \\\"lex\\\", \\\"limit\\\": 100 }
\",\n \"ru\": \"Получает платные подписки автора author. Если подписок нет - пустой массив.

Пример:
query:
{ \\\"author\\\": \\\"lex\\\", \\\"limit\\\": 100 }
\",\n },\n \"params\": {\n \"query={}\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"Parameters:
author: 'lex' - paid subscriptions author.
from: { app: '', name: '', version: 1 } - pagination. First request - empty as in this example. Next - oid of last subscription of previous request.
limit: 20 - Max count per request. Allowed maximum is 100\",\n \"ru\": \"Параметры:
author: 'lex' - автор платных подписок.
from: { app: '', name: '', version: 1 } - пагинация. При первом запросе оставить пустым как в данном примере. Далее - oid последней подписки из предыдущего запроса.
limit: 20 - Макс. кол-во платных подписок в одном ответе. Допустимый максимум 100\"\n }\n }\n }\n },\n },\n \"nft_api\" : {\n \"get_nft_collections\": {\n \"desc\": {\n \"en\": \"Returns list of all NFT-collections, or specified one/ones, or collections by specified creator.

All collections:
query:
{ \\\"limit\\\": 100 }

Collections of specified creator:
{ \\\"creator\\\": \\\"lex\\\", \\\"limit\\\": 100 }

Specified collections:
{ \\\"select_names\\\": [\\\"CATS\\\", \\\"DOGS\\\"] }
\",\n \"ru\": \"Возвращает список всех NFT-коллекций в системе, либо выбранную коллекцию/коллекции, либо коллекции выбранного владельца.

Все коллекции:
query:
{ \\\"limit\\\": 100 }

Коллекции конкретного владельца:
{ \\\"creator\\\": \\\"lex\\\", \\\"limit\\\": 100 }

Конкретные коллекции:
{ \\\"select_names\\\": [\\\"CATS\\\", \\\"DOGS\\\"] }
\",\n },\n \"params\": {\n \"query={}\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"Parameters:
creator: 'cyberfounder' - select collections only by this owner. Can be empty.
start_name: '' - pagination. Collection name from which start the list. First request - it is empty. Next requests - it is name of last collection of previous request.
limit: 20 - Max count of collections for single request. Maximum allowed if 100.
sort: 'by_created' Sorting of NFT-collections. by_last_price, by_token_count, by_market_depth, by_market_asks, by_market_volume
reverse_sort: false - Reverse sort.\",\n \"ru\": \"Параметры:
creator: 'cyberfounder' - выбрать коллекции этого владельца. Оставьте пустым, если нужны любые коллекции.
start_name: '' - пагинация. Имя коллекции, с которой следует начать выборку. При первом запросе должен быть пустым, а при каждом последующем - имя последней коллекции из предыдущего запроса.
limit: 20 - Макс. кол-во коллекций за 1 запрос. Максимум 100.
sort: 'by_created' Сортировка коллекций. by_last_price, by_token_count, by_market_depth, by_market_asks, by_market_volume
reverse_sort: false - Сортировать в обратном направлении.\"\n }\n }\n }\n },\n \"get_nft_orders\": {\n \"desc\": {\n \"en\": \"Returns list of all NFT-orders (selling or buying NFT-tokens), or orders by specified owner, or orders in specified NFT-collection, or 1 specified order by order_id.

All CATS orders:
query:
{ \\\"select_collections\\\": [\\\"CATS\\\"], \\\"limit\\\": 100 }

Orders by owner:
{ \\\"owner\\\": \\\"lex\\\", \\\"select_collections\\\": [\\\"CATS\\\"], \\\"limit\\\": 100 }

Specified order:
{ \\\"start_order_id\\\": 543, \\\"limit\\\": 1 }
\",\n \"ru\": \"Возвращает список всех NFT-ордеров в системе (ордеров на продажу/покупку NFT-токенов), либо ордера заданного владельца токенов, либо ордера NFT-токенов заданной коллекции, либо 1 конкретный ордер по order_id.

Все ордеры с токенами CATS:
query:
{ \\\"select_collections\\\": [\\\"CATS\\\"], \\\"limit\\\": 100 }

Ордеры конкретного владельца:
{ \\\"owner\\\": \\\"lex\\\", \\\"select_collections\\\": [\\\"CATS\\\"], \\\"limit\\\": 100 }

Конкретный ордер:
{ \\\"start_order_id\\\": 543, \\\"limit\\\": 1 }
\",\n },\n \"params\": {\n \"query={}\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"Parameters:
owner: 'alice' - get orders only by this owner. Can be empty.
start_order_id: 0 - pagination. 0 if first request, every next request - order_id from last order from previous request.
limit: 20 - Pagination. Max order count per 1 request. Max allowed is 100.
select_collections: [] - select orders only from these collections.
collection_limit: 1 - Select only 1 order from each select_collections.
filter_creators: [] - Ignore orders from collections by these creators.filter_owners: [] - Ignore orders by these order owners. filter_token_ids: [] - Filter ID of tokens to ignore.filter_names: [] - Collection names to ignore orders of them.
filter_order_ids: [] - id orders to ignore.
type: 'selling' - only selling. Or 'buying' - only buying, 'both' - any.
sort: 'by_name' - Sorting. by_created, by_price
reverse_sort: false - Reversed order of sorting.\",\n \"ru\": \"Параметры:
owner: 'alice' - получить ордеры только этого владельца. Может быть пустым.
start_order_id: 0 - пагинация. 0 при первом запросе, при каждом последующем - order_id последнего ордера из предыдущего запроса.
limit: 20 - Пагинация. Макс. кол-во ордеров за 1 запрос. Максимум 100.
select_collections: [] - выбирает ордера только из этих коллекций.
collection_limit: 1 - Задается, если из каждой коллекции (select_collections) нужно выбрать только 1 ордер.
filter_creators: [] - Владельцы коллекций, чьи ордеры следует исключить из списка.filter_owners: [] - Владельцы токенов, чьи ордеры следует исключить из списка. filter_token_ids: [] - ID токенов, которые следует исключить из списка.filter_names: [] - Имена коллекций, ордеры из которых следует исключить из списка.
filter_order_ids: [] - id ордеров, которые следует исключить из списка.
type: 'selling' - ордера только на продажу. Или 'buying' - только на покупку, 'both' - любые.
sort: 'by_name' - Сортировка. by_created, by_price
reverse_sort: false - Reversed order of sorting.\"\n }\n }\n }\n },\n \"get_nft_tokens\": {\n \"desc\": {\n \"en\": \"Returns list of all NFT-tokens, or tokens by specified tokens owner, or tokens from specified collection, or specified tokens.\",\n \"ru\": \"Возвращает список всех NFT-токенов в системе, либо токены заданного владельца токенов, либо токены из заданной коллекции, либо конкретные токены по id.

Все токены CATS:
query:
{ \\\"select_collections\\\": [\\\"CATS\\\"], \\\"limit\\\": 100 }

Все токены владельца:
{ \\\"owner\\\": \\\"lex\\\", \\\"limit\\\": 100 }
\",\n },\n \"params\": {\n \"query={}\": {\n \"type\": \"Object\",\n \"desc\": {\n \"en\": \"Parameters:
owner: 'alice' - get tokens only of specified owner. Can be empty.
start_token_id: 0 - pagination. 0 if first request, every next - token_id of last token of previous request.
limit: 20 - Pagination. Max token count per 1 request. Max is 100.
select_collections: [] - select tokens only from these collections.
collection_limit: 1 - Select only 1 token from each of select_collections.
select_token_ids: [] - Select only specified tokens by token_id.
filter_creators: [] - Ignore tokens from collections by these creators.filter_token_ids: [] - ID of tokens to ignore.filter_names: [] - Collection names to ignore tokens from them.
state: 'any_not_burnt' - All tokens excluding burnt ones. 'selling_one' - only selling tokens, or 'not_selling_one' - only not selling tokens; 'burnt_only', 'any'
sort: 'by_name' - Sorting. by_issued, by_last_update, by_last_price
reverse_sort: false - Reverse order of sorting.
illformed: 'sort_down' - Sort down tokens without title/image. 'nothing', 'ignore'
selling_sorting: 'nothing' - Do not sort up selling tokens. 'sort_up', 'sort_up_by_price'
sorting_priority: 'selling' Or illformed. Which of these sortings is more important.\",\n \"ru\": \"Параметры:
owner: 'alice' - получить токены только этого владельца. Может быть пустым.
start_token_id: 0 - пагинация. 0 при первом запросе, при каждом последующем - token_id последнего токена из предыдущего запроса.
limit: 20 - Пагинация. Макс. кол-во токенов за 1 запрос. Максимум 100.
select_collections: [] - выбирает токены только из этих коллекций.
collection_limit: 1 - Задается, если из каждой коллекции (select_collections) нужно выбрать только 1 токен.
select_token_ids: [] - Выбрать только конкретные токены по token_id.
filter_creators: [] - Владельцы коллекций, чьи токены следует исключить из списка.
filter_token_ids: [] - ID токенов, которые следует исключить из списка.
filter_names: [] - Имена коллекций, токены из которых следует исключить из списка.
state: 'any_not_burnt' - Получить все токены, кроме сожженных. 'selling_one' - только токены которые выставлены на продажу, или 'not_selling_one' - только которые не выставлены; 'burnt_only', 'any'
sort: 'by_name' - Сортировка. by_issued, by_last_update, by_last_price
reverse_sort: false - Обратный порядок сортировки.
illformed: 'sort_down' - Отображать в самом конце токены у которых нет заголовка/картинки. 'nothing', 'ignore'
selling_sorting: 'nothing' - Не выдавать токены, которые сейчас продаются, впереди всех остальных. 'sort_up', 'sort_up_by_price'
sorting_priority: 'selling' Или illformed. Какая из этих сортировок приоритетна. То есть если у токена нет картинки, но он продается, то все равно выводить его первее других.\"\n }\n }\n }\n }\n }\n}\n","import steem from \"golos-lib-js\"\nimport methods from 'golos-lib-js/lib/api/methods'\nimport operations from 'golos-lib-js/lib/broadcast/operations'\nimport steemoperations from 'golos-lib-js/lib/auth/serializer/src/operations'\nimport typeDefs from 'golos-lib-js/lib/auth/serializer/src/types'\nimport { camelCase } from 'golos-lib-js/lib/utils';\nimport types from \"./types\";\nimport optypes from \"./optypes\";\n//console.log(\"steem_operations\", steemoperations);\n\nclass OpParam {\n constructor(op, name) {\n this.op = op;\n this.name = name;\n\n this.type = \"String\";\n this.desc = { en: \"\", ru: \"\", de: \"\", es: \"\" };\n\n if (optypes[op]\n && optypes[op].params\n && optypes[op].params[name]) {\n let meta = optypes[op].params[name];\n if (meta.type) {\n this.type = meta.type;\n }\n if (meta.desc) {\n for (let tr of Object.keys(meta.desc)) {\n this.desc[tr] = meta.desc[tr];\n }\n }\n }\n }\n\n getType() {\n return this.getTypeDef(this.getTypeObject());\n }\n\n convertTyped(val) {\n let type = this.getType();\n //console.log(\"1perameter \" + this.name + \" has type \", type);\n let ret = val;\n switch (type) {\n case \"uint16\":\n case \"uint32\":\n case \"uint64\":\n case \"int16\":\n ret = parseInt(val);\n if (isNaN(ret)) {\n throw new Error(this.name + \" is not a number [\" + val + \"]\");\n }\n break;\n case \"asset\":\n //check\n if (! /^[0-9]+\\.?[0-9]* [A-Za-z0-9]+$/.test(ret)) {\n throw new Error(this.name + \": Expecting amount like '99.000 SYMBOL', instead got '\" + val + \"'\");\n }\n break;\n case \"public_key\":\n const prefix = steem.config.get('address_prefix');\n if (!ret.match(\"^\" + prefix + \".*$\")) {\n throw new Error(this.name + \": Public key has to start with \" + prefix + \" instead got '\" + val + \"'\");\n }\n break;\n default:\n break;\n }\n return ret;\n }\n\n\n\n getTypeDef(type) {\n //console.log(\"getTypeDef of \" + JSON.stringify(type));\n if (typeof type.operation_name != \"undefined\") {\n return type.operation_name;\n }\n for (let td of Object.keys(typeDefs)) {\n if (typeDefs[td] === type) {\n return td;\n }\n }\n return \"unknown\";\n }\n\n getTypeObject() {\n let opSer = steemoperations[this.op];\n return opSer.types[this.name];\n }\n}\n\n\nclass Param {\n constructor(api, method, name) {\n this.api = api;\n this.method = method;\n const [disp_name, pdefault] = name.split(\"=\");\n\n this.name = name;\n this.disp_name = disp_name;\n this.default = pdefault;\n\n this.type = \"String\";\n this.desc = { en: \"\", ru: \"\", de: \"\", es: \"\" };\n if (types[api]\n && types[api][method]\n && types[api][method].params\n && types[api][method].params[this.name]) {\n let meta = types[api][method].params[this.name];\n //console.log(\"meta\",meta);\n if (meta.type) {\n this.type = meta.type;\n }\n if (meta.desc) {\n for (let tr of Object.keys(meta.desc)) {\n this.desc[tr] = meta.desc[tr];\n }\n }\n }\n }\n}\n\nclass Operation {\n\n constructor(name, params, roles) {\n this.name = name;\n this.paramNames = params;\n this.params = null;\n this.roles = roles;\n if (params && params.length > 0) {\n this.params = {};\n for (let p of params) {\n this.params[p] = new OpParam(name, p);\n }\n }\n this.desc = { en: \"\", ru: \"\", de: \"\", es: \"\" };\n if (optypes[name]\n && optypes[name].desc) {\n for (let tr of Object.keys(optypes[name].desc)) {\n this.desc[tr] = optypes[name].desc[tr];\n }\n }\n }\n\n convert(args) {\n for (let i = 0; i < this.paramNames.length; i++) {\n let pname = this.paramNames[i];\n args[i] = this.params[pname].convertTyped(args[i]);\n }\n\n }\n\n execute() {\n var camelName = camelCase(this.name);\n var params = [arguments[0]];\n var args = Array.prototype.splice.call(arguments, 1);\n this.convert(args);\n params = params.concat(args);\n console.log(\"Execute \" + camelName + \"Async(\" + JSON.stringify(params) + \")\");\n return steem.broadcast[camelName + \"Async\"].apply(steem.broadcast, params);\n //return steem.api.getDynamicGlobalPropertiesAsync();\n }\n}\n\n\n\nclass Method {\n\n constructor(api, name, params, methodName) {\n this.api = api;\n this.name = name;\n this.paramNames = params;\n this.params = null;\n this.methodName = methodName;\n if (params && params.length > 0) {\n this.params = {};\n for (let p of params) {\n this.params[p] = new Param(api, name, p);\n }\n }\n this.desc = { en: \"\", ru: \"\", de: \"\", es: \"\" };\n if (types[api]\n && types[api][name]\n && types[api][name].desc) {\n for (let tr of Object.keys(types[api][name].desc)) {\n this.desc[tr] = types[api][name].desc[tr];\n }\n }\n }\n\n execute() {\n var camelName = camelCase(this.methodName || this.name);\n var args = Array.prototype.splice.call(arguments, 0);\n //console.log(\"Execute \" + camelName + \"Async(\" + JSON.stringify(args) + \")\" );\n return steem.api[camelName + \"Async\"].apply(steem.api, args);\n //return steem.api.getDynamicGlobalPropertiesAsync();\n }\n}\n\nclass SteemApi {\n\n constructor() {\n\n this.methods = {};\n this.operations = {};\n this.importMethods();\n this.importOperations();\n }\n\n importMethods() {\n for (let m of methods) {\n if (!this.methods[m.api]) {\n this.methods[m.api] = {};\n }\n this.methods[m.api][m.method] = new Method(m.api, m.method, m.params, m.method_name);\n }\n }\n\n importOperations() {\n for (let op of operations) {\n this.operations[op.operation] = new Operation(op.operation, op.params, op.roles);\n }\n }\n\n dumpMethods() {\n let dump = {};\n for (let api of Object.keys(this.methods)) {\n if (!dump[api]) {\n dump[api] = {};\n }\n for (let mname of Object.keys(this.methods[api])) {\n let m = this.methods[api][mname];\n let mdump = { desc: { en: \"\", ru: \"\", de: \"\", es: \"\" } };\n if (m.params) {\n mdump.params = {};\n for (let pname of Object.keys(m.params)) {\n let p = m.params[pname];\n mdump.params[p.name] = {\n type: p.type,\n desc: { en: \"\", ru: \"\", de: \"\", es: \"\" }\n }\n for (let tr of Object.keys(p.desc)) {\n mdump.params[p.name].desc[tr] = p.desc[tr];\n }\n }\n for (let tr of Object.keys(m.desc)) {\n mdump.desc[tr] = m.desc[tr];\n }\n }\n dump[m.api][m.name] = mdump;\n }\n }\n }\n\n dumpOperations() {\n let dump = {};\n for (let opName of Object.keys(this.operations)) {\n let op = this.operations[opName];\n let opdump = { desc: { en: \"\", ru: \"\", de: \"\", es: \"\" } };\n if (op.params) {\n opdump.params = {};\n for (let pname of Object.keys(op.params)) {\n let p = op.params[pname];\n opdump.params[p.name] = {\n type: p.type,\n desc: { en: \"\", ru: \"\", de: \"\", es: \"\" }\n }\n for (let tr of Object.keys(p.desc)) {\n opdump.params[p.name].desc[tr] = p.desc[tr];\n }\n }\n for (let tr of Object.keys(op.desc)) {\n opdump.desc[tr] = op.desc[tr];\n }\n }\n dump[op.name] = opdump;\n }\n console.log(JSON.stringify(dump, null, 4));\n }\n\n}\n\nSteemApi.Blockchain = {\n LEX: \"Lex\",\n Golos_id: \"Golos.id\",\n Aleks: \"Aleks\",\n Blockchained: \"Blockchained\",\n Livetest: \"Livetest\"\n}\n\nSteemApi.getDefaults = (blockchain = SteemApi.Blockchain.LEX) => {\n console.log(\"get defaults for\", blockchain);\n switch (blockchain) {\n case SteemApi.Blockchain.LEX:\n return {\n ws: \"https://golos.lexai.host\",\n }\n case SteemApi.Blockchain.Golos_id:\n return {\n ws: \"https://api-full.golos.id\",\n } \n case SteemApi.Blockchain.Aleks:\n return {\n ws: \"https://api.aleksw.space\",\n }\n case SteemApi.Blockchain.Blockchained:\n return {\n ws: \"https://api-golos.blckchnd.com\",\n }\n case SteemApi.Blockchain.Livetest:\n return {\n ws: \"https://apibeta.golos.today\",\n }\n default:\n return null;\n }\n}\n\nSteemApi.setBlockchain = function (\n ws = \"wss://golos.lexai.host/ws\",\n) {\n steem.api.stop();\n steem.config.set('websocket', ws);\n\n}\n\nexport default SteemApi;","import React, { Component, } from 'react';\nimport { ListGroup, ListGroupItem, } from 'react-bootstrap';\nimport { Link, } from 'react-router-dom';\n\nimport './Apis.css';\n\nclass Apis extends Component {\n getTarget(api, method) {\n return '/api/' + api + '/' + method;\n }\n\n render() {\n let apis = Object.keys(this.props.apis);\n apis.sort((a, b) => {\n if (a === b) return 0;\n if (a < b) return -1;\n return 1;\n });\n\n const apiItems = apis.map((api) => {\n let ret = [\n \n ];\n const methods = this.props.apis[api];\n let methodNames = Object.keys(methods);\n methodNames.sort((a, b) => {\n if (a === b) return 0;\n if (a < b) return -1;\n return 1;\n });\n\n for (let name of methodNames) {\n ret.push(\n {name}\n );\n }\n\n return ret;\n });\n\n return (\n \n {apiItems}\n \n );\n }\n}\n\nexport default Apis;\n","import React, { Component, } from 'react';\nimport 'react-flags-select/css/react-flags-select.css';\n\nimport { Navbar, Nav, NavDropdown, MenuItem, FormGroup, Glyphicon, FormControl, } from 'react-bootstrap';\n\nimport SteemApi from '../steemjs/api';\nimport './Header.css';\n\nclass Header extends Component {\n constructor(props) {\n super(props);\n this.steemapi = new SteemApi();\n this.state = {\n blockchain: this.props.blockchain,\n ws: this.props.ws,\n };\n }\n\n onSelectLang = (countryCode) => {\n this.props.onSelectLang(countryCode);\n };\n\n onChange = (event) => {\n const target = event.target;\n const value = target.value;\n const name = target.name;\n console.log(name, value);\n let newState = {\n [name]: value,\n };\n if (name === 'blockchain') {\n const defaults = SteemApi.getDefaults(value);\n console.log('got defaults', defaults);\n Object.assign(newState, defaults);\n }\n\n this.setState(newState);\n\n if (this.props.onChange) {\n this.props.onChange({\n blockchain: this.state.blockchain,\n ws: this.state.ws,\n });\n }\n };\n\n onChangeBlockchain(blockchain) {\n const ws = SteemApi.getDefaults(blockchain).ws;\n this.setState({\n openBCSelector: null,\n blockchain,\n ws,\n });\n if (this.props.onChange) {\n this.props.onChange({\n blockchain, ws,\n });\n } \n }\n\n onChangeWs(ws) {\n console.log('ws', ws);\n this.setState({ws});\n if (this.props.onChange) {\n this.props.onChange({\n blockchain: this.state.blockchain,\n ws: ws,\n });\n } \n }\n\n render() {\n console.log('props & stats', this.props, this.state);\n console.log('state.blockchain', this.state.blockchain);\n return (\n \n {this.state.blockchain && \n \n }\n\n \n {this.props.title}\n \n \n \n\n \n {!this.state.blockchain && }\n {this.state.blockchain && \n \n this.onChangeBlockchain(ev.target.value)}\n componentClass='select' placeholder={this.state.blockchain}>\n {Object.keys(SteemApi.Blockchain).map(node => \n \n )}\n \n {' '}\n \n this.onChangeWs(ev.target.value)}>\n \n \n }\n \n );\n }\n}\n\nexport default Header;\n","import React, { Component, } from 'react';\nimport pck from 'golos-lib-js/package.json'\nimport { Grid, Row, Col, } from 'react-bootstrap';\n\nimport SteemApi from '../steemjs/api';\nimport Apis from '../elements/Apis';\nimport Header from '../elements/Header';\nimport './Api.css';\n\nclass Api extends Component {\n constructor() {\n super();\n this.steemapi = new SteemApi();\n\n //this.steemapi.dumpOperations();\n }\n\n render() {\n document.title = 'Steem-JS API';\n return (\n \n \n
\n \n \n \n \n

Golos API {pck.version}

\n
\n \n
\n
\n \n
\n );\n }\n}\n\nexport default Api;","\nconst language = 'ru-RU' || (navigator.languages && navigator.languages[0]) ||\n navigator.language ||\n navigator.userLanguage;\n\n// Split locales with a region code\nlet languageWithoutRegionCode = language.toLowerCase().split(/[_-]+/)[0];\nlet storedLang = localStorage.getItem('lang');\nif(storedLang) {\n languageWithoutRegionCode = storedLang;\n}\n\nfunction getDesc(descriptions) {\n const desc = descriptions[languageWithoutRegionCode];\n if(!desc) {\n return descriptions[\"en\"];\n }\n return desc;\n}\n\n\nfunction getLang() {\n return languageWithoutRegionCode;\n}\n\nfunction setLang(lang) {\n languageWithoutRegionCode = lang;\n localStorage.setItem('lang', lang);\n}\n\nexport {getDesc};\nexport {setLang};\nexport {getLang};\n","import React, { Component } from 'react';\n\nimport { ControlLabel,\n Glyphicon, OverlayTrigger, Popover, } from 'react-bootstrap';\n\nimport { getDesc, } from '../utils/helpers';\nimport './ParameterLabel.css';\n\nclass ParameterLabel extends Component {\n\n render() {\n const { title, param, } = this.props;\n const desc = getDesc(param.desc);\n\n let content = title;\n if (desc) {\n content = (\n
\n
\n }>\n {title}\n \n \n
);\n }\n\n return (\n \n {content}\n );\n }\n}\n\nexport default ParameterLabel;\n","import React, { Component, } from 'react';\n\nimport { FormControl, FormGroup, } from 'react-bootstrap';\n\nimport ParameterLabel from './ParameterLabel';\n\nclass ArrayParameter extends Component {\n render() {\n let getValue = this.props.getValue;\n\n const { param, } = this.props;\n\n let inputs = [0, 1, 2].map((pIdx) =>\n \n \n \n );\n\n return (
{inputs}
);\n }\n}\n\nexport default ArrayParameter;\n","import React, { Component, } from 'react';\n\nimport { FormControl, FormGroup, HelpBlock, } from 'react-bootstrap';\n\nimport ParameterLabel from './ParameterLabel';\n\nclass ObjectParameter extends Component {\n constructor() {\n super();\n this.state = { error: null, };\n }\n\n onChange = (event) => {\n const target = event.target;\n const value = target.value;\n\n try {\n this.props.onChange(event);\n JSON.parse(value);\n if (this.state.error) {\n this.setState({ error: null, });\n }\n } catch(e) {\n this.setState({ error: e.toString(), });\n }\n };\n\n render() {\n let getValue = this.props.getValue;\n\n let { param, } = this.props;\n\n let error = null;\n if (this.state.error) {\n error =
\n {this.state.error}\n
;\n }\n\n return (\n \n \n \n {error && {error}}\n );\n }\n}\n\nexport default ObjectParameter;\n","import React, { Component, } from 'react';\nimport ArrayParameter from './ArrayParameter';\nimport ObjectParameter from './ObjectParameter';\n\nimport { FormControl, FormGroup, } from 'react-bootstrap';\n\nimport ParameterLabel from './ParameterLabel';\n\nclass Parameter extends Component {\n constructor() {\n super();\n this.state = { count : 1, };\n }\n\n render() {\n let paramValues = this.props.paramValues;\n function getValue(name) {\n if (paramValues[name] && paramValues[name] !== '') {\n return paramValues[name];\n }\n return '';\n }\n\n const { param, } = this.props;\n\n let input = null;\n console.log('Parameter ' + param.name + ' of type [' + param.type + ']');\n switch (param.type) {\n case 'Array':\n input = ;\n break;\n case 'Object':\n input = ;\n break;\n default:\n const def = param.default === '\"by_symbol_name\"' ? 'by_symbol_name' : param.default\n input = \n \n \n ;\n }\n\n return (
{input}
);\n }\n}\n\nexport default Parameter;\n","import React, { Component, } from 'react';\nimport Parameter from './Parameter';\n\nclass ApiMethodParameters extends Component {\n render() {\n let method = this.props.method;\n let urlParams = this.props.urlParams;\n\n if (method.params) {\n const methodParameterItems = method.paramNames.map((parameterName) =>\n \n );\n \n return (
\n {methodParameterItems}\n
);\n } else {\n return (
);\n }\n }\n}\n\nexport default ApiMethodParameters;\n","import React, { Component, } from 'react';\nimport JSONPretty from 'react-json-pretty';\nimport queryString from 'query-string';\nimport JSON5 from 'json5';\nimport { utils, } from 'golos-lib-js';\n\nimport { Button, Panel, Grid, Col, Row, Tabs, Tab, } from 'react-bootstrap';\n\nimport SteemApi from '../steemjs/api';\nimport ApiMethodParameters from '../elements/ApiMethodParameters';\nimport Header from '../elements/Header';\nimport { getDesc, setLang, } from '../utils/helpers';\nimport './ApiMethod.css';\n\nclass ApiMethod extends Component {\n constructor(params) {\n super(params);\n this.steemapi = new SteemApi();\n this.state = {\n result: null,\n error: false,\n executing: false,\n blockchain: SteemApi.Blockchain.LEX,\n ws: null,\n gotParams: false,\n examplesLang: localStorage.getItem('examples.lang') || 'JSON-RPC',\n examplesJSNoAsync: !!localStorage.getItem('examples.js.noAsync'),\n };\n\n this.applyParameters();\n }\n\n /* eslint-disable react/no-direct-mutation-state */\n applyParameters() {\n let urlParams = queryString.parse(this.props.location.search);\n this.state.gotParams = Object.keys(urlParams).length > 0;\n console.log('assign', urlParams);\n Object.assign(this.state, urlParams);\n if (!this.state.ws) {\n if (!Object.keys(SteemApi.Blockchain).includes(this.state.blockchain)) {\n this.state.blockchain = SteemApi.Blockchain.LEX;\n }\n const defaults = SteemApi.getDefaults(this.state.blockchain);\n Object.assign(this.state, defaults);\n }\n console.log('applyParameter', this.props.location.search);\n console.log('applyParameter', this.state);\n }\n /* eslint-enable react/no-direct-mutation-state */\n\n onSelectLang = (countryCode) => {\n countryCode = countryCode.toLowerCase();\n switch (countryCode) {\n case 'gb':\n countryCode = 'en';\n break;\n default:\n break;\n }\n setLang(countryCode);\n //console.log('countryCode = ', countryCode);\n this.setState({ lang: countryCode, });\n };\n\n getParameterValues(showErrors=false) {\n let apiName = this.props.match.params.api_name;\n let methodName = this.props.match.params.method_name;\n let method = this.steemapi.methods[apiName][methodName];\n let params = [];\n if (method.params) {\n for (let pname of method.paramNames) {\n if (method.params[pname].type === 'Array') {\n let value = [];\n for (let i = 0; i < 5; i++) {\n let pname_f = pname + '_' + i;\n if (this.state[pname_f]) {\n value.push(this.state[pname_f]);\n }\n }\n params.push(value);\n } else if (method.params[pname].type === 'Object') {\n let value = this.state[pname];\n try {\n if (value) {\n value = JSON.parse(value);\n params.push(value);\n } else {\n value = null;\n }\n } catch (e) {\n value = null;\n }\n } else {\n let value\n if (this.state[pname]) {\n value = this.state[pname]\n } else if (method.params[pname].default) {\n let def = method.params[pname].default\n def = def === '\"by_symbol_name\"' ? 'by_symbol_name' : def\n value = def\n } else {\n value = ''\n }\n if (method.params[pname].type === 'Boolean') {\n value = value === 'true'\n }\n params.push(value)\n }\n }\n }\n return params;\n }\n\n getApiCall() {\n let methodName = this.props.match.params.method_name;\n let apiName = this.props.match.params.api_name;\n let method = this.steemapi.methods[apiName][methodName];\n let params = this.getParameterValues();\n\n/*\n {id: 8, method: \"call\", jsonrpc: \"2.0\", params: [\"database_api\", \"get_accounts\", [[\"ropox\"]]]}\n id: 8\n jsonrpc: \"2.0\"\n method: \"call\"\n params: [\"database_api\", \"get_accounts\", [[\"ropox\"]]]\n*/\n\n return JSON.stringify({ id: 1, method: 'call', jsonrpc: '2.0', params: [\n method.api,\n method.name,\n params,\n ]});\n }\n\n getJSCall(withoutAsync = false) {\n let methodName = this.props.match.params.method_name;\n let params = this.getParameterValues();\n\n let apiName = this.props.match.params.api_name;\n let method = this.steemapi.methods[apiName][methodName];\n methodName = utils.camelCase(method.methodName || methodName);\n\n let jsParams = params.map(p => JSON5.stringify(p, null, 4));\n jsParams = jsParams.join(', ');\n jsParams = jsParams.split('\\n').join('\\n ');\n\n const logging = 'console.log(err, res);\\n';\n const loggingAsync = ' console.log(res);\\n';\n\n let code = 'golos.api.' + methodName;\n if (!withoutAsync) code = 'let res;\\ntry {\\n res = await ' + code + 'Async';\n code += '(' + jsParams;\n if (withoutAsync) {\n code += ', (err, res) => {\\n';\n code += ' ' + logging;\n code += '}';\n }\n code += ');\\n';\n if (!withoutAsync) {\n code += loggingAsync;\n code += '} catch (err) {\\n';\n code += ' console.error(\\'err\\', err);\\n';\n code += '}';\n }\n return code;\n }\n\n onExecute = (event) => {\n if (event) {\n //event.preventDefault();\n }\n console.log('set ws to', this.state.ws);\n SteemApi.setBlockchain(this.state.ws);\n\n let methodName = this.props.match.params.method_name;\n let apiName = this.props.match.params.api_name;\n let method = this.steemapi.methods[apiName][methodName];\n let params = this.getParameterValues();\n\n console.log('execute api method', method, params)\n method.execute.apply(method, params).then(\n result => {\n if (!result) {\n result = { steemjsgui: 'empty result from blockchain', };\n }\n this.setState({ result: result, error: false, executing: false, });\n },\n error => {\n this.setState({ result: error, error: true, executing: false, });\n });\n\n this.setState({ result: null, error: false, executing: true, });\n };\n\n onChange = (event) => {\n const target = event.target;\n const value = target.value;\n const name = target.name;\n console.log('onChange', event)\n this.setState({\n [name]: value,\n });\n };\n\n onBlockchainChange = (values) => {\n console.log('onBlockchainChange', values);\n this.setState(values);\n };\n\n componentDidMount() {\n window.scrollTo(0, 0);\n }\n\n onExampleTabChange = (key) => {\n this.setState({\n examplesLang: key,\n });\n localStorage.setItem('examples.lang', key);\n };\n\n onJSAsyncToggle = (e) => {\n if (this.state.examplesJSNoAsync) {\n localStorage.removeItem('examples.js.noAsync');\n this.setState({ examplesJSNoAsync: '', });\n } else {\n localStorage.setItem('examples.js.noAsync', '1');\n this.setState({ examplesJSNoAsync: '1', });\n }\n };\n\n render() {\n let methodName = this.props.match.params.method_name;\n let apiName = this.props.match.params.api_name;\n let method = this.steemapi.methods[apiName][methodName];\n\n const { examplesLang, examplesJSNoAsync, } = this.state;\n\n document.title = 'Steem-JS API - ' + methodName;\n\n let result = '';\n if (this.state.result) {\n result = ;\n } else if (this.state.executing) {\n result = ;\n }\n\n if (!this.state.result && !this.state.executing && (!method.params || this.state.gotParams)) {\n this.onExecute();\n }\n\n return (\n
\n \n \n
\n\n \n \n \n \n \n {methodName}\n \n \n \n
\n
\n
\n
\n \n
\n\n \n \n \n \n Parameters\n \n \n \n \n \n \n \n \n \n\n \n \n API запрос\n \n \n \n \n
\n                            {this.getApiCall()}\n                        
\n
\n \n \n \n
\n                            {this.getJSCall(!!examplesJSNoAsync)}\n                        
\n
\n
\n
\n
\n\n \n \n Result\n \n \n {result}\n \n \n );\n }\n}\n\nexport default ApiMethod;\n","import React from 'react'\nimport { Grid, Row, Col, Panel, FormControl, ControlLabel, } from 'react-bootstrap'\n\nimport Header from '../../elements/Header'\n\nimport { auth } from 'golos-lib-js'\nimport { key_utils } from 'golos-lib-js/lib/auth/ecc'\n\nclass Keys extends React.Component {\n constructor() {\n super()\n this.state = {\n priv: key_utils.get_random_key().toWif(),\n pub: '',\n error: ''\n }\n }\n\n onPrivateChange = (e) => {\n const priv = e.target.value\n let pub = this.state.pub\n let error = ''\n try {\n pub = auth.wifToPublic(priv)\n } catch (err) {\n console.error(err)\n error = 'Неверный приватный ключ. Ошибку см. в логах'\n }\n this.setState({\n priv,\n pub,\n error\n })\n }\n\n onPublicChange = (e) => {\n const pub = e.target.value\n let pub0\n let error = ''\n try {\n pub0 = auth.wifToPublic(this.state.priv)\n } catch (err) {\n console.error(err)\n error = 'Неверный приватный ключ. Ошибку см. в логах'\n }\n if (pub0 && pub0 !== pub) {\n error = 'Ключи не соответствуют'\n }\n this.setState({\n pub,\n error\n })\n }\n\n render() {\n document.title = 'Golos-JS Utils'\n return (\n \n \n
\n \n \n \n \n \n \n \n Ключи и пароли\n \n \n \n
    \n
  • Генерирует ключи - просто обновите страницу.
  • \n
  • Вставьте приватный ключ, чтобы увидеть соответствующий ему публичный.
  • \n
  • Вставьте приватный и публичный ключ, чтобы проверить их взаимное соответствие.
  • \n
\n \n Приватный ключ:\n \n \n \n Публичный ключ:\n \n \n
\n {this.state.error}\n
\n
\n
\n \n
\n )\n }\n}\n\nexport default Keys\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Route, BrowserRouter, Switch, } from 'react-router-dom'\nimport createBrowserHistory from 'history/createBrowserHistory'\nimport golos from 'golos-lib-js';\nimport 'bootstrap/dist/css/bootstrap.css';\n\nimport Api from './pages/Api';\nimport Method from './pages/ApiMethod';\nimport Keys from './pages/utils/Keys'\nimport { unregister as unregisterServiceWorker } from './registerServiceWorker';\nimport './index.css';\nimport api from './steemjs/api/index';\n\nconsole.log('init websocket');\ngolos.config.set('websocket', api.getDefaults().ws);\ngolos.api.start();\n\nconst history = createBrowserHistory();\n\nReactDOM.render(\n \n \n } />\n }/>\n }/>\n } />\n \n ,\n document.getElementById('root')\n);\n\nunregisterServiceWorker();\n","// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nexport default function register() {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log('New content is available; please refresh.');\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n });\n }\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n"],"sourceRoot":""}