From 531e4f2a057c45a68e188789d7bcb6e8f134742d Mon Sep 17 00:00:00 2001 From: Alexander Graebe Date: Sun, 24 Jan 2021 10:42:01 -0800 Subject: [PATCH] docs: add delegation tutorial --- public/images/stacking-view.png | Bin 106113 -> 0 bytes src/common/navigation.yaml | 1 + .../understand-stacks/integrate-stacking.md | 22 +-- .../integration-stacking-delegation.md | 135 ++++++++++++++++++ src/pages/understand-stacks/stacking.md | 11 +- 5 files changed, 145 insertions(+), 24 deletions(-) delete mode 100644 public/images/stacking-view.png create mode 100644 src/pages/understand-stacks/integration-stacking-delegation.md diff --git a/public/images/stacking-view.png b/public/images/stacking-view.png deleted file mode 100644 index c7409e4a2185e831044c6ba18700231881db2462..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106113 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%0DB$^;dc+*oBO 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 Try the [Stacks Wallet](https://www.hiro.so/wallet) to experience the Stacking flow as a token holder ## Introduction -!> The Stacking implementation is still in development and could change in the coming weeks - In this tutorial, you'll learn how to integrate Stacking by interacting with the respective smart contract, as well as reading data from the Stacks blockchain. This tutorial highlights the following functionality: @@ -313,7 +311,7 @@ const stackingStatus = await client.getStatus(); To display the unlocking time, you need to use the `firstRewardCycle` and the `lockPeriod` fields. --> Coming soon: how to obtain rewards paid out to the stacker? how to find out if an account has stacked tokens? +// TODO: Rewards and get-stacker-info **Congratulations!** With the completion of this step, you successfully learnt how to ... @@ -322,19 +320,3 @@ To display the unlocking time, you need to use the `firstRewardCycle` and the `l - Verify stacking eligibility - Add stacking action - Display stacking status - -## Implementing delegation - -~> Right now, the tooling does not support the delegation flow. However, the delegation flow can be implemented with contract calls to the Stacking contract - -Stacking delegation requires you to implement a different flow. Until the provided tooling supports this flow, it is best to implement the required contract calls directly. - -Below is a description of contract calls required to integrate delegation: - -1. Account holders call the [`delegate-stx`](/references/stacking-contract#delegate-stx) method and provide the delegator address, the amount accessible to the delegator, the address rewards should be send to, and the burn height at which the delegation relationship should be terminated. This needs to happen only once. The account holder can specify a delegation amount that is higher that their balance and must hold the expected amount when locking is happening -2. For each delegation relationship that was created, the delegator calls the [`delegate-stack-stx`](/references/stacking-contract#delegate-stack-stx) method to lock up the STX token from the account holder. This method must be called during each cycle (unless specified for multiple cycles) and until the delegator locked up enough STX tokens required to participate in Stacking. This method will check the account balances. Once successfully executed, the STX tokens in the account will be locked up -3. With pooling being completed and the minimum STX token threshold reached, the delegator calls the [`stack-aggregation-commit`](/references/stacking-contract#stack-aggregation-commit) to confirm participation in the next cycle(s) - -In case STX token holders want to terminate the delegation relationship before it terminates as planned, they can call the [`revoke-delegate-stx`](/references/stacking-contract#revoke-delegate-stx) method. - --> A delegator doesn't need to _own_ a minimum amount ot STX token to reach the threshold. However, they need funds to pay for transaction fees on the network. diff --git a/src/pages/understand-stacks/integration-stacking-delegation.md b/src/pages/understand-stacks/integration-stacking-delegation.md new file mode 100644 index 00000000..ff16747f --- /dev/null +++ b/src/pages/understand-stacks/integration-stacking-delegation.md @@ -0,0 +1,135 @@ +--- +title: Integrate Stacking delegation +description: Learn how to add Stacking delegation capabilities to your wallet or exchange +icon: TestnetIcon +experience: advanced +duration: 60 minutes +tags: + - tutorial +images: + sm: /images/pages/stacking-rounded.svg +--- + +## Introduction + +In this tutorial, you'll learn how to integrate the Stacking delegation flow by interacting with the respective smart contract, as well as reading data from the Stacks blockchain. + +This tutorial highlights the following functionality: + +- As an account holder: delegate STX tokens +- As an account holder: revoke delegation rights +- As a delegator: Stack STX toksn on behalf of the account holder +- As a delegator: Commit to Stacking with all delegated STX tokens + +## Requirements + +First, you'll need to understand the [Stacking delegation mechanism](/understand-stacks/stacking). + +You'll also need [NodeJS](https://nodejs.org/en/download/) `12.10.0` or higher to complete this tutorial. You can verify your installation by opening up your terminal and run the following command: + +```bash +node --version +``` + +Finally, you need to have access to at least two accounts (STX account holder and delegator). For testing purposes on the testnet, you can use the CLI to generate them: + +```shell +stacks make_keychain -t > account.json +stacks make_keychain -t > delegator.json +``` + +You can use the faucet to obtain testnet STX tokens for the test account. Replace below with your address: + +```shell +curl -XPOST "https://stacks-node-api.testnet.stacks.co/extended/v1/faucets/stx?address=&stacking=true" +``` + +## Overview + +In this tutorial, we'll implement the Stacking delegation flow laid out in the [Stacking guide](/understand-stacks/stacking#delegation). + +## Step 1: Integrate libraries + +Install the stacking, network, transactions libraries and bn.js for large number handling: + +```shell +npm install --save @stacks/stacking @stacks/network @stacks/transactions bn.js +``` + +-> See additional [Stacking library reference](https://github.com/blockstack/stacks.js/tree/master/packages/stacking) + +## Step 2: Delegate STX tokens + +To get started, delegate STX tokens as an account holder: + +```js +import { getNonce } from '@stacks/transactions'; +import { StacksTestnet, StacksMainnet } from '@stacks/network'; +import { StackingClient } from '@stacks/stacking'; +import BN from 'bn.js'; + +const network = new StacksTestnet(); +// for mainnet: const network = new StacksMainnet(); +const client = new StackingClient(address, network); + +// how much to stack, in microSTX +const amountMicroStx = new BN(100000000000); +// STX address of the delegator +const delegateTo = 'ST2MCYPWTFMD2MGR5YY695EJG0G1R4J2BTJPRGM7H'; +// burn height at which the delegation relationship should be revoked (optional) +const untilBurnBlockHeight = 5000; +// a BTC address for reward payouts +const poxAddress = 'mvuYDknzDtPgGqm2GnbAbmGMLwiyW3AwFP'; +// private key of the account holder for transaction signing +const privateKey = 'd48f215481c16cbe6426f8e557df9b78895661971d71735126545abddcd5377001'; + +const delegetateResponse = await client.delegateStx({ + amountMicroStx, + delegateTo, + untilBurnBlockHeight, // optional + poxAddress, // optional + privateKey, +}); + +// { +// txid: '0xf6e9dbf6a26c1b73a14738606cb2232375d1b440246e6bbc14a45b3a66618481', +// } +``` + +This methos calls the [`delegate-stx`](/references/stacking-contract#delegate-stx) method of the Stacking contract. + +-> To avoid handling private keys, it is recommended to use the [Stacks Wallet](https://www.hiro.so/wallet) to sign the delegation transaction + +## Step 3: + +For each delegation relationship that was created, the delegator calls the [`delegator-stack-stx`](/references/stacking-contract#delegate-stack-stx) method to lock up the STX token from the account holder. This method must be called until the delegator locked up enough STX tokens required to participate in Stacking + +## Step 4: + +With pooling being completed and the minimum STX token threshold reached, the delegator calls the [`stack-aggregation-commit`](/references/stacking-contract#stack-aggregation-commit) to confirm participation in the next cycle(s) + +**Congratulations!** With the completion of this step, you successfully learnt how to ... + +- Generate Stacks accounts +- Display stacking info +- Verify stacking eligibility +- Add stacking action +- Display stacking status + +## Optional: Revoke delegation rights + +Delegators will be able to Stack STX tokens on the account holder's behalf until either the set burn height is reached or the account holder revokes the rights. + +To revoke delegation rights, the account holder can call the `revokeDelegatestx` method. + +```js +const revokeResponse = await client.revokeDelegateStx(privateKey); + +// { +// txid: '0xf6e9dbf6a26c1b73a14738606cb2232375d1b440246e6bbc14a45b3a66618481', +// } +``` + +This method calls the [`revoke-delegate-stx`](/references/stacking-contract#revoke-delegate-stx) method of the Stacking contract. + +-> To avoid handling private keys, it is recommended to use the [Stacks Wallet](https://www.hiro.so/wallet) to sign the revoke transaction diff --git a/src/pages/understand-stacks/stacking.md b/src/pages/understand-stacks/stacking.md index 70aa4933..739aac77 100644 --- a/src/pages/understand-stacks/stacking.md +++ b/src/pages/understand-stacks/stacking.md @@ -44,14 +44,17 @@ The Stacking flow is different for delegation use cases: ![stacking flow](/images/stacking-delegation-illustration.png) -- Before Stacking can be initiated for a token holder, the delegator needs to be granted permission to Stack on behalf of the account owner. The permission is restricted to the maximum amount the delegator is allowed to Stack. An account can only be associated with one single delegator -- The account has to define the delegation relationship. They can optionally restrict the reward address that must be used and the expiration burn block height for the permission, thus limiting the time a delegator has permission to Stack +- Before Stacking can be initiated for a token holder, the delegator needs to be granted permission to Stack on behalf of the account owner. The permission is restricted to the maximum amount the delegator is allowed to Stack. The maximum amount is not limited by the available funds and can be set much higher. An account can only be associated with one single delegator +- The account has to define the delegation relationship. They can optionally restrict the Bitcoin reward address that must be used for payouts, and the expiration burn block height for the permission, thus limiting the time a delegator has permission to Stack - Delegators have to lock Stacks from different accounts ("pooling phase") until they reach the minimum amount of Stacks required to participate in Stacking -- Once a delegator locks enough STX tokens, they can finalize and commit their participation in the next reward cycle(s). The delegator must send a commitment for each account they want to include +- Once a delegator locks enough STX tokens, they can finalize and commit their participation in the next reward cycle(s) - Certain delegation relationships may allow the STX holder to receive the payout directly from the miner (step 5/6) - The termination of the delegation relationship can either happen automatically based on set expiration rules or by actively revoking delegation rights --> Note that the delegation flow allows reward addresses to be used multiple times. This is not the case for the individual Stacking flow. +If you would like to implement this flow in your own wallet, exchange, or any other application, please have a look at this tutorial: + +[@page-reference | inline] +| /understand-stacks/integrate-stacking-delegation ## PoX mining