Slot Auction
Initiating a proposal on TRON to start a round of slot auction.
The proposal defines the auction's: round, slot number, auction deadline and slot expiration time. Parachains should firstly register themselves on TRON with their information. Any user on TRON can vote for these parachains before the deadline. The result of the auction will be published during the first maintenance period after the auction.
Initiate a proposal
An SR on TRON initiates a proposal to start a round of auction.
example
Assuming the proposal going to be initiated defines round 1st, 1 slot, deadline at 1619431600(April 26 2021) and slots will expires after 100 days, the proposal should be like:
curl -X POST http://47.94.0.13:7096/wallet/proposalcreate -d
'{
"owner_address" : "419844F7600E018FD0D710E2145351D607B3316CE9",
"parameters":[
{"key": 55,"value": 1011619431600100},
{"key": 56,"value": 100}
]
}'
params:
round: the ordinal number of the auction round, occupying two digits, incremented by 1 each time
slotCount: slot number, occupying two digits
endTime: auction deadline, Unix timestamp, occupying ten digits
duration: slot valid period, in days, occupying three digits
Note
The format of value is: round + slotCount + endTime + duration. The type is
long
.
return:
A transaction.
Parachain Registration
Registering a parachain on TRON with its information.
example
Assuming the proposal has been taken into effect, parachain A should make a registration on TRON. The interface is like below:
curl -X POST http://47.94.0.13:7096/wallet/registercrosschain -d
'{"owner_address": "41A1FA2B6729C898ADB9AE752F879F0AE405408E49",
"proxy_address": "41A1FA2B6729C898ADB9AE752F879F0AE405408E49",
"chain_id": "0000000000000000e5144509ff4d0f8100095d33112f407d9e6fbc68dc4f20b3",
"sr_list": ["41B363BFDC611FC2C8EDD416986244860E12D64365","416627FC729D90347D89204FF1723B4EE023671CB0","413025DF1BF6117D3DDF917038CE8592889B8B914F","4134A682045FA0DEF316A03AD822A22FC8D5ACFC02","41F54BE75D873621FF883E928E88CD7EA9476790FE","41239D49CD31608560022148DA1B89BE3034B7EE61"],
"begin_sync_height": 1,
"maintenance_time_interval": 300000,
"parent_block_hash": "0000000000000000e5144509ff4d0f8100095d33112f407d9e6fbc68dc4f20b3",
"block_time": 1619331294000,
"register_num": 1}'
params
owner_address: registered account address, in hexString format
proxy_address: proxy account address, in hexString format
chain_id: parachain ID, should be the block hash of the parachain initial block
sr_list SRs' addresses list
begin_sync_height: the block that TRON starts synchronising from. TRON will synchronise the block header from this block of the parachain for SPV verification.
maintenance_time_interval: maintenance interval
parent_block_hash: the parent block hash of begin_sync_height
block_time: the block time of begin_sync_height
register_num: register number, a self-defined positive integer, must be unique
return
A transaction.
Voting
From the beginning and the end of the auction, users can vote for parachains. During voting, the system will check the user's account balance. TRXs that have been voted will be kept locked (not consumed). These TRXs will be unlocked only after the votes are actively withdrawn.
In the following situations, users who have already voted can take the initiative to withdraw their votes:
-
While the auction is in progress
-
After the auction, the voted parachain failed
-
After the successful bidding of the parachain expires
The TRX that users voted for will remain locked before the successful bidding of the parachain expires.
example
Assuming that chain A has successfully registered the parachain on the TRON, users can vote for chain A.
In the following example, in the first round of auction, the user with the address "owner_address" votes 100 SUN for the parachain with "chain_id".
curl -X POST http://47.94.0.13:7096/wallet/votecrosschain -d '{ "register_num": 1, "owner_address":"41A1FA2B6729C898ADB9AE752F879F0AE405408E49", "amount": 100, "round": 1}'
params
register_num: register number
owner_address: voter address, hexString
amount: vote amount, unit is SUN, non-negative integer
round: the ordinal of the auction
return
A transaction.
Withdrawing Votes
Users are allowed to withdraw their votes on parachains, but not for parachains that are successfully auctioned and within the validity period.
example
Assuming that chain A has successfully registered the parachain on the TRON main chain, but the bidding has not been successful so that the user can withdraw the vote for chain A.
Note
After the auction is over, users need to actively withdraw votes for the unsuccessful bidding of parachains.
params
register_num: register number
owner_address: voter address, hexString
round: the ordinal of the auction
return
A transaction.
Querying Voting Details
Get a detailed list of voting details of the designated parachain.
example
curl -X POST http://47.94.0.13:7096/wallet/getcrosschainvotedetaillist -d '{"register_num": 1, "round":1, "offset":0, "limit":10}'
params
register_num: register number
offset: the starting index to query
limit: expected number of result to return, maximum is 100
round: the ordinal of the auction
return
A parachain voting detail list.
curl -X GET http://47.94.0.13:7096/wallet/getcrosschainvotesummarylist?offset=0&limit=10&round=1
Get the voting details of the designated parachain in the specified round.
curl -X POST http://47.94.0.13:7096/wallet/getcrosschainvotedetaillist -d
'{
"register_num": 1,
"round":1,
"offset":0,
"limit":10
}'
Get a voting summary list of a parachain
curl -X POST http://47.94.0.13:7096/wallet/getcrosschainvotesummarylist -d
'{
"offset": 0,
"limit": 10,
"round": 1
}'
Querying Auction Result
Query the bidding results of this round of card slot auctions.
example
Assuming that the TRON slot auction has ended, query the relevant information about the parachain of whether a parachain has been successfully auctioned on the TRON.
curl -X GET http://47.94.0.13:7096/wallet/getparachainlist?round=1
params
round: the ordinal of the auction
return
A parachain ID list.
Updated over 3 years ago