CLI Commands for SONs
CLI commands that sons use.
1. SONs CLI Command Reference
1.1. create_son
Creates a SON object owned by the given account. An account can have at most one SON object.
Parameters
name
data type
description
details
owner_account
string
The name or id of the account which is creating the SON.
no quotes required.
url
string
a URL to include in the SON record in the blockchain. Clients may display this when showing a list of SONs.
May be blank.
deposit_id
vesting_balance_id_type
vesting balance id for SON deposit.
This is the son
vesting balance.
pay_vb_id
vesting_balance_id_type
vesting balance id for SON pay_vb
This is the normal
vesting balance.
sidechain_public_keys
flat_map
The new set of sidechain public keys.
n/a
broadcast
bool
true
to broadcast the transaction on the network.
n/a
Example Call
1.2. update_son
Update a SON object owned by the given account.
Parameters
name
data type
description
details
owner_account
string
The name of the SON's owner account. Also accepts the ID of the owner account or the ID of the SON.
no quotes required.
url
string
Same as for create_son. The empty string makes it remain the same.
n/a
block_signing_key
string
A new signing key to replace the currently set signing key.
n/a
sidechain_public_keys
flat_map
The new set of sidechain public keys. An empty string makes it remain the same.
n/a
broadcast
bool
true
to broadcast the transaction on the network.
n/a
Example Call
1.3. update_son_vesting_balances
Updates the vesting balances associated with a given SON.
Parameters
name
data type
description
details
owner_account
string
The name or id of the SON account owner, or the id of the SON.
No quotes required.
new_deposit
vesting_balance_id_type
A vesting balance id that will replace the currently set son
vesting balance.
Optional
new_pay_vb
vesting_balance_id_type
A vesting balance id that will replace the currently set normal
vesting balance.
Optional
broadcast
bool
true
to broadcast the transaction on the network.
n/a
Example Call
1.4. get_son
Returns information about the given SON.
Parameters
name
data type
description
details
owner_account
string
The name or id of the SON account owner, or the id of the SON.
No quotes required.
Example Call
1.5. vote_for_son
Vote for a given SON. An account can publish a list of all SONs they approve of. This command allows you to add or remove SONs from this list. Each account's vote is weighted according to the number of PPY owned by that account at the time the votes are tallied. Note that you can't vote against a SON, you can only vote for the SON or not vote for the SON.
Parameters
name
data type
description
details
voting_account
string
The name or id of the account who is voting with their PPY.
No quotes required.
son
string
The name or id of the SON's owner account.
No quotes required.
approve
bool
true
if you wish to vote in favor of that SON, false
to remove your vote in favor of that SON.
n/a
broadcast
bool
true
to broadcast the transaction on the network.
n/a
Example Call
1.6. update_son_votes
Change all your votes for SONs in one transaction. This can add and remove votes, and set the number of SONs you think should be active too.
You cannot vote against a SON, you can only vote for the SON or not vote for the SON.
Parameters
name
data type
description
details
voting_account
string
The name or id of the account who is voting with their PPY.
No quotes required.
sons_to_approve
std::vector<std::string>
An array of SON names or ids that you had not previously voted for which you wish to add your vote.
This can be empty.
sons_to_reject
std::vector<std::string>
An array of SON names or ids that you had previously voted for which you wish to remove your vote.
This can be empty.
desired_number_of_sons
uint16_t
The number of SONs that you think the network should have. You must vote for at least this many SONs. You can set this to 0 (zero) to abstain from voting on the number of SONs.
n/a
broadcast
bool
true
to broadcast the transaction on the network.
n/a
Example Call
1.7. list_sons
Lists all registered SONs, active or not.
Parameters
name
data type
description
details
lowerbound
string&
The name of the first SON to return. If the named SON does not exist, the list will start at the SON that comes next.
Use ""
to start at the beginning.
limit
uint32_t
The maximum number of SON to return.
Max of 1000.
Example Call
1.8. list_active_sons
List all active SONs.
Parameters
name
data type
description
details
No Parmeters!
n/a
n/a
n/a
Example Call
1.9. request_son_maintenance
Modify status of the SON owned by the given account to maintenance.
Parameters
name
data type
description
details
owner_account
string
The name or id of the account who owns the SON.
No quotes required.
broadcast
bool
true
to broadcast the transaction on the network.
n/a
Example Call
1.10. cancel_request_son_maintenance
Modify status of the SON owned by the given account back to active.
Parameters
name
data type
description
details
owning_account
string
The name or id of the account who owns the SON.
No quotes required.
broadcast
bool
true
to broadcast the transaction on the network.
n/a
Example Call
1.11. get_son_wallets
This will display the wallet information for all registered SONs. You can specify the maximum number of wallets to return.
Parameters
name
data type
description
details
limit
uint32_t
The maximum number of results to return.
n/a
Example Call
1.12. get_active_son_wallet
This will display the wallet information for the current active SON.
Parameters
name
data type
description
details
No Parameters!
n/a
n/a
n/a
Example Call
1.13. get_son_wallet_by_time_point
This will display the wallet information for the SON that was active at a specific date and time.
Parameters
name
data type
description
details
time_point
time_point_sec
The date and time. Formatted like this:
"2020-10-31T13:43:39"
Quotes are required!
Example Call
2. Sidechains CLI Command Reference
2.1. add_sidechain_address
This command allows a user to register two Bitcoin addresses: one used to create their deposit address, and one that will be used for their withdraw address. Collectively these are a "sidechain address".
Parameters
name
data type
description
details
account
string
The name or id of the account who owns the address.
No quotes required.
sidechain
sidechain_type
One of: bitcoin
, (more will be added later).
n/a
deposit_public_key
string
The public key of a Bitcoin address. This will be used to generate the deposit address in the return of this function.
n/a
withdraw_public_key
string
The public key of a different Bitcoin address. This will be used for the withdraw address.
n/a
withdraw_address
string
The Bitcoin address that is connected to the withdraw_public_key.
n/a
broadcast
bool
true
to broadcast the transaction on the network.
n/a
Example Call
add_sidechain_address mypeerplays-account bitcoin 02cf1b2c34eed7537a63eb5e86c914b6c5f641d87f07798dd777773d96c4df82e9 022bccebf0f97231c1a499ed2145f744444b2df51d24e8ba71016ebd186bec2ab9 1KTE52KRoYf8G3SPJtKUufU9tRansAGyud true
2.2. delete_sidechain_address
This will delete a sidechain address that was previously registered with the add_sidechain_address
command. Only one sidechain address can exist per user and sidechain. (A sidechain address in the case of Bitcoin consists of both a deposit and a withdraw address.)
Parameters
name
data type
description
details
voting_account
string
The name or id of the account who is voting with their PPY.
No quotes required.
witness
string
The name or id of the SON's owner account.
No quotes required.
approve
bool
true
if you wish to vote in favor of that SON, false
to remove your vote in favor of that SON.
n/a
broadcast
bool
true
to broadcast the transaction on the network.
n/a
Example Call
2.3. get_sidechain_address_by_account_and_sidechain
This returns a registered sidechain address for a given account and sidechain.
Parameters
name
data type
description
details
voting_account
string
The name or id of the account who is voting with their PPY.
No quotes required.
witness
string
The name or id of the SON's owner account.
No quotes required.
approve
bool
true
if you wish to vote in favor of that SON, false
to remove your vote in favor of that SON.
n/a
broadcast
bool
true
to broadcast the transaction on the network.
n/a
Example Call
2.4. get_sidechain_addresses_by_account
This returns all the registered sidechain addresses for a given account.
Parameters
name
data type
description
details
voting_account
string
The name or id of the account who is voting with their PPY.
No quotes required.
witness
string
The name or id of the SON's owner account.
No quotes required.
approve
bool
true
if you wish to vote in favor of that SON, false
to remove your vote in favor of that SON.
n/a
broadcast
bool
true
to broadcast the transaction on the network.
n/a
Example Call
2.5. get_sidechain_addresses_by_sidechain
This returns all the registered sidechain addresses for a given sidechain.
Parameters
name
data type
description
details
voting_account
string
The name or id of the account who is voting with their PPY.
No quotes required.
witness
string
The name or id of the SON's owner account.
No quotes required.
approve
bool
true
if you wish to vote in favor of that SON, false
to remove your vote in favor of that SON.
n/a
broadcast
bool
true
to broadcast the transaction on the network.
n/a
Example Call
2.6. get_sidechain_addresses_count
This returns the number of registered sidechain addresses.
Parameters
name
data type
description
details
voting_account
string
The name or id of the account who is voting with their PPY.
No quotes required.
witness
string
The name or id of the SON's owner account.
No quotes required.
approve
bool
true
if you wish to vote in favor of that SON, false
to remove your vote in favor of that SON.
n/a
broadcast
bool
true
to broadcast the transaction on the network.
n/a
Example Call
Last updated
Was this helpful?