diff --git a/src/pages/understand-stacks/integrate-stacking-delegation.md b/src/pages/understand-stacks/integrate-stacking-delegation.md index a341632e..12c16e47 100644 --- a/src/pages/understand-stacks/integrate-stacking-delegation.md +++ b/src/pages/understand-stacks/integrate-stacking-delegation.md @@ -117,6 +117,7 @@ const cycles = 3; const delegatorPrivateKey = 'd48f215481c16cbe6426f8e557df9b78895661971d71735126545abddcd5377001'; // the BTC address for reward payouts; either to the delegator or to the BTC address set by the account holder +// must start with "1" or "3". Native Segwit (starts with “bc1”) is not supported const delegatorBtcAddress = 'msiYwJCvXEzjgq6hDwD9ueBka6MTfN962Z'; // if you call this method multiple times in the same block, you need to increase the nonce manually diff --git a/src/pages/understand-stacks/integrate-stacking.md b/src/pages/understand-stacks/integrate-stacking.md index e044d465..0fed5fcd 100644 --- a/src/pages/understand-stacks/integrate-stacking.md +++ b/src/pages/understand-stacks/integrate-stacking.md @@ -181,6 +181,7 @@ With this input, and the data from previous steps, we can determine the eligibil ```js // user supplied parameters +// BTC address must start with "1" or "3". Native Segwit (starts with “bc1”) is not supported let btcAddress = '1Xik14zRm29UsyS6DjhYg4iZeZqsDa8D3'; let numberOfCycles = 3; diff --git a/src/pages/understand-stacks/stacking.md b/src/pages/understand-stacks/stacking.md index 9fa6092c..8f78c474 100644 --- a/src/pages/understand-stacks/stacking.md +++ b/src/pages/understand-stacks/stacking.md @@ -79,7 +79,7 @@ Stacks (STX) token holders do not automatically receive Stacking rewards. Instea - Commit to participation before a reward cycle begins - At the time of writing: Hold ~70,000 Stacks (STX) tokens - or pool with others to reach the minimum - Lock up Stacks (STX) tokens for a specified period -- Set a Bitcoin address to receive rewards +- Set a supported Bitcoin address to receive rewards (native segwit is not supported) Token holders will have a variety of providers and tools to support their participation in Stacking. Current providers, including 1-click options, pools, and more can be found [here](https://stacks.org/stacking#earn). @@ -101,6 +101,8 @@ Check out the [Stacking contract reference](/references/stacking-contract) to se ## Bitcoin address +!> You must provide a BTC address in one of two formats: [Legacy (P2PKH)](https://en.bitcoin.it/wiki/Transaction#Pay-to-PubkeyHash), which starts with "1". Or, [Segregated Witness / Segwit (P2SH)](https://en.bitcoin.it/wiki/Pay_to_script_hash), which starts with "3". The "Native Segwit" format (which starts with “bc1”), for example, is not supported. + The Stacking contract needs a special format for the bitcoin address (the reward address). This is required in order to ensure that miners will be able to correctly construct the bitcoin transaction containing the reward address. The address must be specified in the following format using the Clarity language: diff --git a/src/pages/understand-stacks/technical-specs.md b/src/pages/understand-stacks/technical-specs.md index 84042717..708f0611 100644 --- a/src/pages/understand-stacks/technical-specs.md +++ b/src/pages/understand-stacks/technical-specs.md @@ -39,6 +39,7 @@ description: Summary of technical specifications of Stacks 2.0 - Stacking threshold: 0.025% of the participating amount of STX when participation is between 25% and 100% and when participation is below 25%, the threshold level is always 0.00625 of the liquid supply of STX. - Delegation: An STX address can designate another address to participate in Stacking on its behalf. [Relevant section in SIP-007](https://github.com/stacksgov/sips/blob/main/sips/sip-007/sip-007-stacking-consensus.md#stacker-delegation). - Pooling: STX holders that individually do not meet the Stacking threshold can pool together their holdings to participate in Stacking. To do this, STX holders must set the (optional) reward address to the "delegate address." For more details, see [this reference](https://docs.blockstack.org/references/stacking-contract#delegate-stx). +- Only two types of BTC reward addresses are supported: [Legacy (P2PKH)](https://en.bitcoin.it/wiki/Transaction#Pay-to-PubkeyHash) or [Segregated Witness / Segwit (P2SH)](https://en.bitcoin.it/wiki/Pay_to_script_hash). Native Segwit is not supported. - Further reading: [Stacking](/stacks-blockchain/stacking) ## Accounts and Addresses diff --git a/src/pages/understand-stacks/transactions.md b/src/pages/understand-stacks/transactions.md index 26921845..6dc66820 100644 --- a/src/pages/understand-stacks/transactions.md +++ b/src/pages/understand-stacks/transactions.md @@ -61,12 +61,12 @@ Post-conditions are meant to be added by the user (or by the user's wallet softw Each transaction includes a field that describes zero or more post-conditions that must all be true when the transaction finishes running. The post-condition describes only properties of the owner of the asset before the transaction happend. For a transfer transaction, the post-condition is about the sender, for a burn transaction, the post-condition is about the previous owner. A post-condition includes the following information: -| **Attribute** | **Sample** | **Description** | -| ---------------------------------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------------- | -| [Principal](/write-smart-contracts/principals) | `SP2ZD731ANQZT6J4K3F5N8A40ZXWXC1XFXHVVQFKE` | original owner of the asset, can be a Stacks address or a contract | -| Asset id | `STX` | Asset to apply conditions to (could be Stacks, fungible, or non-fungible tokens) | -| Comparator | `>=` | Compare operation to be applied (could define "how much" or "whether or not the asset is owned") | -| Literal | `1000000` | Integer or boolean value used to compare instances of the asset against via the condition | +| **Attribute** | **Sample** | **Description** | +| ---------------------------------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------ | +| [Principal](/write-smart-contracts/principals) | `SP2ZD731ANQZT6J4K3F5N8A40ZXWXC1XFXHVVQFKE` | original owner of the asset, can be a Stacks address or a contract | +| Asset id | `STX` | Asset to apply conditions to (could be Stacks, fungible, or non-fungible tokens) | +| Comparator | `>=` | Compare operation to be applied (could define "how much" or "whether or not the asset is owned") | +| Literal | `1000000` | Integer or boolean value used to compare instances of the asset against via the condition | ### Evaluation modes