Skip to content

Changelog

This section provides information on changes and updates made to each new DCore release.

DCore Release 1.3.0 feature description

New Features

  • Added transaction history for all operations (asset related transactions).
  • Not all transactions that could change one’s balance did have the history record. Now all the history is stored and the current balance can be calculated from the history records.
  • Added new API function for balance changes.
  • New APIs were added to get the detailed balance history.
  • Added unencrypted/public messaging.
  • New type of messages added .Now anyone can send unencrypted message and this message is readable for everyone.
  • Added exit command to cli_wallet.
  • The cli_wallet application has a new command. Previously only Ctrl+C could exit the application. Now also exit command.
  • Added possibility to run the DCore daemon as a system service/daemon on linux*
  • On linux systems the DCore daemon can also run not only as command line application but also as a system daemon.
  • Added history storage for every transaction ID and added search function for transaction by these IDs.
  • Now every transaction ID can be stored and this storage can be used for searching any transactions by its ID. Anyone can track the state of the any transaction now.

Improvements

  • Added support for all public DCore daemon API sets over HTTP w/o session>
  • For easier development of 3rd party applications not only Websocket but also HTTP connections to DCore daemon can call APIs from any public API set. Before this change only database API set could be used over HTTP.
  • DCore daemon optimized for higher transactions throughput (TPS).

  • DCore daemon optimized for higher transaction throughput. Detailed benchmarks showed 2000+ TPS. The whole descriptions will be published as separate blog post.

  • Added support for OpenSSL 1.1 and newer versions.
  • Added support for CryptoPP ver 7.0.0 and higher.

DCore Release 1.3.0 complete release notes

New Features

  • Added transaction history for all operations (asset related transactions).

    • Added new API function for balance changes.

      • New history API and wallet API.

        • Search_account_balance_history() (also with advanced search using various parameters)
        • get_account_balance_for_transaction()
    • Added unencrypted/public messaging

      • Changed wallet API

        • cpp Send_message() (added parameter bool broadcast)
      • New wallet API

        • cpp send_unencrypted_message()
  • Added exit command to cli_wallet.

    • Added possibility to run the DCore daemon as a system service/daemon on linux

      • New command line argument: --daemon

      System directories used

      logs dir = '/var/log/decentd/'
      data_dir = '/var/lib/decentd/'
      temp_dir = '/var/tmp/decentd/'
      

    Added the possibility to change non-fixed to fixed MAX_SUPPLY for UIA Added the possibility to change precision for UIA (only for not issued ones) Added history storage for every transaction ID (new plugin - default off) Added search function for transaction by ID

    New database API and wallet API
    
        get_transaction_by_id
    

    Added setting for CA certificate for WSS on nodes

    New settings
    
        server-cert-file
        server-cert-key-file
        server-cert-chain-file
    
    Changed setting
    
        server-pem-password -> server-cert-password
    
    Removed setting
    
        server-pem-file
    

    Added to HTTP header to DCore daemon

    New setting
    
        Access-Control-Allow-Origin (default : *)
    

    Auto generated Dockers from the current master branch
    Added daemon check for IPFS version

[IMPROVED]

Added support for all public DCore daemon API sets over HTTP w/o session

    Default open API sets IDs

        0 login_api
        1 database_api
        2 network_broadcast_api
        3 history_api
        4 crypto_api
        5 messaging_api



Added support for OpenSSL 1.1 and newer versions
Added support for CryptoPP ver 7.0.0 and higher
DCore daemon optimized for higher transactions throughput (TPS)
Desktop app has new logo and minor fixes
Added command to print DCore daemon version

    New command line argument

        decentd -v or decentd --version

[FIXED]

Transfer to non-existing content
Several other bugs
  1. DCore Release 1.3.0 API and SDK related changes

[NEW]

Added new API function for balance changes

    New history API and wallet API

        Search_account_balance_history
        get_account_balance_for_transaction

Added unencrypted/public messaging

    Changed wallet API

        Send_message (added parameter bool broadcast)

    New wallet API

        send_unencrypted_message

Added search function for transaction by ID

    New database API and wallet API

        Get_transaction_by_id

Added support for all public DCore daemon API sets over HTTP w/o session

    Default open API sets IDs

        0 login_api
        1 database_api
        2 network_broadcast_api
        3 history_api
        4 crypto_api
        5 messaging_api

API change list

search_account_balance_history

/**

* @brief Returns the most recent balance operations on the named account.

* This returns a list of operation history objects, which describe activity on the account.

* @param account_id the account whose history should be queried

* @param assets_list list of asset_ids to filter assets or empty for all assets

* @param partner_account_id partner account_id to filter transfers to speccific account or empty

* @param from_block filtering parameter, starting block number (can be determined by from time) or zero when not used

* @param to_block filtering parameter, ending block number or zero when not used

* @param order ordering parameter, not working yet

* @param start_offset starting offset from zero

* @param limit the number of entries to return (starting from the most recent)

* @return a list of balance operation history objects

* @ingroup HistoryAPI

*/

vector<balance_change_result>  search_account_balance_history(account_id_type account_id,

const flat_set<asset_id_type>& assets_list,

fc::optional<account_id_type> partner_account_id,

uint32_t from_block, uint32_t to_block,

const string& order,

uint32_t start_offset,

int limit) const;

get_account_balance_for_transaction

/**

* @brief Returns balance operation on the named account and transaction_id.

* @param account_id the account whose history should be queried

* @param operation_history_id the operation_history_id whose history should be queried

* @return balance operation history object or empty when not found

* @ingroup HistoryAPI

*/

fc::optional<balance_change_result> get_account_balance_for_transaction(account_id_type account_id,

operation_history_id_type operation_history_id);

send_message

/**

* @brief Sends an encrypted text message to one or many users.

* @param from account sending the message

* @param to account or multiple accounts receiving the message

* @param text the body of the message

* @ingroup WalletAPI_Messaging

*/

signed_transaction send_message(const std::string& from,

const std::vector<string>& to,

const string& text,

bool broadcast = false);

send_unencrypted_message

/**

* @brief Sends an unencrypted text message to one or many users.

* @param from account sending the message

* @param to account or multiple accounts receiving the message

* @param text the body of the message

* @ingroup WalletAPI_Messaging

*/

signed_transaction send_unencrypted_message(const std::string& from,

const std::vector<string>& to,

const string& text,

bool broadcast = false);

get_transaction_by_id

/**

* @brief This method will return the transaction for the given ID (transaction hash) or

* it will return \c null if it is not known. Just because it is not known does not mean it wasn't

* included in the blockchain.

* @note By default these objects are not tracked, the transaction_history_plugin must

* be loaded for these objects to be maintained.

* @param id ID (transaction hash) of the transaction to retrieve

* @return The transaction

* @ingroup WalletAPI_General

*/

optional<signed_transaction> get_transaction_by_id( const transaction_id_type& id ) const;