stacks-core

The Stacks blockchain implementation

GPL-3.0 License

Stars
2.9K
Committers
119

Bot releases are hidden (Show)

stacks-core - Release 2.0.11.1.0-rc2

Published by blockstack-devops over 3 years ago

stacks-core - Release 2.0.11.1.0-rc1

Published by blockstack-devops over 3 years ago

stacks-core - Release 2.0.11.0.0

Published by blockstack-devops over 3 years ago

The chainstate directory has been restructured in this release. It is not compatible with prior chainstate directories. Therefore, if you are upgrading from 2.0.10.x.x or earlier versions of stacks-node, you will need to resync from a fresh chainstate.

Added

  • /drop_mempool_tx endpoint to notify event observers when a mempool
    transaction has been removed the mempool.
  • "reward_slot_holders" field to the new_burn_block event
  • CTRL-C handler for safe shutdown of stacks-node
  • Log transactions in local db table via setting env STACKS_TRANSACTION_LOG=1
  • New prometheus metrics for mempool transaction processing times and
    outstanding mempool transactions
  • New RPC endpoint with path /v2/traits/contractAddr/contractName/traitContractName /traitContractAddr/traitName to determine whether a given trait is implemented
    within the specified contract (either explicitly or implicitly).
  • Re-activate the Atlas network for propagating and storing transaction
    attachments. This re-enables off-chain BNS name storage.
  • Re-activate microblock mining.

Changed

  • Improved chainstate directory layout
  • Improved node boot up time
  • Better handling of flash blocks
  • The /v2/pox RPC endpoint was updated to include more useful
    information about the current and next PoX cycles. For details, see
    docs/rpc-endpoints.md

Fixed

  • Fixed faulty logic in the mempool that was still treating the transaction fee
    as a fee rate, which prevented replace-by-fee from working as expected.
stacks-core - Release 2.0.11.0.0-rc5

Published by blockstack-devops over 3 years ago

stacks-core - Release 2.0.11.0.0-rc4

Published by blockstack-devops over 3 years ago

stacks-core - Release 2.0.10.0.1

Published by blockstack-devops over 3 years ago

This is a high-priority hotfix release to address a bug in the deserialization logic. The chainstate directory of 2.0.10.0.1 is compatible with 2.0.10. This release also begins the usage of the versioning scheme outlined in the README.md.

stacks-core - Release 2.0.11-rc3

Published by blockstack-devops over 3 years ago

stacks-core - Release 2.0.11-rc2

Published by blockstack-devops over 3 years ago

stacks-core - Release fix-2407-net

Published by blockstack-devops over 3 years ago

stacks-core - Release feat-light-pox-scan

Published by blockstack-devops over 3 years ago

stacks-core - Release 2.0.11-rc1

Published by blockstack-devops over 3 years ago

[2.0.11-rc1]

The chainstate directory has been restructured in this release. It is not
compatible with prior chainstate directories.

Added

  • /drop_mempool_tx endpoint to notify event observers when a mempool
    transaction has been removed the mempool.
  • "reward_slot_holders" field to the new_burn_block event
  • CTRL-C handler for safe shutdown of stacks-node
  • Log transactions in local db table via setting env STACKS_TRANSACTION_LOG=1
  • New prometheus metrics for mempool transaction processing times and
    outstanding mempool transactions
  • New RPC endpoint with path v2/traits/contractAddr/contractName/traitContractName /traitContractAddr/traitName to determine whether a given trait is implemented
    within the specified contract (either explicitly or implicitly).

Changed

  • Improved chainstate directory layout
  • Improved node boot up time
  • Better handling of flash blocks
  • The /v2/pox RPC endpoint was updated to include more useful
    information about the current and next PoX cycles. For details, see
    docs/rpc-endpoints.md

Fixed

  • Fixed faulty logic in the mempool that was still treating the transaction fee
    as a fee rate, which prevented replace-by-fee from working as expected.
  • Restored Atlas attachment support
  • Fixed microblock miner overcommitment
stacks-core - Release 2.0.10

Published by blockstack-devops over 3 years ago

This is a low-priority hotfix release to address two bugs in the block downloader. The chainstate directory of 2.0.10 is compatible with 2.0.9. If booting up a node from genesis, or an existing node has stalled in downloading blocks, this hotfix is necessary for your node.

Fixed

  • Bug in microblocks inventory vector calculation that included invalidated microblocks as present bit. This bug will impact nodes booting up from genesis, but not affect nodes currently running at the chain tip (#2518).
  • Bug in microblocks downloader logic that would cause the stacks-node to fail to wake-up to process newly arrived microblocks in certain instances (#2491).
stacks-core - Release 2.0.9

Published by blockstack-devops over 3 years ago

This is a low-priority hotfix release that patches a TOCTTOU bug in how the node handles blocks uploaded to it by 3rd parties, which if executed may lead to a denial-of-service (node crash) in the node while it is bootstrapping. People who run public nodes should upgrade to this release on their next node restart. Private nodes, such as those running behind a NAT or are otherwise unreachable from the Internet, are not affected.

stacks-core - Release 2.0.8

Published by blockstack-devops over 3 years ago

Upgrade priority: high for miners; medium for everyone else.

This hotfix repairs a denial-of-service vulnerability in the way the Stacks node processes smart contracts. A buggy or malicious smart contract transaction can cause the node to crash while processing it. Node operators should upgrade to this release as soon as possible.

If your node crashes due to this bug, you will need to restart with a new working directory. The denial-of-service bug, if executed, will corrupt the chainstate database. If you restart your node yourself, then you do not need to re-sync.


This is a hotfix release for improved handling of static analysis storage and
improved at-block behavior. The chainstate directory of 2.0.8 is compatible with
the 2.0.7 chainstate.

Fixed

  • Improved static analysis storage
  • at-block behavior in clarity-cli and unit tests (no changes in stacks-node
    behavior).
stacks-core - Release 2.0.7

Published by blockstack-devops over 3 years ago

This is an emergency hotfix that prevents the node from accidentally deleting
valid block data if its descendant microblock stream is invalid for some reason.

Fixed

  • Do not delete a valid parent Stacks block.
stacks-core - Release 2.0.6

Published by blockstack-devops over 3 years ago

[2.0.6] - 2021-02-15

The database schema has not changed since 2.0.5, so when spinning up a
2.0.6 node from a 2.0.5 chainstate, you do not need to use a fresh
working directory. Earlier versions' chainstate directories are
incompatible, however.

Fixed

  • Miner RBF logic has two "fallback" logic changes. First, if the RBF
    logic has increased fees by more than 50%, do not submit a new
    transaction. Second, fix the "same chainstate hash" fallback check.
  • Winning block txid lookups in the SortitionDB have been corrected
    to use the txid during the lookup.
  • The miner will no longer attempt to mine a new Stacks block if it receives a
    microblock in a discontinuous microblock stream.
stacks-core - Release 2.0.5

Published by blockstack-devops over 3 years ago

Note: This release contains a database schema change and therefore a fresh working directory must be used to spin up the node.

During this, miners are recommended to use the new --mine-at-height command line argument which will instruct the node to not mine until the Stacks chain has synchronized to the provided Stacks block height.

Added

  • Miner heuristic for handling relatively large or computationally
    expensive transactions: such transactions will be dropped from the
    mempool to prevent miners from re-attempting them once they fail.
    Miners can also now continue processing transactions that are
    behind those transactions in the mempool "queue".

Fixed

  • Miner block assembly now uses the correct block limit available via
    the node config
  • tx_fees_streamed_produced fees are included in miner coinbase
    events for event observers
  • SQLite indexes are now correctly created on database instantion

Changed

  • STX unlock events are now sent over the events endpoint bundled
    into an associated unlock transaction
  • Atlas attachments networking endpoints are disabled for this
    release, while networking issues are addressed in the
    implementation
stacks-core - Release 2.0.4

Published by blockstack-devops over 3 years ago

stacks-core - Release 2.0.3

Published by blockstack-devops over 3 years ago

Note: This release contains a database schema change and therefore a fresh working directory must be used to spin up the node.

During this, miners are recommended to use the new --mine-at-height command line argument which will instruct the node to not mine until the Stacks chain has synchronized to the provided Stacks block height.

Added

  • stacks-node --mine-at-height commandline option, which tells the
    stacks-node not to mine until it has synchronized to the given
    Stacks block height
  • A new RPC endpoint /v2/blocks/upload/{consensus_hash} that accepts
    an uploaded Stacks block for a given sortition

Changed

  • Enabled WAL mode for the chainstate databases. This allows much more
    concurrency in the stacks-node, and improves network performance
    across the board. NOTE: This changed the database schema, any
    running node would need to re-initialize their nodes from a new chain
    state when upgrading
    .
  • Default value wait_time_for_microblocks: from 60s to 30s
  • The mempool now performs more transfer semantics checks before admitting
    a transaction (e.g., reject if origin = recipient): see issue #2354
  • Improved the performance of the code that handles GetBlocksInv p2p
    messages by an order of magnitude.
  • Improved the performance of the block-downloader's block and
    microblock search code by a factor of 5x.

Fixed

  • Miner mempool querying now works across short-lived forks: see issue #2389
  • JSON deserialization for high-depth JSON objects
  • Atlas attachment serving: see PR #2390
  • Address issues #2379, #2356, #2347, #2346. The tracking of the
    LeaderBlockCommit operations inflight is improved, drastically
    reducing the number of block commit rejections. When
    aLeaderBlockCommit is not included in the Bitcoin block it was
    targeting, it is condemned to be rejected, per the Stacks
    consensus. To avoid wasting BTC, the miner now tries to send its
    next LeaderBlockCommit operations using the UTXOs of the previous
    transaction with a replacement by fee. The fee increase increments
    can be configured with the setting rbf_fee_increment.
stacks-core - Release 2.0.2

Published by blockstack-devops almost 4 years ago