For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

return type, namespace, & method
signed_transaction graphene::wallet::wallet_api::create_son(
    string owner_account,
    string url,
    vesting_balance_id_type deposit_id,
    vesting_balance_id_type pay_vb_id,
    flat_map<sidechain_type, string> sidechain_public_keys,
    bool broadcast);

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

create_son myaccountname-son "www.my-awesome-son.com" 1.13.79 1.13.80 [[bitcoin, 023b907586045625367ecd62c5d889591586c87e57fa49be21614209489f00f1b9]] true

# The above command is structured like this:
# create_son <username> "<SON proposal url>" <son vesting balance ID> <normal vesting balance ID> [[bitcoin, <bitcoin public key>]] true

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?