We want to freeze the available balance on Tron Blockchain account: this involves first getting available balance using TronWeb NodeJs Library, and then build a transaction using the Transaction Builder, sign the Transaction, and finally broadcast it.
You can get a Free API Key on TronGrid. And you can install the tronweb library using npm.
See following NodeJs code that freeze available balance (aka Stake TRX) on the given Tron wallet – you can do this anytime. The voting round is 6 hours on TRON blockchain.
const TrxAccount = "Tron Account";
const AppKey = 'Tron-Grid-App-Key'
const privateKey = 'Private Key';
const TronWeb = require('tronweb');
const tronWeb = new TronWeb({
fullHost: 'https://api.trongrid.io',
headers: { "TRON-PRO-API-KEY": AppKey },
privateKey: privateKey,
});
function getBalance(acc) {
return new Promise((resolve, reject) => {
tronWeb.trx.getBalance(acc).then(result => {
resolve(result);
})
});
}
(async function() {
const sun = await(getBalance(TrxAccount));
const trx = tronWeb.fromSun(sun);
console.log("Balance of SUN = " + sun + " or " + trx + " TRX");
if (trx >= 1) {
const trans = await tronWeb.transactionBuilder.freezeBalance(sun, 3, "ENERGY", TrxAccount, TrxAccount, 1);
const signedtxn = await tronWeb.trx.sign(trans, privateKey);
const receipt = await tronWeb.trx.sendRawTransaction(signedtxn);
console.log(receipt);
console.log(trx + " TRX frozon!");
} else {
console.log("Not enough to Freeze!")
}
})();
The balance is in the unit of SUN – which you can convert to TRX using tronWeb.fromSun. And the amount needs to be at last 1 TRX to freeze.
Example output:
Balance of SUN = 12301995 or 12.301995 TRX
{ result: true,
txid:
'77c74b7e76XXXXXXXXXXXXe0f6829b74ed',
transaction:
{ visible: false,
txID:
'77c74b7e76cXXXXXXXXXXXXXXXXXXXXXXXXd0656e0f6829b74ed',
raw_data:
{ contract: [Array],
ref_block_bytes: '356b',
ref_block_hash: '5aad1c587783fe84',
expiration: 1623501405000,
timestamp: 1623501348040 },
raw_data_hex:
'0a0235XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2caadc4d984697cf6dd3d483dc9fcce310abedee051803500170c8b9e281a02f',
signature:
[ '5316c2f0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXbcb8f366184d135dda4c01' ] } }
12.301995 TRX frozon!
Stake TRX (Freeze), and then Upvote the SR (Super Representatives) aka the Witnesses/Miners on Tron Blockchain, and then claim the rewards once every 24 hours. And with the earned TRX, you can invest and stake again to earn more.
Tron Blockchain
- TRON Blockchain: How to Send the USDT (TRC-20) Transacton using Python tronpy?
- How to Get Balance of TRX or USDT/USDD/USDC (TRC-20) Smart Contract Tokens on TRON Blockchain?
- Function to Return the USDT/USDD/USDC Contract Address on Tron Blockchain (Main Net, Nile, Shasta)
- How to Send/Transfer USDT/USDD/USDC on Tron Blockchain using Tronweb?
- Javascript Function to Send Trx on Tron Blockchain based on TronWeb
- How to Generate an Account on Tron Blockchain using Python SDK?
- How to Claim the Witness (Super Representative) Voting Rewards on Tron Blockchain using Node Js (Javascript)?
- Automate Freeze Balance on Tron Blockchain using NodeJs with TronWeb/TronGrid
- Python Tool of Base58 Decode Check
- TRON Blockchain: How to Check the Number of Peers the Tron Node is Connected to?
- TRON Blockchain: How to Check If a Node is synchronized and Fully Functional?
- How to Activate a TRON (TRX) Blockchain Wallet Address?
- Delayed Swap due to Numeric Underflow Bug by using Tron’s triggerSmartContract Method
–EOF (The Ultimate Computing & Technology Blog) —
943 wordsLast Post: Teaching Kids Programming - Max Product of Two Numbers
Next Post: Teaching Kids Programming - Breadth First Search Algorithm to Find Bottom Left Tree Value
