Governance of BSC
There are many system parameters to control the behavior of the BSC:
-
All these parameters of BSC system contracts should be flexible: slashing threshold, cross-chain transfer fees, relayer reward amount and so on.
-
params of Staking/Slash/Oracle/IBC modules on BC
All these parameters will be determined by BSC Validator Set together through a proposal-vote process based on their staking. Such process will be carried on BC, and the new parameter values will be picked up by corresponding system contracts via cross-chain communication when needed.
Fee Table
Transaction Type |
Fee |
Fee For |
Submit Smart Chain Proposal |
10 BNBs |
Proposer |
Smart Chain Proposal Deposit |
0.00125 BNB |
Proposer |
Smart Chain Proposal Vote |
1 BNB |
Proposer |
Relayer reward |
0.001 BNB |
system reward pool |
Global Parameters
min-deposit
: The threshold for submitting a proposal on mainnet is 1000BNB, and the threshold for submitting a proposal on testnet is 2000BNB
Commands
Query side chain proposals
parameter name |
example |
comments |
required |
--chan-id |
Binance-Chain-XXX |
the chain id of binance chain |
Yes |
--side-chain-id |
chapel |
the id of side chain, default is native chain |
Yes |
--status |
passed |
filter proposals by proposal status, status: deposit_period/voting_period/passed/rejected |
No |
--voter |
bnb1h9ymecpakr8p8lhchtah2xxx7x4xq099umclqu |
filter by proposals voted on by voted |
No |
## mainnet
./bnbcli gov query-proposals --side-chain-id bsc --trust-node --chain-id Binance-Chain-Tigris
## testnet
./tbnbcli gov query-proposals --side-chain-id chapel --trust-node --chain-id Binance-Chain-Ganges
Query side chain proposal
parameter name |
example |
comments |
required |
--chan-id |
Binance-Chain-XXX |
the chain id of binance chain |
Yes |
--side-chain-id |
chapel |
the id of side chain, default is native chain |
Yes |
--proposal-id |
1 |
proposalID of proposal being queried |
Yes |
## mainnet
./bnbcli gov query-proposal --proposal-id 1 --side-chain-id bsc --trust-node --chain-id Binance-Chain-Tigris
## testnet
./tbnbcli gov query-proposal --proposal-id 1 --side-chain-id chapel --trust-node --chain-id Binance-Chain-Ganges
Query side chain parameters
parameter name |
example |
comments |
required |
--side-chain-id |
chapel |
the id of side chain, default is native chain |
Yes |
## mainnet
./bnbcli params side-params --side-chain-id bsc --trust-node
## testnet
./tbnbcli params side-params --side-chain-id chapel --trust-node
Submit cross chain param change proposal.
parameter name |
example |
comments |
required |
--chan-id |
Binance-Chain-XXX |
the chain id of binance chain |
Yes |
--side-chain-id |
chapel |
the id of side chain, default is native chain |
Yes |
--deposit |
200000000000:BNB |
deposit of proposal |
Yes |
--from |
alice |
Name or address of private key with which to sign |
Yes |
--key |
felonyThreshold |
the parameter name on the side chain |
Yes |
--target |
0x0000000000000000000000000000000000001001 |
the address of the contract on side chain |
Yes |
--title |
"test csc change" |
title of proposal |
Yes |
--value |
0x000000000000000000000000000000000000000000000000000000000000001b |
the specified value of the parameter on side chain, should encoded in hex |
Yes |
--voting-period |
604800 |
voting period in seconds (default 604800) |
No |
## mainet
./bnbcli params submit-bscParam-change-proposal --key "felonyThreshold" --value "0x000000000000000000000000000000000000000000000000000000000000001b" --target 0x0000000000000000000000000000000000001001 --deposit 200000000000:BNB --voting-period 100 --side-chain-id bsc --title "test csc change" --from alice --trust-node --chain-id Binance-Chain-Tigris
## testnet
./tbnbcli params submit-bscParam-change-proposal --key "felonyThreshold" --value "0x000000000000000000000000000000000000000000000000000000000000001b" --target 0x0000000000000000000000000000000000001001 --deposit 200000000000:BNB --voting-period 100 --side-chain-id chapel --title "test csc change" --from alice --trust-node --chain-id Binance-Chain-Ganges
Submit cross chain channel management proposal.
parameter name |
example |
comments |
required |
--chan-id |
Binance-Chain-XXX |
the chain id of binance chain |
Yes |
--side-chain-id |
chapel |
the id of side chain, default is native chain |
Yes |
--deposit |
200000000000:BNB |
deposit of proposal |
Yes |
--from |
alice |
Name or address of private key with which to sign |
Yes |
--channel-id |
1 |
the the channel id that want to manage |
Yes |
--enable |
true |
enable the channel or not (default true) |
Yes |
--title |
"test csc change" |
title of proposal |
Yes |
--voting-period |
604800 |
voting period in seconds (default 604800) |
No |
## mainnet
./bnbcli side-chain submit-channel-manage-proposal --channel-id 2 --enable=true --deposit 200000000000:BNB --voting-period 100 --side-chain-id bsc --title "test csc change" --from alice --trust-node --chain-id Binance-Chain-Tigris
## testnet
./tbnbcli side-chain submit-channel-manage-proposal --channel-id 2 --enable=true --deposit 200000000000:BNB --voting-period 100 --side-chain-id chapel --title "test csc change" --from alice --trust-node --chain-id Binance-Chain-Ganges
Submit side chain module param change proposal.
parameter name |
example |
comments |
required |
--chan-id |
Binance-Chain-XXX |
the chain id of binance chain |
Yes |
--side-chain-id |
chapel |
the id of side chain, default is native chain |
Yes |
--deposit |
200000000000:BNB |
deposit of proposal |
Yes |
--from |
alice |
Name or address of private key with which to sign |
Yes |
--title |
"test csc change" |
title of proposal |
Yes |
--sc-param-file |
param.json |
the file of Side Chain params (json format) |
Yes |
--voting-period |
604800 |
voting period in seconds (default 604800) |
No |
## mainnet
./bnbcli params submit-sc-change-proposal --sc-param-file param.json --deposit 200000000000:BNB --voting-period 100 --side-chain-id bsc --title "test proposal" --from delegator1 --trust-node --chain-id Binance-Chain-Tigris
## testnet
./tbnbcli params submit-sc-change-proposal --sc-param-file param.json --deposit 200000000000:BNB --voting-period 100 --side-chain-id chapel --title "test proposal" --from delegator1 --trust-node --chain-id Binance-Chain-Ganges
Vote for side chain proposal
parameter name |
example |
comments |
required |
--chan-id |
Binance-Chain-XXX |
the chain id of binance chain |
Yes |
--side-chain-id |
chapel |
the id of side chain, default is native chain |
Yes |
--proposal-id |
1 |
proposalID of proposal being queried |
Yes |
--option |
Yes |
vote option {yes, no, no_with_veto, abstain} |
Yes |
## mainnet
./bnbcli gov vote --from alice --side-chain-id bsc --proposal-id 1 --option Yes --chain-id Binance-Chain-Tigris
## testnet
./tbnbcli gov vote --from alice --side-chain-id chapel --proposal-id 1 --option Yes --chain-id Binance-Chain-Ganges
Deposit for side chain proposal
parameter name |
example |
comments |
required |
--chan-id |
Binance-Chain-XXX |
the chain id of binance chain |
Yes |
--side-chain-id |
chapel |
the id of side chain, default is native chain |
Yes |
--proposal-id |
1 |
proposalID of proposal being queried |
Yes |
--deposit |
Yes |
amount of deposit |
Yes |
## mainnet
./bnbcli gov deposit --from alice --side-chain-id bsc --proposal-id 1 --deposit 1000000000:BNB --chain-id Binance-Chain-Tigris
## testnet
./tbnbcli gov deposit --from alice --side-chain-id chapel --proposal-id 1 --deposit 1000000000:BNB --chain-id Binance-Chain-Ganges