Skip to content

About Laravel Tron Module - laravel package for working with cryptocurrency Tron: create wallet, create addresses, get balances, send TRX, send TRC-20

Notifications You must be signed in to change notification settings

tooruu/laravel-tron-module

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pest Laravel Expectations

Latest Version on Packagist Php Version Php Version Total Downloads

Website Telegram


Laravel Tron Module is a Laravel package for work with cryptocurrency Tron, with the support TRC-20 tokens.It allows you to generate HD wallets using mnemonic phrase, validate addresses, get addresses balances and resources, preview and send TRX/TRC-20 tokens. You can automate the acceptance and withdrawal of cryptocurrency in your application.

You can contact me for help in integrating payment acceptance into your project.

Requirements

The following versions of PHP are supported by this version.

  • PHP 8.1 and older
  • Laravel 10 or older
  • PHP Extensions: Decimal, GMP, BCMath, CType.

Installation

You can install the package via composer:

composer require mollsoft/laravel-tron-module

After you can run installer using command:

php artisan tron:install

And run migrations:

php artisan migrate

Register Service Provider and Facade in app, edit config/app.php:

'providers' => ServiceProvider::defaultProviders()->merge([
    ...,
    \Mollsoft\LaravelTronModule\TronServiceProvider::class,
])->toArray(),

'aliases' => Facade::defaultAliases()->merge([
    ...,
    'Tron' => \Mollsoft\LaravelTronModule\Facades\Tron::class,
])->toArray(),

For Laravel 10 you edit file app/Console/Kernel in method schedule(Schedule $schedule) add:

$schedule->command('tron:sync')
    ->everyMinute()
    ->runInBackground();

or for Laravel 11+ add this content to routes/console.php:

use Illuminate\Support\Facades\Schedule;

Schedule::command('tron:sync')
    ->everyMinute()
    ->runInBackground();

How use?

  1. Firstly register an account on the TronGrid website and get an API key.
  2. Using the following code, create a node through which the library will work:
$apiKey = "..."; // API Key from TronGrid.io
Tron::createTronGridNode($apiKey, 'node_name');
  1. Now you can create Tron Wallet using code:
$mnemonic = Tron::mnemonicGenerate();
echo 'Mnemonic: '.implode(' ', $mnemonic);

$wallet = Tron::createWallet('wallet_name', $mnemonic);
  1. Create primary Tron Address in your Wallet using code:
$address = Tron::createAddress($wallet, 'primary_address_name');

echo 'Primary Address: '.$address->address;
  1. Now you can send TRX using this code:
$to = 'receiver tron address';
$amount = 1;

$transfer = Tron::transfer($address, $to, $amount);

echo 'TXID: '.$transfer->txid;

If you want work with TRC-20

For example: Tether USDT

  1. You must create TronTRC20 model using this code:
$contractAddress = 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t';

$trc20Token = TronTRC20::create($contractAddress);
  1. For transfer Tether USDT TRC-20 for another address you can use this code:
$to = 'receiver tron address';
$amount = 1;

$transferTRC20 = Tron::transferTRC20($address, $to, $amount);

echo 'TXID: '.$transferTRC20->txid;

Commands

Synchronizing everything

php artisan tron:sync

Node synchronization

php artisan tron:sync-node NODE_ID

Wallet synchronization

php artisan tron:sync-wallet WALLET_ID

Address synchronization

php artisan tron:sync-address ADDRESS_ID

Create Tron Node. Before you need register account in https://trongrid.io and generate API Key.

php artisan tron:new-node

Create Tron Wallet.

php artisan tron:new-wallet

Generate Tron Address.

php artisan tron:new-address

Import watch only address.

php artisan tron:import-address

Create TRC-20 Token

php artisan tron:new-trc20

About

About Laravel Tron Module - laravel package for working with cryptocurrency Tron: create wallet, create addresses, get balances, send TRX, send TRC-20

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%