@datafire/chaingateway
Client library for Chaingateway.io
Installation and Usage
npm install --save @datafire/chaingateway
let chaingateway = require('@datafire/chaingateway').create();
.then(data => {
console.log(data);
});
Description
Chaingateway.io
REST API to build the bridge between Ethereum and the real world
Please check out our website for detailed information about this API.
To use our API, you need an API Key (Described as Authorization header in the examples below). To get one, please create an account on our website.
For our internal documentation, please check out our Docs Site.
If you need help with integrating our API in your application, you can reach us via email or join our official Telegram group.
Actions
clearAddress
Sends all available ethereum funds of an address to a specified receiver address.
chaingateway.clearAddress({
"Authorization": "",
"body": {
"ethereumaddress": "",
"newaddress": "",
"password": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required clearAddressRequest
- Authorization required
Output
- output clearAddress
deleteAddress
Deletes an existing ethereum address. Be careful when using this function.
chaingateway.deleteAddress({
"Authorization": "",
"body": {
"ethereumaddress": "",
"password": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required deleteAddressRequest
- Authorization required
Output
- output deleteAddress
exportAddress
Returns all ethereum addresses created with an account.
chaingateway.exportAddress({
"Authorization": "",
"body": {
"ethaddress": "",
"password": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required exportAddressRequest
- Authorization required
Output
- output exportAddress
getBlock
Returns information of an ethereum block with or without transactions
chaingateway.getBlock({
"Authorization": "",
"body": {
"block": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required getBlockRequest
- Authorization required
Output
- output getBlock
getEthereumBalance
Returns the ethereum balance of a given address.
chaingateway.getEthereumBalance({
"Authorization": "",
"body": {
"ethereumaddress": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required getEthereumBalanceRequest
- Authorization required
Output
- output getEthereumBalance
getExchangeRate
Returns the current Ethereum price in Euro or US Dollar.
chaingateway.getExchangeRate({
"Authorization": "",
"body": {
"currency": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required getExchangeRateRequest
- Authorization required
Output
- output getExchangeRate
getGasPrice
Returns the current gas price in GWEI.
chaingateway.getGasPrice({
"Content-Type": "",
"Authorization": ""
}, context)
Input
- input
object
- Content-Type required
string
- Authorization required
string
: API Key
- Content-Type required
Output
- output getGasPrice
getLastBlockNumber
Returns the block number of the last mined ethereum block.
chaingateway.getLastBlockNumber({
"Content-Type": "",
"Authorization": ""
}, context)
Input
- input
object
- Content-Type required
string
- Authorization required
string
: API Key
- Content-Type required
Output
- output getLastBlockNumber
getToken
Returns information about a specific ERC20 token like name, symbol, decimal places and total supply.
chaingateway.getToken({
"Authorization": "",
"body": {
"contractaddress": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required getTokenRequest
- Authorization required
Output
- output getToken
getTokenBalance
Returns the token balance of a given address.
chaingateway.getTokenBalance({
"Authorization": "",
"body": {
"contractaddress": "",
"ethereumaddress": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required getTokenBalanceRequest
- Authorization required
Output
- output getTokenBalance
getTransactions
Returns information like confirmations, token contract address, amount, gas price and more of a given transaction.
chaingateway.getTransactions({
"Authorization": "",
"body": {
"txid": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required getTransactionsRequest
- Authorization required
Output
- output getTransactions
importAddress
Returns all ethereum addresses created with an account.
chaingateway.importAddress({
"Authorization": "",
"body": {
"filename": "",
"content": {
"version": 0,
"id": "",
"address": "",
"crypto": {
"ciphertext": "",
"cipherparams": {
"iv": ""
},
"cipher": "",
"kdf": "",
"kdfparams": {
"dklen": 0,
"salt": "",
"n": 0,
"r": 0,
"p": 0
},
"mac": ""
}
},
"password": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required importAddressRequest
- Authorization required
Output
- output importAddress
listAddresses
Returns all ethereum addresses created with an account.
chaingateway.listAddresses({
"Content-Type": "",
"Authorization": ""
}, context)
Input
- input
object
- Content-Type required
string
- Authorization required
string
: API Key
- Content-Type required
Output
- output listAddresses
listFailedIPNs
Returns all subscriptions/IPNs created with an account.
chaingateway.listFailedIPNs({
"Content-Type": "",
"Authorization": ""
}, context)
Input
- input
object
- Content-Type required
string
- Authorization required
string
: API Key
- Content-Type required
Output
- output listFailedIPNs
listSubscribedAddresses
Returns all subscriptions/IPNs created with an account.
chaingateway.listSubscribedAddresses({
"Content-Type": "",
"Authorization": ""
}, context)
Input
- input
object
- Content-Type required
string
- Authorization required
string
: API Key
- Content-Type required
Output
- output listSubscribedAddresses
newAddress
Generates a new ethereum addresses you can use to send or receive funds. Do not lose the password! We can't restore access to an address if you lose it.
chaingateway.newAddress({
"Authorization": "",
"body": {
"password": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required newAddressRequest
- Authorization required
Output
- output newAddress
resendFailedIPN
Returns all subscriptions/IPNs created with an account.
chaingateway.resendFailedIPN({
"Authorization": "",
"body": {
"id": 0
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required resendFailedIPNRequest
- Authorization required
Output
- output resendFailedIPN
sendEthereum
Sends ethereum from an address controlled by the account to a specified receiver address.
chaingateway.sendEthereum({
"Authorization": "",
"body": {
"from": "",
"to": "",
"password": "",
"amount": 0
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required sendEthereumRequest
- Authorization required
Output
- output sendEthereum
sendToken
Sends ERC20 tokens from an address controlled by the account to a specified receiver address. The token contract address is needed to specify the token. The use of the identifier parameter is recommend and awaits an unique string. Whenever a transaction is beeing sent, the identifier is checked and the transaction gets dropped if there is one with that identifier already.
chaingateway.sendToken({
"Authorization": "",
"body": {
"contractaddress": "",
"from": "",
"to": "",
"password": "",
"amount": 0,
"identifier": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required sendTokenRequest
- Authorization required
Output
- output sendToken
subscribeAddress
Creates a new subscription/IPN for the given address (and contractaddress). You will receive a notification to the given url every time a deposit is received. Unsubscribe the address before sending tokens/ETH from it or you won't get reliable notifications anymore.
chaingateway.subscribeAddress({
"Authorization": "",
"body": {
"ethereumaddress": "",
"contractaddress": "",
"url": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required subscribeAddressRequest
- Authorization required
Output
- output subscribeAddress
unsubscribeAddress
Deletes an existing subscription/IPN for the given address (and contractaddress).
chaingateway.unsubscribeAddress({
"Authorization": "",
"body": {
"ethereumaddress": "",
"contractaddress": "",
"url": ""
}
}, context)
Input
- input
object
- Authorization required
string
: API Key - body required unsubscribeAddressRequest
- Authorization required
Output
- output unsubscribeAddress
Definitions
Address
- Address
object
- ethereumaddress required
string
- ethereumaddress required
Cipherparams
- Cipherparams
object
- iv required
string
- iv required
Content
- Content
object
- address required
string
- crypto required Crypto
- id required
string
- version required
integer
- address required
Crypto
- Crypto
object
- cipher required
string
- cipherparams required Cipherparams
- ciphertext required
string
- kdf required
string
- kdfparams required Kdfparams
- mac required
string
- cipher required
FailedIpn
- FailedIpn
object
- action required
string
- amount required
string
- contractaddress required
string
- ethereumaddress required
string
- id required
string
- timestamp required
string
- url required
string
- action required
Ipn
- Ipn
object
- contractaddress required
string
- ethereumaddress required
string
- url required
string
- contractaddress required
Kdfparams
- Kdfparams
object
- dklen required
integer
- n required
integer
- p required
integer
- r required
integer
- salt required
string
- dklen required
Transaction
- Transaction
object
- amount required
string
- block_number required
string
- contract_address required
string
- from required
string
- gas required
string
- gas_price required
string
- to required
string
- token_decimals required
string
- token_name required
string
- token_supply required
string
- token_symbol required
string
- txid required
string
- type required
string
- amount required
clearAddress
- clearAddress
object
- amount required
number
- ethereumaddress required
string
- gas required
number
- newaddress required
string
- ok required
boolean
- total required
string
- txid required
string
- amount required
clearAddressRequest
- clearAddressRequest
object
- ethereumaddress required
string
- newaddress required
string
- password required
string
- ethereumaddress required
deleteAddress
- deleteAddress
object
- deleted required
boolean
- ethereumaddress required
string
- ok required
boolean
- deleted required
deleteAddressRequest
- deleteAddressRequest
object
- ethereumaddress required
string
- password required
string
- ethereumaddress required
exportAddress
- exportAddress
object
- content required
string
- filename required
string
- ok required
boolean
- content required
exportAddressRequest
- exportAddressRequest
object
- ethaddress required
string
- password required
string
- ethaddress required
getBlock
- getBlock
object
- block_number required
string
- difficulty required
string
- gas_limit required
string
- gas_used required
string
- hash required
string
- miner required
string
- ok required
boolean
- parent_hash required
string
- size_in_bytes required
string
- time_stamp required
string
- transactions_count required
string
- block_number required
getBlockRequest
- getBlockRequest
object
- block required
string
- block required
getEthereumBalance
- getEthereumBalance
object
- balance required
number
- ethereumaddress required
string
- ok required
boolean
- balance required
getEthereumBalanceRequest
- getEthereumBalanceRequest
object
- ethereumaddress required
string
- ethereumaddress required
getExchangeRate
- getExchangeRate
object
- currency required
string
- ok required
boolean
- rate required
number
- currency required
getExchangeRateRequest
- getExchangeRateRequest
object
- currency required
string
- currency required
getGasPrice
- getGasPrice
object
- gasprice required
integer
- ok required
boolean
- gasprice required
getLastBlockNumber
- getLastBlockNumber
object
- blocknumber required
integer
- ok required
boolean
- blocknumber required
getToken
- getToken
object
- contractaddress required
string
- decimals required
integer
- name required
string
- ok required
boolean
- supply required
integer
- symbol required
string
- contractaddress required
getTokenBalance
- getTokenBalance
object
- balance required
integer
- contractaddress required
string
- ethereumaddress required
string
- ok required
boolean
- balance required
getTokenBalanceRequest
- getTokenBalanceRequest
object
- contractaddress required
string
- ethereumaddress required
string
- contractaddress required
getTokenRequest
- getTokenRequest
object
- contractaddress required
string
- contractaddress required
getTransactions
- getTransactions
object
- ok required
boolean
- transactions required
array
- items Transaction
- ok required
getTransactionsRequest
- getTransactionsRequest
object
- txid required
string
- txid required
importAddress
- importAddress
object
- ethaddress required
string
- filename required
string
- ok required
boolean
- ethaddress required
importAddressRequest
- importAddressRequest
object
- content required Content
- filename required
string
- password required
string
listAddresses
- listAddresses
object
- addresses required
array
- items Address
- ok required
boolean
- addresses required
listFailedIPNs
- listFailedIPNs
object
- failed_ipns required
array
- items FailedIpn
- ok required
boolean
- failed_ipns required
listSubscribedAddresses
- listSubscribedAddresses
object
- ipns required
array
- items Ipn
- ok required
boolean
- ipns required
newAddress
- newAddress
object
- ethereumaddress required
string
- ok required
boolean
- password required
string
- ethereumaddress required
newAddressRequest
- newAddressRequest
object
- password required
string
- password required
resendFailedIPN
- resendFailedIPN
object
- id required
integer
- ok required
boolean
- id required
resendFailedIPNRequest
- resendFailedIPNRequest
object
- id required
integer
- id required
sendEthereum
- sendEthereum
object
- amount required
string
- from required
string
- ok required
boolean
- to required
string
- txid required
string
- amount required
sendEthereumRequest
- sendEthereumRequest
object
- amount required
number
- from required
string
- password required
string
- to required
string
- amount required
sendToken
- sendToken
object
- amount required
integer
- contractaddress required
string
- from required
string
- identifier required
string
- ok required
boolean
- to required
string
- txid required
string
- amount required
sendTokenRequest
- sendTokenRequest
object
- amount required
integer
- contractaddress required
string
- from required
string
- identifier required
string
- password required
string
- to required
string
- amount required
subscribeAddress
- subscribeAddress
object
- contractaddress required
string
- ethereumaddress required
string
- ok required
boolean
- url required
string
- contractaddress required
subscribeAddressRequest
- subscribeAddressRequest
object
- contractaddress required
string
- ethereumaddress required
string
- url required
string
- contractaddress required
unsubscribeAddress
- unsubscribeAddress
object
- contractaddress required
string
- deleted required
boolean
- ethereumaddress required
string
- ok required
boolean
- url required
string
- contractaddress required
unsubscribeAddressRequest
- unsubscribeAddressRequest
object
- contractaddress required
string
- ethereumaddress required
string
- url required
string
- contractaddress required