Skip to content

Commit 63d24b1

Browse files
gregorycoppolakantaizone117xpavitthrapGreg Coppola
authored
Release 2.0.11.2.0 (#2750)
* 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]>
1 parent 3382ecd commit 63d24b1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+2398
-1735
lines changed

.github/actions/bitcoin-int-tests/Dockerfile.bitcoin-tests

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::bitcoind_
2121
RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::liquid_ustx_integration
2222
RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::stx_transfer_btc_integration_test
2323
RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::bitcoind_forking_test
24+
RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::should_fix_2771
2425
RUN cargo test -- --test-threads 1 --ignored tests::neon_integrations::pox_integration_test
2526
RUN cargo test -- --test-threads 1 --ignored tests::bitcoin_regtest::bitcoind_integration_test
2627
RUN cargo test -- --test-threads 1 --ignored tests::should_succeed_handling_malformed_and_valid_txs

CHANGELOG.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,47 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to the versioning scheme outlined in the [README.md](README.md).
77

8+
## [2.0.11.2.0]
9+
10+
NOTE: This change resets the `testnet`. Users running a testnet node will need
11+
to reset their chain states.
12+
13+
### Added
14+
15+
- `clarity-cli` will now also print a serialized version of the resulting
16+
output from `eval` and `execute` commands. This serialization is in
17+
hexademical string format and supports integration with other tools. (#2684)
18+
- The creation of a Bitcoin wallet with BTC version `> 0.19` is now supported
19+
on a private testnet. (#2647)
20+
- `lcov`-compatible coverage reporting has been added to `clarity-cli` for
21+
Clarity contract testing. (#2592)
22+
- The `README.md` file has new documentation about the release process. (#2726)
23+
24+
### Changed
25+
26+
- This change resets the testnet. (#2742)
27+
- Caching has been added to speed up `/v2/info` responses. (#2746)
28+
29+
### Fixed
30+
31+
- PoX syncing will only look back to the reward cycle prior to divergence,
32+
instead of looking back over all history. This will speed up running a
33+
follower node. (#2746)
34+
- The UTXO staleness check is re-ordered so that it occurs before the RBF-limit
35+
check. This way, if stale UTXOs reached the "RBF limit" a miner will recover
36+
by resetting the UTXO cache. (#2694)
37+
- Microblock events were being sent to the event observer when microblock data
38+
was received by a peer, but were not emitted if the node mined the
39+
microblocks itself. This made something like the private-testnet setup
40+
incapable of emitting microblock events. Microblock events are now sent
41+
even when self-mined. (#2653)
42+
- A bug is fixed in the mocknet/helium miner that would lead to a panic if a
43+
burn block occurred without a sortition in it. (#2711)
44+
- Two bugs that caused problems syncing with the bitcoin chain during a
45+
bitcoin reorg have been fixed (#2771, #2780).
46+
- Documentation is fixed in cases where string and buffer types are allowed
47+
but not covered in the documentation. (#2676)
48+
849
## [2.0.11.1.0]
950

1051
This software update is our monthly release. It introduces fixes and features for both developers and miners.

Cargo.lock

Lines changed: 0 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ name = "block_limits"
4343
harness = false
4444

4545
[dependencies]
46-
tini = "0.2"
4746
rand = "=0.7.2"
4847
rand_chacha = "=0.2.2"
4948
serde = "1"

README.md

Lines changed: 86 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ cargo run --bin blockstack-cli publish b8d99fd45da58038d630d9855d3ca2466e8e0f89d
171171
You can observe the state machine in action locally by running:
172172

173173
```bash
174-
cargo testnet start --config=./testnet/stacks-node/conf/testnet-follower-conf.toml
174+
cargo stacks-node start --config=./testnet/stacks-node/conf/testnet-follower-conf.toml
175175
```
176176

177177
`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:
@@ -317,6 +317,91 @@ You can automatically reformat your commit via:
317317
cargo fmt --all
318318
```
319319

320+
## Non-Consensus Breaking Release Process
321+
322+
For non-consensus breaking releases, this project uses the following release process:
323+
324+
1. The release must be timed so that it does not interfere with a *prepare
325+
phase*. The timing of the next Stacking cycle can be found
326+
[here](https://stacking.club/cycles/next). A release to `mainnet` should happen
327+
at least 24 hours before the start of a new cycle, to avoid interfering
328+
with the prepare phase. So, start by being aware of when the release can
329+
happen.
330+
331+
1. Before creating the release, the release manager must determine the *version
332+
number* for this release. The factors that determine the version number are
333+
discussed in [Versioning](#versioning). We assume, in this section,
334+
that the change is not consensus-breaking. So, the release manager must first
335+
determine whether there are any "non-consensus-breaking changes that require a
336+
fresh chainstate". This means, in other words, that the database schema has
337+
changed. Then, the release manager should determine whether this is a feature
338+
release, as opposed to a hot fix or a patch. Given the answers to these
339+
questions, the version number can be computed.
340+
341+
1. The release manager enumerates the PRs or issues that would _block_
342+
the release. A label should be applied to each such issue/PR as
343+
`2.0.x.y.z-blocker`. The release manager should ping these
344+
issue/PR owners for updates on whether or not those issues/PRs have
345+
any blockers or are waiting on feedback.
346+
347+
1. The release manager should open a `develop -> master` PR. This can be done before
348+
all the blocker PRs have merged, as it is helpful for the manager and others
349+
to see the staged changes.
350+
351+
1. The release manager must update the `CHANGELOG.md` file with summaries what
352+
was `Added`, `Changed`, and `Fixed`. The pull requests merged into `develop`
353+
can be found
354+
[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
355+
*merge time*, so, when sorting by some proxy criterion, some care should
356+
be used to understand which PR's were *merged* after the last `develop ->
357+
master` release PR. This `CHANGELOG.md` should also be used as the description
358+
of the `develop -> master` so that it acts as *release notes* when the branch
359+
is tagged.
360+
361+
1. Once the blocker PRs have merged, the release manager will create a new tag
362+
by manually triggering the [`stacks-blockchain` Github Actions workflow](https://github.com/blockstack/stacks-blockchain/actions/workflows/stacks-blockchain.yml)
363+
against the `develop` branch, inputting the release candidate tag, `2.0.x.y.z-rc0`,
364+
in the Action's input textbox.
365+
366+
1. Once the release candidate has been built, and docker images, etc. are available,
367+
the release manager will notify various ecosystem participants to test the release
368+
candidate on various staging infrastructure:
369+
370+
1. Stacks Foundation staging environments.
371+
1. Hiro PBC regtest network.
372+
1. Hiro PBC testnet network.
373+
1. Hiro PBC mainnet mock miner.
374+
375+
The release candidate should be announced in the `#stacks-core-devs` channel in the
376+
Stacks Discord. For coordinating rollouts on specific infrastructure, the release
377+
manager should contact the above participants directly either through e-mail or
378+
Discord DM. The release manager should also confirm that the built release on the
379+
[Github releases](https://github.com/blockstack/stacks-blockchain/releases/)
380+
page is marked as `Pre-Release`.
381+
382+
1. The release manager will test that the release candidate successfully syncs with
383+
the current chain from genesis both in testnet and mainnet. This requires starting
384+
the release candidate with an empty chainstate and confirming that it synchronizes
385+
with the current chain tip.
386+
387+
1. If bugs or issues emerge from the rollout on staging infrastructure, the release
388+
will be delayed until those regressions are resolved. As regressions are resolved,
389+
additional release candidates should be tagged. The release manager is responsible
390+
for updating the `develop -> master` PR with information about the discovered issues,
391+
even if other community members and developers may be addressing the discovered
392+
issues.
393+
394+
1. Once the final release candidate has rolled out successfully without issue on the
395+
above staging infrastructure, the release manager tags 2 additional `stacks-blockchain`
396+
team members to review the `develop -> master` PR.
397+
398+
1. Once reviewed and approved, the release manager merges the PR, and tags the release
399+
via the [`stacks-blockchain` Github action]((https://github.com/blockstack/stacks-blockchain/actions/workflows/stacks-blockchain.yml))
400+
by clicking "Run workflow" and providing the release version as the tag (e.g.,
401+
`2.0.11.1.0`) This creates a release and release images. Once the release has been
402+
created, the release manager should update the Github release text with the
403+
`CHANGELOG.md` "top-matter" for the release.
404+
320405
## Copyright and License
321406

322407
The code and documentation copyright are attributed to blockstack.org for the year of 2020.

deployment/helm/stacks-blockchain/values.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -231,13 +231,13 @@ config:
231231
rpc_port: 18443
232232
peer_port: 18444
233233
ustx_balance:
234-
- address: STB44HYPYAT2BB2QE513NSP81HTMYWBJP02HPGK6
234+
- address: ST2QKZ4FKHAH1NQKYKYAYZPY440FEPK7GZ1R5HBP2
235235
amount: "10000000000000000"
236-
- address: ST11NJTTKGVT6D1HY4NJRVQWMQM7TVAR091EJ8P2Y
236+
- address: ST319CF5WV77KYR1H3GT0GZ7B8Q4AQPY42ETP1VPF
237237
amount: "10000000000000000"
238-
- address: ST1HB1T8WRNBYB0Y3T7WXZS38NKKPTBR3EG9EPJKR
238+
- address: ST221Z6TDTC5E0BYR2V624Q2ST6R0Q71T78WTAX6H
239239
amount: "10000000000000000"
240-
- address: STRYYQQ9M8KAF4NS7WNZQYY59X93XEKR31JP64CP
240+
- address: ST2TFVBMRPS5SSNP98DQKQ5JNB2B6NZM91C4K3P7B
241241
amount: "10000000000000000"
242242

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

264264
# [[ustx_balance]]
265-
# address = "STB44HYPYAT2BB2QE513NSP81HTMYWBJP02HPGK6"
265+
# address = "ST2QKZ4FKHAH1NQKYKYAYZPY440FEPK7GZ1R5HBP2"
266266
# amount = 10000000000000000
267267
# [[ustx_balance]]
268-
# address = "ST11NJTTKGVT6D1HY4NJRVQWMQM7TVAR091EJ8P2Y"
268+
# address = "ST319CF5WV77KYR1H3GT0GZ7B8Q4AQPY42ETP1VPF"
269269
# amount = 10000000000000000
270270
# [[ustx_balance]]
271-
# address = "ST1HB1T8WRNBYB0Y3T7WXZS38NKKPTBR3EG9EPJKR"
271+
# address = "ST221Z6TDTC5E0BYR2V624Q2ST6R0Q71T78WTAX6H"
272272
# amount = 10000000000000000
273273
# [[ustx_balance]]
274-
# address = "STRYYQQ9M8KAF4NS7WNZQYY59X93XEKR31JP64CP"
274+
# address = "ST2TFVBMRPS5SSNP98DQKQ5JNB2B6NZM91C4K3P7B"
275275
# amount = 10000000000000000
276276

277277
## Annotations to be added to the Configmap

docs/event-dispatcher.md

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ These events are sent to the configured endpoint at two URLs:
2727
This payload includes data related to a newly processed block,
2828
and any events emitted from Stacks transactions during the block.
2929

30+
If the transaction originally comes from the parent microblock stream
31+
preceding this block, the microblock related fields will be filled in.
32+
3033
Example:
3134

3235
```json
@@ -58,15 +61,21 @@ Example:
5861
"raw_tx": "0x808000000004008bc5147525b8f477f0bc4522a88c8339b2494db50000000000000002000000000000000001015814daf929d8700af344987681f44e913890a12e38550abe8e40f149ef5269f40f4008083a0f2e0ddf65dcd05ecfc151c7ff8a5308ad04c77c0e87b5aeadad31010200000000040000000000000000000000000000000000000000000000000000000000000000",
5962
"status": "success",
6063
"tx_index": 0,
61-
"txid": "0x3e04ada5426332bfef446ba0a06d124aace4ade5c11840f541bf88e2e919faf6"
64+
"txid": "0x3e04ada5426332bfef446ba0a06d124aace4ade5c11840f541bf88e2e919faf6",
65+
"microblock_sequence": "None",
66+
"microblock_hash": "None",
67+
"microblock_parent_hash": "None"
6268
},
6369
{
6470
"contract_abi": null,
6571
"raw_result": "0x03",
6672
"raw_tx": "0x80800000000400f942874ce525e87f21bbe8c121b12fac831d02f4000000000000000000000000000003e800006ae29867aec4b0e4f776bebdcea7f6d9a24eeff370c8c739defadfcbb52659b30736ad4af021e8fb741520a6c65da419fdec01989fdf0032fc1838f427a9a36102010000000000051ac2d519faccba2e435f3272ff042b89435fd160ff00000000000003e800000000000000000000000000000000000000000000000000000000000000000000",
6773
"status": "success",
6874
"tx_index": 1,
69-
"txid": "0x738e4d44636023efa08374033428e44eca490582bd39a6e61f3b6cf749b4214c"
75+
"txid": "0x738e4d44636023efa08374033428e44eca490582bd39a6e61f3b6cf749b4214c",
76+
"microblock_sequence": "3",
77+
"microblock_hash": "0x9304fcbcc6daf5ac3f264522e0df50eddb5be85df6ee8a9fc2384c54274daaac",
78+
"microblock_parent_hash": "0x4893ab44636023efa08374033428e44eca490582bd39a6e61f3b6cf749b474bd"
7079
}
7180
],
7281
"matured_miner_rewards": [
@@ -116,6 +125,63 @@ Example:
116125
PoX commitments during this block. These addresses may not actually receive rewards during
117126
this block if the block is faster than miners have an opportunity to commit.
118127

128+
### `POST /new_microblocks`
129+
130+
This payload includes data related to one or more microblocks that are either emmitted by the
131+
node itself, or received through the network.
132+
133+
Example:
134+
135+
```json
136+
{
137+
"parent_index_block_hash": "0x999b38d44d6af72703a476dde4cea683ec965346d9e9a7ded2d773fb4f257a3b",
138+
"events": [
139+
{
140+
"event_index": 1,
141+
"committed": true,
142+
"stx_transfer_event": {
143+
"amount": "1000",
144+
"recipient": "ST31DA6FTSJX2WGTZ69SFY11BH51NZMB0ZZ239N96",
145+
"sender": "ST3WM51TCWMJYGZS1QFMC28DH5YP86782YGR113C1"
146+
},
147+
"txid": "0x738e4d44636023efa08374033428e44eca490582bd39a6e61f3b6cf749b4214c",
148+
"type": "stx_transfer_event"
149+
}
150+
],
151+
"transactions": [
152+
{
153+
"contract_abi": null,
154+
"raw_result": "0x03",
155+
"raw_tx": "0x808000000004008bc5147525b8f477f0bc4522a88c8339b2494db50000000000000002000000000000000001015814daf929d8700af344987681f44e913890a12e38550abe8e40f149ef5269f40f4008083a0f2e0ddf65dcd05ecfc151c7ff8a5308ad04c77c0e87b5aeadad31010200000000040000000000000000000000000000000000000000000000000000000000000000",
156+
"status": "success",
157+
"tx_index": 0,
158+
"txid": "0x3e04ada5426332bfef446ba0a06d124aace4ade5c11840f541bf88e2e919faf6",
159+
"microblock_sequence": "3",
160+
"microblock_hash": "0x9304fcbcc6daf5ac3f264522e0df50eddb5be85df6ee8a9fc2384c54274daaac",
161+
"microblock_parent_hash": "0x4893ab44636023efa08374033428e44eca490582bd39a6e61f3b6cf749b474bd"
162+
},
163+
{
164+
"contract_abi": null,
165+
"raw_result": "0x03",
166+
"raw_tx": "0x80800000000400f942874ce525e87f21bbe8c121b12fac831d02f4000000000000000000000000000003e800006ae29867aec4b0e4f776bebdcea7f6d9a24eeff370c8c739defadfcbb52659b30736ad4af021e8fb741520a6c65da419fdec01989fdf0032fc1838f427a9a36102010000000000051ac2d519faccba2e435f3272ff042b89435fd160ff00000000000003e800000000000000000000000000000000000000000000000000000000000000000000",
167+
"status": "success",
168+
"tx_index": 1,
169+
"txid": "0x738e4d44636023efa08374033428e44eca490582bd39a6e61f3b6cf749b4214c",
170+
"microblock_sequence": "4",
171+
"microblock_hash": "0xfcd4fc34c6daf5ac3f264522e0df50eddb5be85df6ee8a9fc2384c5427459e43",
172+
"microblock_parent_hash": "0x9304fcbcc6daf5ac3f264522e0df50eddb5be85df6ee8a9fc2384c54274daaac"
173+
}
174+
],
175+
"burn_block_hash": "0x4eaabcd105865e471f697eff5dd5bd85d47ecb5a26a3379d74fae0ae87c40904",
176+
"burn_block_height": 331,
177+
"burn_block_timestamp": 1651301734
178+
}
179+
```
180+
181+
* `burn_block_{}` are the stats related to the burn block that is associated with the stacks
182+
block that precedes this microblock stream.
183+
* Each transaction json object includes information about the microblock the transaction was packaged into.
184+
119185
### `POST /new_mempool_tx`
120186

121187
This payload includes raw transactions newly received in the

0 commit comments

Comments
 (0)