Super Representative

How to Become a Super Representative

Block producers in the TRON network, also called super representatives, are elected by voting. Any account can apply to become a super representative candidate by paying 9999 TRX and then participate in the super representative election. Any account can vote for super representative candidates, and the top 27 candidates with the most votes become super representatives, and they have the right to produce blocks. Super representative needs to run a TRON node to participate in block production, and will also receive block rewards and voting rewards. Voters who vote to super representatives will receive voting rewards.

The super representative candidates ranked 28th to 127th are also called super representative partners. Super representative partners do not participate in block production and packaging transactions, but will receive voting rewards. Voters who vote to super representative partners will also receive voting rewards.

The votes will be counted every 6 hours, so super representatives and super representative partners will be changed every 6 hours.

Super Representative Election

To vote, you need to have TRON Power(TP). To get TRON Power, you need to stake TRX. Every 1 staked TRX accounts for one TRON Power(TP). Every account in TRON network has the right to vote for a super representative candidate. After you unstake your staked TRX, you will lose the responding TRON Power(TP), so your previous vote will be invalid.

Note: Only your latest vote will be counted in TRON network which means your previous vote will be over written by your latest vote.

Example (Using wallet-cli):

> freezebalancev2 10,000,000 3 // Stake 10 TRX to get 10 TRON Power(TP)
> votewitness witness1 4 witness2 6 // Vote 4 votes for witness1, 6 votes for witness2
> votewitness witness1 3 witness2 7 // Vote 3 votes for witness1, 7 votes for witness2

The final output above is: Vote 3 votes for witness1, 7 votes for witness2

Witnesses Brokerage

The default ratio is 20%, which can be modified by the witnesses.

If a witness get 20% of the reward, and the other 80% will be awarded to the voters. If the brokerage ratio is set to 100%, the rewards are all obtained by the witness; if set to 0, the rewards are all sent to the voters.

Reward for Witnesses

Votes Reward

Vote rewards are 160 TRX every block, with a block generated every 3 seconds, the total vote rewards per day is 4,608,000 TRX.

For each SR and Partner, the daily Vote Rewards = 4,608,000 * ( votes / total votes) x 20% TRX

Block Producing Reward

Every time after a super representative produces a block, it will be reward 16 TRX. The 27 super representatives take turns to produce blocks every 3 seconds. The annual block producing reward is 168,192,000 TRX in total.

Every time after a super representative produces a block, the 16 TRX block producing reward will be sent to it's sub-account. The sub-account is a read-only account, it allows a withdraw action from sub-account to super representative account every 24 hours.

16 (\mathsf{TRX}/block) \times 28,800 (blocks/day) = 460,800 (\mathsf{TRX}/day)

For each super representative, the daily block Rewards_{sr} = (460,800 / 27) \times 20 \% \mathsf{TRX}.

Reward may be less than the theoretical number due to missed blocks and maintenance period.

Reward for Voters

If you vote for a Super Representative:

the daily Voter Rewards = (((the number of votes you vote to a witness) * 4,608,000 / total votes) * 80%) + ((460,800 / 27) * 80%) * (the number of votes you vote to a witness) / (the total number of votes a witness receives) TRX

If you vote for a Partner:

the daily Voter Rewards = (((the number of votes you vote to a witness) * 4,608,000 / total votes) * 80%) TRX

Committee

1. What is Committee

Committee can modify the TRON network parameters, like transacton fees, block producing reward amount, etc. Committee is composed of the current 27 super representatives. Every super representative has the right to start a proposal. The proposal will be passed after it gets more than 18 approves from the super representatives and will become valid in the next maintenance period.

2. Create a Proposal

Only SRs, Partners and Candidates can create a proposal.

The network parameters can be modified([min,max]).

{0,1}: 1 means 'allowed' or 'actived', 0 means 'disallow', 'disable' or 'no'.

# Command Value
0 MaintenanceTimeInterval
(To modify the maintenance interval of SR)
6 Hours
[3 * 27, 24 * 3600] s
1 AccountUpgradeCost
(To modify the cost of applying for SR account)
9999 TRX
[0, 100000000000] TRX
2 CreateAccountFee
(To modify the account creation fee)
0.1 TRX
[0, 100000000000] TRX
3 TransactionFee
(To modify the amount of TRX used to gain extra bandwidth)
1000 Sun/Byte
[0, 100000000000] TRX
4 AssetIssueFee
(To modify asset issuance fee)
1024 TRX
[0, 100000000000] TRX
5 WitnessPayPerBlock
(To modify SR block generation reward)
16 TRX
[0, 100000000000] TRX
6 WitnessStandbyAllowance
(To modify the rewards given to the top 27 SRs and
the following 100 partners)
115200 TRX
[0, 100000000000] TRX
7 CreateNewAccountFeeInSystemContract
(To modify the cost of account creation)
1 TRX
8 CreateNewAccountBandwidthRate
(To modify the consumption of bandwidth of account creation)
1 Bandwidth/Byte
9 AllowCreationOfContracts
(To activate the Virtual Machine (VM))
1
{0, 1}
10 RemoveThePowerOfTheGr
(To remove the GR Genesis votes)
1
{0, 1}
11 EnergyFee
(To modify the fee of 1 energy)
140 Sun
[0, 100000000000] TRX
12 ExchangeCreateFee
(To modify the cost of trading pair creation)
1024 TRX
[0, 100000000000] TRX
13 MaxCpuTimeOfOneTx
(To modify the maximum execution time of one transaction)
50 ms
[0, 1000] ms
14 AllowUpdateAccountName
(To allow to change the account name)
0
{0, 1}
15 AllowSameTokenName
(To allow the same token name)
1
{0, 1}
16 AllowDelegateResource
(To allow resource delegation)
1
{0, 1}
18 AllowTvmTransferTrc10
(To allow the TRC-10 token transfer in smart contracts)
1
{0, 1}
19 TotalEnergyCurrentLimit
(To modify current total energy limit)
50000000000
20 AllowMultiSign
(To allow the initiation of multi-signature)
1
{0, 1}
21 AllowAdaptiveEnergy
(To allow adaptive adjustment for total Energy)
0
{0, 1}
22 UpdateAccountPermissionFee
(To modify the fee for updating account permission)
100 TRX
23 MultiSignFee
(To modify the fee for multi-signature)
1 TRX
24 AllowProtoFilterNum
(To enable protocol optimization)
0
{0, 1}
26 AllowTvmConstantinople
(To support the new commands of Constantinople)
1
{0, 1}
27 AllowShieldedTransaction
(To enable shielded transaction)
0
{0, 1}
28 ShieldedTransactionFee
(To modify shielded transaction fee)
10 TRX
[0, 10000] TRX
29 AdaptiveResourceLimitMultiplier
(To modify the adaptive energy limit multiplier)
1000
[1, 10000]
30 ChangeDelegation
(Propose to support the decentralized vote dividend)
1
{0, 1}
31 Witness127PayPerBlock
(Propose to modify the block voting rewards given to
the top 27 SRs and the following 100 partners)
160 TRX
[0, 100000000000] TRX
32 AllowTvmSolidity059
(To allow TVM to support solidity compiler 0.5.9)
0
{0, 1}
33 AdaptiveResourceLimitTargetRatio
(To modify the target energy limit)
10
[1, 1000]

Example (Using wallet-cli):

> createproposal id value
# id: the serial number (0 ~ 33)
# value: the parameter value

Note: In TRON network, 1 TRX = 1_000_000 SUN

3. Vote for a Proposal

Proposal only support YES vote. Since the creation time of the proposal, the proposal is valid within 3 days. If the proposal does not receive enough YES votes within the period of validity, the proposal will be invalid beyond the period of validity. Yes vote can be cancelled.

Example (Using wallet-cli):

> approveProposal id is_or_not_add_approval
# id: proposal id
# is_or_not_add_approval: YES vote or cancel YES vote

4. Cancel Proposal

Proposal creator can cancel the proposal before it is passed.

Example (Using wallet-cli):

> deleteProposal id
# id: proposal id

5. Query Proposal

  • Query all the proposals list (ListProposals)
  • Query all the proposals list by pagination (GetPaginatedProposalList)
  • Query a proposal by proposal id (GetProposalById)

For more API detail, please refer to HTTP API.