Skip to content

API Specification

Royalynx edited this page Aug 18, 2019 · 31 revisions

Нужно описать

метод https://github.com/Adamant-im/adamant-api-jsclient/blob/master/groups/get.js

Get information

To collect information from ADAMANT blockchain you need to use get.js module.

Mode: synchronous

Module format

api.get(type, input):

  • type — consists of endpoint or full url
  • input — consists of filters and options (if available for endpont)

Type variants:

Type Url returned_field
account /api/accounts?address= -
full_account https://explorer.adamant.im/api/getAccount?address= -
account_delegates /api/accounts/delegates?address= delegates
block /api/blocks/get?id= -
blocks /api/blocks blocks
state /api/states/get?id= -
delegate /api/delegates/get?username= delegate
delegate_voters /api/delegates/voters?publicKey= accounts
delegate_forged /api/delegates/forging/getForgedByAccount?generatorPublicKey= -
transaction /api/transactions/get?id= -
transactions /api/transactions? -
uri /api/ -

Error response: false

Log info: ADM api Not implemented yet

Code examples:

  1. const txChat = (await api.get(`uri`, `chats/get/?recipientId=` + Store.user.ADM.address + `&orderBy=timestamp:desc&fromHeight=` + (Store.lastHeight - 5))).transactions;
  2. const txTrx = (await api.get(`transactions`, `fromHeight=` + (Store.lastHeight - 5) + `&and:recipientId=` + Store.user.ADM.address + `&and:type=0`)).transactions;
  3. const lastBlock = (await api.get(`uri`, `blocks`)).blocks[0];

метод https://github.com/Adamant-im/adamant-api-jsclient/blob/master/groups/syncGet.js выполняет асинхронно http-запрос

примеры

const data = await api.syncGet(config.infoservice + /get, true);

const resp = await api.syncGet(/api/states/get?senderId=${admAddress}&key=${coin.toLowerCase()}:address);

метод https://github.com/Adamant-im/adamant-api-jsclient/blob/master/groups/send.js

примеры

const result = await $u[outCurrency].send({ address: senderKvsOutAddress, value: outAmount, comment: Hey, you are lucky! Waiting for new bets! // if ADM }); log.info(Reward payment result: ${JSON.stringify(result, 0, 2)}.);


		const {
			address,
			value,
			comment
		} = params;
		console.log(`Send ${value} ADM to ${address} with comment:`, comment);
		let res;
		if (comment){
			res = api.send(User.passPhrase, address, comment, `message`, null, value);
		} else {
			res = api.send(User.passPhrase, address, value, null, comment);
		}
		console.log(`Send result:`, res);

		if (!res) {
			return {
				success: false
			};
		}
		return {
			success: res.success,
			hash: res.transactionId
		};

sendAdmMsg(address, msg, type = message) { if (msg && !config.isDev || true) { try { let msg_markdown = msg.replace(/[^*]*[^*]/g, **); return api.send(config.passPhrase, address, msg_markdown, type).success || false; } catch (e) { return false; } } },

метод https://github.com/Adamant-im/adamant-api-jsclient/blob/master/groups/decodeMsg.js

примеры

const chat = tx.asset.chat; if (chat){ msg = api.decodeMsg(chat.message, tx.senderPublicKey, config.passPhrase, chat.own_message).trim(); }

Clone this wiki locally