Oct 18, 2018
october 2018 testnet release

@abitmore abitmore released this Aug 23, 2018 · 16 commits to master since this release

Assets 4

This is the first BitShares-Core release that supports Ubuntu 18.04 LTS. Due to the new features and improvements included in this release, all nodes are encouraged to upgrade (will replay automatically on first run).

Platform specific notes

SHA256 Checksum

  • BitShares-Core-2.0.180823-Windows-x64-cli-tools.zip : Windows
    • 2d6434427a9bfff0e20c8bee175b5ff8fda9709e91dbc8edbf8ed0c9ccf2f3f1
  • BitShares-Core-2.0.180823-macOS-cli-tools.tar.gz : macOS High Sierra 10.13.6
    • 0c377ab4e93c24cf1c6ff8be04abd0dc8423dbf3dde89b7fbe558e90c80a9e8b

Security fixes

  • CLI wallet: updated choice of range proof params in cli wallet reveals transaction magnitude to very narrow range for Blinded Transfers (issue #480 / PR #1117 #1227)

API changes

  • Removed crypto_api from default list of allowed APIs. (issue #1123 / PR #1125)
  • Changed default max-ops-per-account value to 100, impacts account history (#1120)
  • Added get_account_limit_orders database API to query for open orders of one account in one market #463 #849 #1163
  • Added get_asset_count API to return total number of available assets #688, #1159
  • Added get_transaction_hex_without_sig API get serialized transaction hex without signatures field (issue #1013 / PR #1038)
  • Added support for account name as parameter for all API calls #969 #989 #1164 #1168 #1152 #1155
  • Added fail_reason field to proposal object #730, #1036
  • Retroactively deducted witness missed_blocks caused by chain halts #1087

New features and improvements

  • Added Openssl 1.1 and Ubuntu 18.04 support (issue #835 / PR #559 #921 #1008 bitshares/bitshares-fc#7)
    • Fixed invalid use of incomplete type BIGNUM {aka struct bignum_st} #327
  • Added witness_node startup option --enable-standby-votes-tracking to track votes of standby witnesses and committee members, enabled by default #987, #1191, #1211
  • Added cli_wallet startup option --suggest-brain-key to generate keys without connecting to a witness_node #1011, #1039
  • Added quit command to cli_wallet #1104, #1050 bitshares/bitshares-fc#63
  • Improved witness_node performance for generating blocks, resyncing and replaying
    • Improved account maintenance (vote tally) performance (issue #803/ PR #1085)
    • Improved performance of database::update_expired_feeds() and global object getters #1093 #1180
    • Slightly improved price comparison performance #1094 #1124
    • Added index on short_backing_asset, better performance for updating asset (Issue #960 / PR #1019)

Docker File

  • Changed default docker p2p port to 1776, fixed p2p port to match Dockerfile #1226, #1078
  • Fixes to make Docker containers shutdown gracefully #1077 #1115
  • Fixed Docker Cloud Build Failing Due to Compile Time #1221 #1222
  • Modified Dockerfile to work with new docker cloud version (0.10.1) #1075
  • Updated testnet Branch to Include Latest Dockerfile #1074

Elasticsearch

  • Elasticsearch refactor #1103 #1201
    • Add auth to communicate with the ES database with --elasticsearch-basic-auth startup option.
    • Custom index names with --elasticsearch-index-prefix startup option.
    • Removed --elasticsearch-logs startup option
    • Better error handling: if there is an error when sending data to ElasticSearch, plugin will stop processing blocks and keep trying, and it resumes when connection is back at the same place. #681
    • add operation_id_num for easier filtering.
    • Fill orders data in additional for easy volume.
    • Test cases framework. #1047
    • Make full use of common functions in the 2 plugins(utilities).
    • flush ES database on every block when node is in sync to improve real time user experience. #1137
    • Increased performance of the elasticsearch plugin where possible: #1260
  • Updated documentation https://github.com/bitshares/bitshares-core/wiki/ElasticSearch-Plugin

Bugfixes

Other changes

Contributors in this release:

@abitmore abitmore released this Jun 12, 2018 · 371 commits to master since this release

Assets 4

This is a protocol upgrade release. All nodes should upgrade before 2018-07-19 14:00:00 UTC.

Note: in the previous release (2.0.180425) we fixed a serious bug.

  • If you're upgrading from 2.0.180425 to 2.0.180612, you don't need to do anything special;
  • if you're upgrading from a release earlier than 2.0.180425 to 2.0.180612, please check release notes of 2.0.180425 to see if you need to perform additional steps.

Consensus changes

API changes

  • extensions field of call_order_update_operation changed from an array to an object, which affects all related API's E.G. get_block, get_account_history, get_relative_account_history and etc. Due to this, old version of cli_wallet won't be compatible with new API nodes when that operation would occur in result.
  • [Issue #862, PR #872] Improved pagination of list_assets node API
  • [Issue #863, PR #871] Node get_ticker API now returns time stamp of latest block instead of server time
  • [Issue #811, PR #861] Added get_full_account command/API to cli_wallet

Other changes

  • [FC PR #36] Support Boost 1.64-1.65

  • [FC PR #43] Fixed a memory leak issue in TCP socket destruction

  • [FC PR #44] Fixed Diffie-Hellman shared key computation (related to memo encryption)

  • [Issue #727, PR #880] Added stack trace printing when node crashes (only for boost 1.65)

  • [Issue #878, PR #927] Made number of I/O threads configurable (can be manual or auto)

  • [Issue #805, PR #840 / #919 / #937] Improved logging level and messages; added logging options about log-rotation

  • [Issue #837, PR #848 / #839] Added cli_wallet to Docker

  • [PR #938] Fixed an issue that may cause the node to store incorrect block ID to disk when switching forks

  • [Issue #582, PR #813] Fixed macOS witness node crash issue when being used as an API server

  • [Issue #776, PR #816 / #955] Fixed missing notification to RPC clients when changes occurred on some types of objects

  • [Issue #888, PR #954] Fixed an integer overflow issue when checking whether a price feed has expired

  • [Issue #864, PR #865] Fixed a cli_wallet transaction signing issue when creating proposals with transaction builder

  • [Issue #859, PR #801 / #817] Fixed macOS and Ninja build errors introduced in last release

  • [Issue #136, PR #928] Fixed an asset supply calculation error in test case

  • [Issue #943, PR #869 / #945] Improved a few assertion error messages

  • [PR #850] Removed unused asset cache from cli_wallet

  • [PR #918] Fixed in-code documentation for set_desired_witness_and_committee_member_count command/API in cli_wallet

  • [PR #804] Refactored node.cpp and application.cpp for easier testing

  • [PR #851 / #853 / #854 / #855] Fixed several compiler warnings

Contributors

SHA256 checksum

  • BitShares-Core-2.0.180612-x64-cli-tools.zip: Windows
    • 549d7b31404ef4ef4bd17854859efc4ead536e69df6c3284f773cbf15b04fe9f
  • BitShares-Core-2.0.180612-macOS-cli-tools.tar.gz: macOS
    • 83384a90afe0b47f578caeedff881f8e067218ede2333fa2adfeb8f99d7267c7
May 25, 2018
Merge pull request #975 from bitshares/testnet-hf-time
Set TESTNET hard fork time to 2018-05-31T14:02:00Z
May 10, 2018
Merge pull request #910 from bitshares/909-testnet-hf-time
Set TESTNET hard fork time to 2018-05-19T13:58:00Z

@abitmore abitmore released this Apr 25, 2018 · 822 commits to master since this release

Assets 3

This is a bugfix release.

In this release we fixed a bug in account history plugin, which may result in incorrect operation history IDs being stored under certain circumtances. Account history is mainly used by 3rd-party businesses for integration.

This bug doesn't affect consensus or chain security.

Who need to upgrade, and what to do

Businesses (E.G. exchanges, payment processors, gateways or merchants) who're running witness_node with track-account option, if rely on correctness of operation history object IDs (1.11.x) returned by witness_node to identify transactions, are likely affected.

Please:

  1. upgrade the node, and
  2. restart the node with --replay-blockchain parameter, and
  3. carefully check historical data which was retrieved from the old node and processed in the past, compare it to new data returned by upgraded node, deal with the differences if needed, and
  4. perhaps review business data process logic.

Please be aware that the 3rd step is important for businesses to avoid processing same transaction (E.G. a deposit) more than once. After restarted with --replay-blockchain, history object IDs may have changed. For example, before restart, get_relative_account_history [account_name] 0 1 0 may return an operation history ID 1.11.123456789 which indicates a deposit, but after restart, operation history ID of the same deposit may have changed to 1.11.123456700.

All earlier versions are affected.

Who are not affected

Here are some cases likely not affected by the bug. However, for your own safety, please make decision by your own.

  • The bug doesn't affect delayed_node, so data stored and returned by delayed_node is always correct. IDs stored in witness_node can be different than those stored in delayed_node. If a business only reads data from delayed_node, it's not affected.

    • However, if the business also reads data from witness_node, it can be affected.
  • Businesses that don't rely on correctness of 1.11.x IDs to identify transactions, for example those identify transactions by transaction IDs or signatures, are likely not affected, so don't need to upgrade.

  • Nodes that were not running with track-account option are not affected, so no need to upgrade.

    • Nodes running with default options are in this categary.
    • Public seed nodes, API nodes and witnesses should be in this categary.
  • Personal nodes that are not interested in history object IDs are probably affected, but usually don't need to upgrade.

More info about the bug

The bug was in account history plugin, if track-account option is used in a node, when forking occurs (E.G. due to network latency issues), the node may unintendedly skip some IDs. After that, incorrect IDs will be stored and then be returned when being queried. A restart with --replay-blockchain may correct IDs of existing/historical data, but doesn't prevent new incorrect IDs from being stored.

After upgraded and replayed, the node won't skip IDs, so will always store correct IDs.

Related issue and pull request: #585, #873.

SHA256 checksum

  • BitShares-Core-2.0.180425-x64-cli-tools.zip: Windows
    • ee6687979a1dabf7ea19cdbdd717929292d091caae9bfe3c1b09fb6464f39180