-
-
Notifications
You must be signed in to change notification settings - Fork 11
API Specification
To collect information from ADAMANT blockchain you need to use get.js
module.
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 or array |
---|---|---|
account |
/api/accounts?address= |
array |
full_account |
https://explorer.adamant.im/api/getAccount?address= |
array |
account_delegates |
/api/accounts/delegates?address= |
delegates |
block |
/api/blocks/get?id= |
array |
blocks |
/api/blocks |
blocks |
state |
/api/states/get?id= |
array |
delegate |
/api/delegates/get?username= |
delegate |
delegate_voters |
/api/delegates/voters?publicKey= |
accounts |
delegate_forged |
/api/delegates/forging/getForgedByAccount?generatorPublicKey= |
array |
transaction |
/api/transactions/get?id= |
array |
transactions |
/api/transactions? |
array |
uri |
/api/ |
- |
- Response:
false
- Log info:
ADM api Not implemented yet
const txChat = (await api.get(`uri`, `chats/get/?recipientId=` + Store.user.ADM.address + `&orderBy=timestamp:desc&fromHeight=` + (Store.lastHeight - 5))).transactions;
const txTrx = (await api.get(`transactions`, `fromHeight=` + (Store.lastHeight - 5) + `&and:recipientId=` + Store.user.ADM.address + `&and:type=0`)).transactions;
const lastBlock = (await api.get(`uri`, `blocks`)).blocks[0];
To get information from ADAMANT blockchain without maintaining the connection you need to use syncGet.js
module.
api.syncGet(uri, isUrl, isNoJson)
:
-
uri
— -
isUrl
— -
isNoJson
—
const data = await api.syncGet(config.infoservice + `/get`, true);
const resp = await api.syncGet(`/api/states/get?senderId=${admAddress}&key=${coin.toLowerCase()}:address`);
To send information to ADAMANT blockchain you need to use send.js
module.
api.send(passPhrase, address, payload, type = 'tokens', isEncode, amount_comment)
:
-
passPhrase
— -
address
— -
payload
— -
type = 'tokens'
— -
isEncode
— -
amount_comment
—
- Response:
false
- Log info:
' Send ' + type + ': ' + e
-
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; } } },
To decode information from ADAMANT blockchain transaction you can to use decodeMsg.js
module.
api.decodeMsg(msg, senderPublicKey, passPhrase, nonce)
:
-
msg
— -
senderPublicKey
— -
passPhrase
— -
nonce
—
const chat = tx.asset.chat; if (chat){ msg = api.decodeMsg(chat.message, tx.senderPublicKey, config.passPhrase, chat.own_message).trim(); }