How to Deploy a TRC-20 Token on the TRON Blockchain

Posted By : Mudit

May 31, 2024

TRC-20 is a standard for creating and managing smart contracts and fungible tokens on the TRON blockchain. It is similar to Ethereum's ERC-20 standard but is designed specifically for the TRON network. TRC-20 ensures that all tokens created on TRON can work seamlessly with various decentralized applications (dApps) and other smart contracts and cryptocurrency development within the TRON ecosystem. 


Also, Check | Understanding Solana Token 2022 Program




Deploying a TRC-20 token on the TRON blockchain involves a series of well-defined steps to set up the development environment, write and compile the smart contract, and finally deploy it on the network. We began by installing Node.js and npm, essential tools for managing our project's dependencies. With these tools in place, we initialized a new Hardhat project, which provides a robust framework for developing, testing, and deploying smart contracts. Next, we installed several key dependencies: Hardhat for managing our project, TronWeb for interacting with the TRON blockchain, OpenZeppelin contracts for secure and standardized smart cTRC-20 Token on the TRON Blockchain contract templates, and dotenv for managing environment variables securely. With our environment ready, we wrote a TRC-20 token smart contract using Solidity, ensuring it adhered to the standards that make it compatible with the TRON ecosystem. This contract was then configured and compiled using Hardhat, making it ready for deployment. Before deploying, we set up a TronLink wallet and switched to the Shasta Testnet, where we obtained test TRX to cover the transaction fees. Finally, we created a deployment script using TronWeb, which allowed us to deploy our compiled smart contract onto the TRON network. By following these steps, we ensured a smooth and secure deployment process for our TRC-20 token. 


TRC-20 Token


This Solidity code defines a smart contract for a TRC-20 token on the TRON blockchain, following the ERC-20 standard. The contract is named TRC20Token and inherits from OpenZeppelin's ERC20 contract. The token's name, symbol, and initial supply are set in the constructor, which is executed when the contract is deployed. The \_ mint function is called to create the specified number of tokens and assign them to the deployer's address. This ensures that the deployer starts with the full initial supply of tokens. The contract uses OpenZeppelin's implementation to ensure security and standardization, making interacting with other contracts and services on the blockchain easier. 


 // SPDX-License-Identifier: MIT
 pragma solidity ^0.8.20; 
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
 contract TRC20Token is ERC20 { 
constructor( string memory name, string memory symbol, uint256 initialSupply ) ERC20(name, symbol)
 { _mint(msg.sender, initialSupply * (10 ** uint256(decimals()))); } } 




To deploy a TRC-20 token smart contract on the TRON blockchain using TronWeb, you first need to write and compile the smart contract. The contract is written in Solidity, and you can use Hardhat to compile it, which generates the ABI (Application Binary Interface) and bytecode required for deployment. After writing your contract, run npx hardhat compile to obtain the ABI and bytecode. These compiled artifacts are then used in a deployment script with TronWeb, where you specify the contract's parameters and deploy it to the TRON network. TronWeb interacts with the TRON blockchain, handling the deployment process and providing the address of the deployed contract. 


 const TronWeb = require('tronweb'); 
 const artifacts = require('../artifacts/contracts/TRC20Token.sol/TRC20Token.json'); 
 const fullNode = ''; 
 const solidityNode = '';
 const eventServer = ''; 
 const privateKey = process.env.PRIVATE_KEY; 
 const tronWeb = new TronWeb(fullNode, solidityNode, eventServer, privateKey); 
 const contractABI = artifacts.abi; 
 const contractBytecode = artifacts.bytecode; 
 async function deployContract() { 
 const contract = await tronWeb.contract().new({ 
 abi: contractABI, 
 bytecode: contractBytecode, 
 feeLimit: 1000000000, 
 callValue: 0, 
 userFeePercentage: 30, 
 originEnergyLimit: 10000000, 
 parameters: ['TRC20', 'TRC', 1000000], });
 console.log('Contract deployed at address:', contract.address); } 
 deployContract() .then(() => process.exit(0)) .catch((error) => { console.error(error); process.exit(1); })

 Check Out | How to Create and Deploy an ERC404 token contract




Deploying a TRC-20 token on the TRON blockchain is a straightforward process when you follow the right steps. You can efficiently create and deploy your token by setting up a robust development environment, writing a compliant smart contract, and using tools like Hardhat and TronWeb. This blog guide provides a clear pathway to leverage the TRON network's capabilities, ensuring your token integrates seamlessly with various applications and services within the ecosystem. Whether you're a developer or a business, the TRC-20 standard offers a powerful framework for token creation and management on TRON. Contact our blockchain developers today for expert services.

Leave a


Name is required

Invalid Name

Comment is required

Recaptcha is required.


July 16, 2024 at 01:52 pm

Your comment is awaiting moderation.

By using this site, you allow our use of cookies. For more information on the cookies we use and how to delete or block them, please read our cookie notice.

Chat with Us
Contact Us

Oodles | Blockchain Development Company

Name is required

Please enter a valid Name

Please enter a valid Phone Number

Please remove URL from text