// TronWeb library to interact with TRON blockchain
const tronweb = window.tronWeb;
const order = {
"receiver": tronweb.defaultAddress.base58, // address to receiver energy
"resource_type": "energy",
"amount": 1000000, // amount of resource to purchase
"duration": "3d", // allowed values are 1h, 6h, 1d, 3d to 30d
"price": 65 // unit price in SUN - Check the latest minimum price on tronpule.io
}
// API endpoint
const url = 'https://tronpulse.io/api/exchange';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
"Api-Key": "your-api-key"
}
};
// Request API to compute order price
options.body = JSON.stringify({"order": order});
fetch(url + "/get_quote", options)
.then(async response => {
if (response.ok) {
const quote = await response.json();
// Build and sign payment transaction
const tx = await tronweb.transactionBuilder.sendTrx(quote.data.payment_address, quote.data.order_total_price);
const signed_tx = await tronweb.trx.sign(tx, private_key);
// Request API to create order
options.body = JSON.stringify({"order": order, "signed_tx": signed_tx});
fetch(url + "/create_order", options)
.then(async response => {
if (response.ok) {
// order successfuly created
const data = await response.json()
console.log(data)
}
else {
// request failed, display error
const data = await response.json()
console.log(data)
}
})
}
})