'label' and 'account' APIs for wallet ------------------------------------- A new 'label' API has been introduced for the wallet. This is intended as a replacement for the deprecated 'account' API. The 'account' can continue to be used in V0.17 by starting bitcoind with the '-deprecatedrpc=accounts' argument, and will be fully removed in V0.18. The label RPC methods mirror the account functionality, with the following functional differences: - Labels can be set on any address, not just receiving addresses. This functionality was previously only available through the GUI. - Labels can be deleted by reassigning all addresses using the `setlabel` RPC method. - There isn't support for sending transactions _from_ a label, or for determining which label a transaction was sent from. - Labels do not have a balance. Here are the changes to RPC methods: | Deprecated Method | New Method | Notes | | :---------------------- | :-------------------- | :-----------| | `getaccount` | `getaddressinfo` | `getaddressinfo` returns a json object with address information instead of just the name of the account as a string. | | `getaccountaddress` | n/a | There is no replacement for `getaccountaddress` since labels do not have an associated receive address. | | `getaddressesbyaccount` | `getaddressesbylabel` | `getaddressesbylabel` returns a json object with the addresses as keys, instead of a list of strings. | | `getreceivedbyaccount` | `getreceivedbylabel` | _no change in behavior_ | | `listaccounts` | `listlabels` | `listlabels` does not return a balance or accept `minconf` and `watchonly` arguments. | | `listreceivedbyaccount` | `listreceivedbylabel` | Both methods return new `label` fields, along with `account` fields for backward compatibility. | | `move` | n/a | _no replacement_ | | `sendfrom` | n/a | _no replacement_ | | `setaccount` | `setlabel` | Both methods now: