Skip to content

Commit

Permalink
Release 2.0.11.2.0 (#2750)
Browse files Browse the repository at this point in the history
* feat: add lcov compatible coverage reporting to clarity-cli

* make lcov output configurable

* chore: cleanup/refactor miner tenure information gathering

* chore: updates for latest bitcoind

* typo

* fix: ensure microblocks mined by the node itself are emitted to the event observer

* feat: emit microblock header hash to event observer, required for micro-fork detection

* feat: include microblock parent hash in /new_microblocks event paylaod

* test: added test to ensure microblock hashes were properly added to the mb event

* fix: #2668 microblock data missing from event emitter while syncing

* Added prev burn block stats to the new_block event

* Added burn block stats for new_microblock event; refactored variable names for burn block stats for the new_block event

* Switched using  to using  for all the burn block stats, handled getting burn block stats in the case that the parent_consensus_hash was the

* Add some string-ascii and string-utf8 types to the docs

* ran format

* Changed panic! to warn! statement

* feat: add output_serialized to clarity-cli

* added some additional examples

* added all the different examples

* added concat example

* feat: make eval_all function public (#2689)

* running format

* Addressed comments.

* Addressed failing tests

* Use a virtual type 'sequence' to condense complicated disjoined types

Instead of having long lists of disjoined types, e.g.,
buff|(list A)|string-ascii|string-utf8

We now condense these to being a 'virtual' type called 'sequence',
which doesn't actually exist in the Clarity type hierarchy,
but is used in the docs, and which is explained in each description
in which it is used.

* Ran 'cargo fmt'

* Fixed some signatures

Some signatures were inconsistent with the input/output types.

* Fixed one more signature

This changes a signature that antedates this PR to be
more consistent.

* Re-worked the types and signatures

Various changes to the focus functions were made for clarity and consistency.

* fix: #2644 reorder UTXO staleness and RBF-limit check

* Addressing comments by @pavitthrap

* Fixes build warnings for 'cargo build' in 'develop' branch

* Added new-microblocks event to event dispatcher docs

* chore: remove tini dependency

* Fixed a vm:docs test case

* Fixed some typos

* removed some files that aren't in 'develop'

* Trying to rever CHANGELOG.md

* Reverting files to the 'develop' branch versions

* fix: logic bug in mocknet/helium miner #2710

* Removed a TODO, the question it relates to is now in issue #2712

* Removed a trailing space character.

* chore: try to speed up some integration tests

* chore: remove infinite loop in microblock_integration test

* test: use wait_for_microblocks rather than a wait_ms

* dont assert microblocks bumped -- it could have been bumped before the call to wait_for_microblocks

* test: wait for microblock to be processed before fetching /v2/info, use loop on wait_for_microblocks

* test: oops, flip equality in /v2/info loop

* docs: adding release process to README.md

* docs: add info on creating release candidate, and Hiro testing envs

* chore: genesis accounts key rotation

* chore: update magic bytes (X6 to T2)

* chore: update POX constants

* chore: update genesis anchoring (block #2000000)

* chore: update testnet command

* fix: address regressions

* chore: cargo fmt

* chore: update readme

* fix: addressing regression in integration test

* fix: silence non-fmt panic warnings

* fix: remove potentiall runtime panic that can arise when a sortition is queried while it is in the process of being invalidated

* fix: disable non-fmt panic warnings

* fix: disable non-fmt panic warnings

* refactor: use PeerNetwork::with_http() to expose the underlying HttpPeer

* fix: when loading block headers, if we encounter an InvalidPoxSortition error from the GetBlocksInv handler, reply a NACK instead of erroring out

* feat: query the list of bootstrap nodes distinct from always-allowed nodes

* fix: address #2730 by considering whether or not we are in the IBD phase when choosing where to start scanning for new block downloads. Also, use the PeerNetwork::with_http() interface to access the inner HTTP peer when downloading blocks and microblocks.

* fix: address #2728 by only rescanning a neighbor's inventory from just before the reward cycle it reported that the local peer diverged. Also, record this sortition height for the block downloader's consumption.

* fix: address #2719 by introducing a Transient(..) error type which indicates that a network error can be resolved by simply re-trying the poll loop.

* refactor: make the HTTP peer an Optional<..> so the PeerNetwork instance can be passed to the HTTP handler code. Also, do a better job at propagating hints from the inventory state-machine to the downloader as part of #2730.

* refactor: use new test API for adding peers

* fix: take a PeerNetwork as an argument for handling requests, and address #2738 by way of using cached data in the PeerNetwork to construct a /v2/info response without doing any I/O

* refactor: take a PeerNetwork instance as an argument instead of a hodge-podge of fields from it, so it can be passed into the HTTP request handler

* fix: address #2701 by catching Transient(..) errors and simply logging them

* fix: address #2713 by starting processing from the first burnchain block of the reward cycle in which the canonical Stacks chain state starts

* refactor: use latest rust-ism for spin loops

* fix: fix compiler errors in unit tests

* fix: more compile-time errors

* docs: address PR feedback

* fix: update the cached burnchain view *before* servicing HTTP requests, so /v2/info acts on the *current* chain view

* Update README.md

Co-authored-by: Ludo Galabru <[email protected]>

* Update README.md

Co-authored-by: Ludo Galabru <[email protected]>

* Update README.md

Co-authored-by: Ludo Galabru <[email protected]>

* docs: add optionality on when to open develop->master PR

* fix: sync one more blocks inventory on PoX disagreement so we don't stall, and use the cached burnchain_tip in PeerNetwork to determine whether or not the PoX bitvector needs to be reloaded. In addition, use the _new_ PoX bitvector length to carry out an inv trucation if it's shorter

* fix: refresh cached sortition state before doing anything else in the peer network run loop

* fix: mask net_error::Transient in the p2p state machine so we don't accidentally drop receipts

* fix: always panic on network error, now that the network masks transient errors

* fix: re-enable non_fmt_panic lint

* style: make bufflength instance variable private

* fix: only set the block/microblock start sortition if the downloader isn't in the middle of processing blocks

* fix: when starting a block inventory scan from a remote bootstrap peer that's diverged from us, start at either the reward cycle that contains the highest processed Stacks block, or INV_REWARD_CYCLES fewer reward cycles than the diverged reward cycle -- whichever is lower

* fix: when starting a downloader pass, start from the sortition height of either the highest processed Stacks block, or the inventory sortition height hint from the inv state machine -- whichever is lower

* chore: address feedbacks

* fix: use constant

* chore: fix all warns in `cargo check --tests --workspace`

* chore: simplify fmt/asserts

* Add Changelog for 2.0.11.2.0 (#2760)

* changelog for 2.0.11.2.0

* fixed spelling error

* fixed grammar error in changelog

* fix: issue 2771

* fix: tests::neon_integrations::bitcoind_forking_test

* fix: move log

* fix: move comment

* feat(docs): Add to "Non-Consensus Breaking Release Process" (#2766)

* changelog for 2.0.11.2.0

* start to discuss the version number

* changelog section

* fixed the wording around conensus breaking change

* updates to the changelog section

* added to release timing.

* added to timing section

* fix: test + patch

* chore: cargo fmt

* fix: edge case

* fix: restore timeout

* chore: add comments

* fix: revert patch

* chore: cargo fmt

* Update testnet/stacks-node/src/tests/neon_integrations.rs

* Update testnet/stacks-node/src/tests/neon_integrations.rs

* Update testnet/stacks-node/src/tests/neon_integrations.rs

* fix: bitcoind_forking_test assertions added

* fix: bitcoind_forking_test assertions added

* Update src/burnchains/burnchain.rs

* fix: only consider target block if relevant

* chore: cargo fmt

* chore: add log when ignoring target

* Update src/burnchains/burnchain.rs

* Update src/burnchains/burnchain.rs

* fix: log

* fix: switched all occurrences of max_value/min_value to MAX/MIN because it will deprecated in a future version of Rust

* feat(Changelog) Add some PR's that got missed for 2.0.11.2.0 (#2789)

* added micro-blocks PR to the changelog

* add PR 2647

* removed a space

* added some notes about the reset of the testnet

* "master -> develop" ahead of Release 2.0.11.2.0 (#2796)

* fix: typos in Clarity docs

* docs: rupdate testnet information and run lint

* docs: add regtest name and address reviewer comments

Co-authored-by: Patrick Gray <[email protected]>
Co-authored-by: pavitthrap <[email protected]>

* feat(Changelog): Adds in two patches to the Changelog (#2795)

* Add Ludo's bug fixes to the change log.

* removed extra space

Co-authored-by: Aaron Blankstein <[email protected]>
Co-authored-by: Matthew Little <[email protected]>
Co-authored-by: Pavitthra Pandurangan <[email protected]>
Co-authored-by: Greg Coppola <[email protected]>
Co-authored-by: Hank Stoever <[email protected]>
Co-authored-by: Reed Rosenbluth <[email protected]>
Co-authored-by: Jude Nelson <[email protected]>
Co-authored-by: CharlieC3 <[email protected]>
Co-authored-by: Ludo Galabru <[email protected]>
Co-authored-by: Patrick Gray <[email protected]>
  • Loading branch information
11 people committed Aug 2, 2021
1 parent 3382ecd commit 63d24b1
Show file tree
Hide file tree
Showing 78 changed files with 2,398 additions and 1,735 deletions.
1 change: 1 addition & 0 deletions .github/actions/bitcoin-int-tests/Dockerfile.bitcoin-tests
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::bitcoind_
RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::liquid_ustx_integration
RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::stx_transfer_btc_integration_test
RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::bitcoind_forking_test
RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::should_fix_2771
RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::pox_integration_test
RUN cargo test -- --test-threads 1 --ignored tests::bitcoin_regtest::bitcoind_integration_test
RUN cargo test -- --test-threads 1 --ignored tests::should_succeed_handling_malformed_and_valid_txs
Expand Down
41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,47 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to the versioning scheme outlined in the [README.md](README.md).

## [2.0.11.2.0]

NOTE: This change resets the `testnet`. Users running a testnet node will need
to reset their chain states.

### Added

- `clarity-cli` will now also print a serialized version of the resulting
output from `eval` and `execute` commands. This serialization is in
hexademical string format and supports integration with other tools. (#2684)
- The creation of a Bitcoin wallet with BTC version `> 0.19` is now supported
on a private testnet. (#2647)
- `lcov`-compatible coverage reporting has been added to `clarity-cli` for
Clarity contract testing. (#2592)
- The `README.md` file has new documentation about the release process. (#2726)

### Changed

- This change resets the testnet. (#2742)
- Caching has been added to speed up `/v2/info` responses. (#2746)

### Fixed

- PoX syncing will only look back to the reward cycle prior to divergence,
instead of looking back over all history. This will speed up running a
follower node. (#2746)
- The UTXO staleness check is re-ordered so that it occurs before the RBF-limit
check. This way, if stale UTXOs reached the "RBF limit" a miner will recover
by resetting the UTXO cache. (#2694)
- Microblock events were being sent to the event observer when microblock data
was received by a peer, but were not emitted if the node mined the
microblocks itself. This made something like the private-testnet setup
incapable of emitting microblock events. Microblock events are now sent
even when self-mined. (#2653)
- A bug is fixed in the mocknet/helium miner that would lead to a panic if a
burn block occurred without a sortition in it. (#2711)
- Two bugs that caused problems syncing with the bitcoin chain during a
bitcoin reorg have been fixed (#2771, #2780).
- Documentation is fixed in cases where string and buffer types are allowed
but not covered in the documentation. (#2676)

## [2.0.11.1.0]

This software update is our monthly release. It introduces fixes and features for both developers and miners.
Expand Down
7 changes: 0 additions & 7 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ name = "block_limits"
harness = false

[dependencies]
tini = "0.2"
rand = "=0.7.2"
rand_chacha = "=0.2.2"
serde = "1"
Expand Down
87 changes: 86 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ cargo run --bin blockstack-cli publish b8d99fd45da58038d630d9855d3ca2466e8e0f89d
You can observe the state machine in action locally by running:

```bash
cargo testnet start --config=./testnet/stacks-node/conf/testnet-follower-conf.toml
cargo stacks-node start --config=./testnet/stacks-node/conf/testnet-follower-conf.toml
```

`testnet-follower-conf.toml` is a configuration file that you can use for setting genesis balances or configuring Event observers. You can grant an address an initial account balance by adding the following entries:
Expand Down Expand Up @@ -317,6 +317,91 @@ You can automatically reformat your commit via:
cargo fmt --all
```

## Non-Consensus Breaking Release Process

For non-consensus breaking releases, this project uses the following release process:

1. The release must be timed so that it does not interfere with a *prepare
phase*. The timing of the next Stacking cycle can be found
[here](https://stacking.club/cycles/next). A release to `mainnet` should happen
at least 24 hours before the start of a new cycle, to avoid interfering
with the prepare phase. So, start by being aware of when the release can
happen.

1. Before creating the release, the release manager must determine the *version
number* for this release. The factors that determine the version number are
discussed in [Versioning](#versioning). We assume, in this section,
that the change is not consensus-breaking. So, the release manager must first
determine whether there are any "non-consensus-breaking changes that require a
fresh chainstate". This means, in other words, that the database schema has
changed. Then, the release manager should determine whether this is a feature
release, as opposed to a hot fix or a patch. Given the answers to these
questions, the version number can be computed.

1. The release manager enumerates the PRs or issues that would _block_
the release. A label should be applied to each such issue/PR as
`2.0.x.y.z-blocker`. The release manager should ping these
issue/PR owners for updates on whether or not those issues/PRs have
any blockers or are waiting on feedback.

1. The release manager should open a `develop -> master` PR. This can be done before
all the blocker PRs have merged, as it is helpful for the manager and others
to see the staged changes.

1. The release manager must update the `CHANGELOG.md` file with summaries what
was `Added`, `Changed`, and `Fixed`. The pull requests merged into `develop`
can be found
[here](https://github.com/blockstack/stacks-blockchain/pulls?q=is%3Apr+is%3Aclosed+base%3Adevelop+sort%3Aupdated-desc). Note, however, that GitHub apparently does not allow sorting by
*merge time*, so, when sorting by some proxy criterion, some care should
be used to understand which PR's were *merged* after the last `develop ->
master` release PR. This `CHANGELOG.md` should also be used as the description
of the `develop -> master` so that it acts as *release notes* when the branch
is tagged.

1. Once the blocker PRs have merged, the release manager will create a new tag
by manually triggering the [`stacks-blockchain` Github Actions workflow](https://github.com/blockstack/stacks-blockchain/actions/workflows/stacks-blockchain.yml)
against the `develop` branch, inputting the release candidate tag, `2.0.x.y.z-rc0`,
in the Action's input textbox.

1. Once the release candidate has been built, and docker images, etc. are available,
the release manager will notify various ecosystem participants to test the release
candidate on various staging infrastructure:

1. Stacks Foundation staging environments.
1. Hiro PBC regtest network.
1. Hiro PBC testnet network.
1. Hiro PBC mainnet mock miner.

The release candidate should be announced in the `#stacks-core-devs` channel in the
Stacks Discord. For coordinating rollouts on specific infrastructure, the release
manager should contact the above participants directly either through e-mail or
Discord DM. The release manager should also confirm that the built release on the
[Github releases](https://github.com/blockstack/stacks-blockchain/releases/)
page is marked as `Pre-Release`.

1. The release manager will test that the release candidate successfully syncs with
the current chain from genesis both in testnet and mainnet. This requires starting
the release candidate with an empty chainstate and confirming that it synchronizes
with the current chain tip.

1. If bugs or issues emerge from the rollout on staging infrastructure, the release
will be delayed until those regressions are resolved. As regressions are resolved,
additional release candidates should be tagged. The release manager is responsible
for updating the `develop -> master` PR with information about the discovered issues,
even if other community members and developers may be addressing the discovered
issues.

1. Once the final release candidate has rolled out successfully without issue on the
above staging infrastructure, the release manager tags 2 additional `stacks-blockchain`
team members to review the `develop -> master` PR.

1. Once reviewed and approved, the release manager merges the PR, and tags the release
via the [`stacks-blockchain` Github action]((https://github.com/blockstack/stacks-blockchain/actions/workflows/stacks-blockchain.yml))
by clicking "Run workflow" and providing the release version as the tag (e.g.,
`2.0.11.1.0`) This creates a release and release images. Once the release has been
created, the release manager should update the Github release text with the
`CHANGELOG.md` "top-matter" for the release.

## Copyright and License

The code and documentation copyright are attributed to blockstack.org for the year of 2020.
Expand Down
16 changes: 8 additions & 8 deletions deployment/helm/stacks-blockchain/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -231,13 +231,13 @@ config:
rpc_port: 18443
peer_port: 18444
ustx_balance:
- address: STB44HYPYAT2BB2QE513NSP81HTMYWBJP02HPGK6
- address: ST2QKZ4FKHAH1NQKYKYAYZPY440FEPK7GZ1R5HBP2
amount: "10000000000000000"
- address: ST11NJTTKGVT6D1HY4NJRVQWMQM7TVAR091EJ8P2Y
- address: ST319CF5WV77KYR1H3GT0GZ7B8Q4AQPY42ETP1VPF
amount: "10000000000000000"
- address: ST1HB1T8WRNBYB0Y3T7WXZS38NKKPTBR3EG9EPJKR
- address: ST221Z6TDTC5E0BYR2V624Q2ST6R0Q71T78WTAX6H
amount: "10000000000000000"
- address: STRYYQQ9M8KAF4NS7WNZQYY59X93XEKR31JP64CP
- address: ST2TFVBMRPS5SSNP98DQKQ5JNB2B6NZM91C4K3P7B
amount: "10000000000000000"

## Uncommenting this block will give you greater control over the settings in the configmap
Expand All @@ -262,16 +262,16 @@ config:
# peer_port = 18444

# [[ustx_balance]]
# address = "STB44HYPYAT2BB2QE513NSP81HTMYWBJP02HPGK6"
# address = "ST2QKZ4FKHAH1NQKYKYAYZPY440FEPK7GZ1R5HBP2"
# amount = 10000000000000000
# [[ustx_balance]]
# address = "ST11NJTTKGVT6D1HY4NJRVQWMQM7TVAR091EJ8P2Y"
# address = "ST319CF5WV77KYR1H3GT0GZ7B8Q4AQPY42ETP1VPF"
# amount = 10000000000000000
# [[ustx_balance]]
# address = "ST1HB1T8WRNBYB0Y3T7WXZS38NKKPTBR3EG9EPJKR"
# address = "ST221Z6TDTC5E0BYR2V624Q2ST6R0Q71T78WTAX6H"
# amount = 10000000000000000
# [[ustx_balance]]
# address = "STRYYQQ9M8KAF4NS7WNZQYY59X93XEKR31JP64CP"
# address = "ST2TFVBMRPS5SSNP98DQKQ5JNB2B6NZM91C4K3P7B"
# amount = 10000000000000000

## Annotations to be added to the Configmap
Expand Down
70 changes: 68 additions & 2 deletions docs/event-dispatcher.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ These events are sent to the configured endpoint at two URLs:
This payload includes data related to a newly processed block,
and any events emitted from Stacks transactions during the block.

If the transaction originally comes from the parent microblock stream
preceding this block, the microblock related fields will be filled in.

Example:

```json
Expand Down Expand Up @@ -58,15 +61,21 @@ Example:
"raw_tx": "0x808000000004008bc5147525b8f477f0bc4522a88c8339b2494db50000000000000002000000000000000001015814daf929d8700af344987681f44e913890a12e38550abe8e40f149ef5269f40f4008083a0f2e0ddf65dcd05ecfc151c7ff8a5308ad04c77c0e87b5aeadad31010200000000040000000000000000000000000000000000000000000000000000000000000000",
"status": "success",
"tx_index": 0,
"txid": "0x3e04ada5426332bfef446ba0a06d124aace4ade5c11840f541bf88e2e919faf6"
"txid": "0x3e04ada5426332bfef446ba0a06d124aace4ade5c11840f541bf88e2e919faf6",
"microblock_sequence": "None",
"microblock_hash": "None",
"microblock_parent_hash": "None"
},
{
"contract_abi": null,
"raw_result": "0x03",
"raw_tx": "0x80800000000400f942874ce525e87f21bbe8c121b12fac831d02f4000000000000000000000000000003e800006ae29867aec4b0e4f776bebdcea7f6d9a24eeff370c8c739defadfcbb52659b30736ad4af021e8fb741520a6c65da419fdec01989fdf0032fc1838f427a9a36102010000000000051ac2d519faccba2e435f3272ff042b89435fd160ff00000000000003e800000000000000000000000000000000000000000000000000000000000000000000",
"status": "success",
"tx_index": 1,
"txid": "0x738e4d44636023efa08374033428e44eca490582bd39a6e61f3b6cf749b4214c"
"txid": "0x738e4d44636023efa08374033428e44eca490582bd39a6e61f3b6cf749b4214c",
"microblock_sequence": "3",
"microblock_hash": "0x9304fcbcc6daf5ac3f264522e0df50eddb5be85df6ee8a9fc2384c54274daaac",
"microblock_parent_hash": "0x4893ab44636023efa08374033428e44eca490582bd39a6e61f3b6cf749b474bd"
}
],
"matured_miner_rewards": [
Expand Down Expand Up @@ -116,6 +125,63 @@ Example:
PoX commitments during this block. These addresses may not actually receive rewards during
this block if the block is faster than miners have an opportunity to commit.

### `POST /new_microblocks`

This payload includes data related to one or more microblocks that are either emmitted by the
node itself, or received through the network.

Example:

```json
{
"parent_index_block_hash": "0x999b38d44d6af72703a476dde4cea683ec965346d9e9a7ded2d773fb4f257a3b",
"events": [
{
"event_index": 1,
"committed": true,
"stx_transfer_event": {
"amount": "1000",
"recipient": "ST31DA6FTSJX2WGTZ69SFY11BH51NZMB0ZZ239N96",
"sender": "ST3WM51TCWMJYGZS1QFMC28DH5YP86782YGR113C1"
},
"txid": "0x738e4d44636023efa08374033428e44eca490582bd39a6e61f3b6cf749b4214c",
"type": "stx_transfer_event"
}
],
"transactions": [
{
"contract_abi": null,
"raw_result": "0x03",
"raw_tx": "0x808000000004008bc5147525b8f477f0bc4522a88c8339b2494db50000000000000002000000000000000001015814daf929d8700af344987681f44e913890a12e38550abe8e40f149ef5269f40f4008083a0f2e0ddf65dcd05ecfc151c7ff8a5308ad04c77c0e87b5aeadad31010200000000040000000000000000000000000000000000000000000000000000000000000000",
"status": "success",
"tx_index": 0,
"txid": "0x3e04ada5426332bfef446ba0a06d124aace4ade5c11840f541bf88e2e919faf6",
"microblock_sequence": "3",
"microblock_hash": "0x9304fcbcc6daf5ac3f264522e0df50eddb5be85df6ee8a9fc2384c54274daaac",
"microblock_parent_hash": "0x4893ab44636023efa08374033428e44eca490582bd39a6e61f3b6cf749b474bd"
},
{
"contract_abi": null,
"raw_result": "0x03",
"raw_tx": "0x80800000000400f942874ce525e87f21bbe8c121b12fac831d02f4000000000000000000000000000003e800006ae29867aec4b0e4f776bebdcea7f6d9a24eeff370c8c739defadfcbb52659b30736ad4af021e8fb741520a6c65da419fdec01989fdf0032fc1838f427a9a36102010000000000051ac2d519faccba2e435f3272ff042b89435fd160ff00000000000003e800000000000000000000000000000000000000000000000000000000000000000000",
"status": "success",
"tx_index": 1,
"txid": "0x738e4d44636023efa08374033428e44eca490582bd39a6e61f3b6cf749b4214c",
"microblock_sequence": "4",
"microblock_hash": "0xfcd4fc34c6daf5ac3f264522e0df50eddb5be85df6ee8a9fc2384c5427459e43",
"microblock_parent_hash": "0x9304fcbcc6daf5ac3f264522e0df50eddb5be85df6ee8a9fc2384c54274daaac"
}
],
"burn_block_hash": "0x4eaabcd105865e471f697eff5dd5bd85d47ecb5a26a3379d74fae0ae87c40904",
"burn_block_height": 331,
"burn_block_timestamp": 1651301734
}
```

* `burn_block_{}` are the stats related to the burn block that is associated with the stacks
block that precedes this microblock stream.
* Each transaction json object includes information about the microblock the transaction was packaged into.

### `POST /new_mempool_tx`

This payload includes raw transactions newly received in the
Expand Down
Loading

0 comments on commit 63d24b1

Please sign in to comment.