From 56d336a844c77ce450fd6da704efba4f6779d475 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Friedger=20M=C3=BCffke?= Date: Fri, 25 Sep 2020 15:50:18 +0200 Subject: [PATCH] Add stack blockchain client tutorial --- public/images/todos-public-registry.png | Bin 0 -> 45036 bytes .../images/todos-recent-activities-json.png | Bin 0 -> 94793 bytes public/images/todos-recent-activities.png | Bin 0 -> 34758 bytes public/images/todos-register-on-chain.png | Bin 0 -> 2920 bytes src/common/navigation.yaml | 1 + src/pages/build-an-app.md | 3 + .../smart-contracts/hello-world-tutorial.md | 2 + .../public-registry-tutorial.md | 612 ++++++++++++++++++ .../smart-contracts/signing-transactions.md | 7 +- vercel.json | 5 +- 10 files changed, 625 insertions(+), 5 deletions(-) create mode 100644 public/images/todos-public-registry.png create mode 100644 public/images/todos-recent-activities-json.png create mode 100644 public/images/todos-recent-activities.png create mode 100644 public/images/todos-register-on-chain.png create mode 100644 src/pages/smart-contracts/public-registry-tutorial.md diff --git a/public/images/todos-public-registry.png b/public/images/todos-public-registry.png new file mode 100644 index 0000000000000000000000000000000000000000..a65dc4c9d04ce73f670ff73b5047a0ba5cc78018 GIT binary patch literal 45036 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

-f71|So3dr9|89?b4j+Gqi2A9la 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 U{vSEdH~vz3_ChZIsqwr20Dzs(t^fc4 literal 0 HcmV?d00001 diff --git a/public/images/todos-recent-activities-json.png b/public/images/todos-recent-activities-json.png new file mode 100644 index 0000000000000000000000000000000000000000..6c12fc7148aeb0c76f169ae5ed7370287c1cf681 GIT binary patch literal 94793 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 L8R1GnUH|_8^7y0o literal 0 HcmV?d00001 diff --git a/public/images/todos-register-on-chain.png b/public/images/todos-register-on-chain.png new file mode 100644 index 0000000000000000000000000000000000000000..c2dfda9392795b8cb7ba8f05c0362ab930ef253d GIT binary patch literal 2920 zcmbuBXHXN^7Jx%d2pw7J#UKbsiA#b(LkpmQ2ntADrNn@Nr6v$Mgc<}y@S#Bgi3-RH zN(2F=1%jXuAksCFCRLFly+3?!=FPnQ^Y+c2ANSsK=bJm{%)NK!OTA=$UJxt|1^@tp z7Urh5004*F;hG5IJskI5`)?dh+&GklJ?Jo^K-Wo!xfI^a32ztRg(r9fV*uX%0e%=w z96A_-@yFc=z%Oz&85~0DKOvJ~j0YYY;IC+p^}_(p1uH`J6m5L*ioZgCg({wcoq-|F zz+j3dW_I=nA9y$b0B*G~HMS4S`~KO`%5_G*ZCU#_7DCX$`a%)E^MrC%QKvg5_--PH zz4*~S*Sl3j)3qvmp`9Nm|{#wK?Wj^Glpqdjc+*z(q+2AXqW=ZCQ8!bD;G{f6Mn=Zwp26-uz`G~L z*u*4ZNI6 z+^WuJD0w836(+f$B_AAznZ=DQmuOjijYpM?h>wSgdnG{MfVTX?ZYLEBuw~<4wofTb zjC=KeflO8wGfQ<&V#CCf6?B;Lx=p@m&E`V>p>=0-#_n;iR^NZvh|tJk6mKB}gqp)- zlhJ`nyem9Toy}`dje$I04^YG%1qZh?V7oN(2P?^!*v&>3Qr`Nz+)aLq*$jH6@Y$Sx zwIu6&XL3Rs7ju0*8M@kfj9cT0JD9BALWit!DXBSefm-h9&33gkAk$mjkvw=B+}*2N z{~C`ME-++FiC+*^2)aV(j0a|iJ!;0KKEl)~AU3pY^0kQ|->6*0K1ya$lOpe0L4XaWZW5f-84pm(hi` zGVS+sh0M~^Lg|wf3CWE6i*syAKsGc-*N)tY4%7ji{`}0*8F;S!kCfVB4xOM{(c}-9 zTDU|0cGcT)6yGN?p!U4MR(D?H%#6>x(hGwmkK=-sd`_xzZ))-Yf~>>1CUI zVK$b6U5Qr6`cgQTLo&O64I7~hx%;1wJ+-q(aJ}ke{lbWr@&)!~Wsm;N))YB&HgY|E z2%dMt)s^+TzyFV!hsr35HYjOzQM2Shv15A~l}a?C_2lXpcT62nsnod;3rKT6@>J^f@`7T{cb_))C-yqX!3tl+t z@dzNyzvS1vTE;=PK^cGzCEV4~5s;P8*a--`jw`i3JX)8lr+C~Mm@Z(%0_^4`-G!v9 z6#Dhf6Jo`@#Gr1EK9Ti(svGqGRVcuz!`PR4`eE_|c#isNo6bJ22kk&gdEKY722JqP#7Mhy2kNQJC%Kh3 zra}vXS86r{a(OWqFV|M|NsbVgAyE>z%ux=%xB4x|L8jv_!_l!GeZDSkCHm5@s-OOR zAu8VSkCB3>v#05=`fg2_y~j_mUXi|%OW(3CvYNnLodNl@@79PA;5kTzbn-qP{#$6h zYRfi6U~qk;)M&>VNE_R~IAnNu#Tls}hIkh>MWW01zVC+MVAT`|wPKJl{_u&1`Zwzu z^`$B=%jyfv^!kx-4TXyoyBSo_tU^L63~8P_3a>%+9A|$GBOJtWY5N$s_wYw5)TnVD zbhk7SQG=`38=ZzfdzZW(SapnnI?7S&sXalX_3Lrd%Ro3*q1z;u=ZLD120~?bL^T(l zzr@k5YD3?U+B_wEPmZx|H$N6J)%RibEBEY0`nKe*EwrcZ%`rpgeBLsvmK$xzM%kpK zvYlov@~c9^q(`lc13SM0 zI>A^QvWT-P$1jx#{cOEW$!}&(1jhF$fV@phCAe(y^rtKvOA3w?_SVYWO1UegHdn8Sm{?)WtLL(?Wv1=fI1X1NZX31nfeSwjVKv(qo7>x1r z;o$QT0tEzG)5sSChZJ~btQ!TfE0VGd!dJJL0MBiFJDB&eAh)e2c<8i*OQ-CsTD69b zIym1tZ&JEyo6n^gvGwDZnVu#csbz*GI9qvhjWoKPweh%{C_R^V=A>G!JfQ@xj6*l9 z3uUHd+nG^t9lu!`KbnZi)#7XlA)9%My5iTqRs|IrdN-z@nBd9y%Wm_R1n5st`=fHr z&z@GM6!eGbX%%9eKkZn_15|rg>snJx*Y-9qg(HhqqAkN+nNIBTu| literal 0 HcmV?d00001 diff --git a/src/common/navigation.yaml b/src/common/navigation.yaml index 731a6de5..fb5db0c4 100644 --- a/src/common/navigation.yaml +++ b/src/common/navigation.yaml @@ -12,6 +12,7 @@ sections: - path: /hello-world-tutorial - path: /counter-tutorial - path: /testing-contracts + - path: /public-registry-tutorial - path: /signing-transactions - path: /mining # is an overview page diff --git a/src/pages/build-an-app.md b/src/pages/build-an-app.md index c12e5c90..b3f7b8a6 100644 --- a/src/pages/build-an-app.md +++ b/src/pages/build-an-app.md @@ -80,6 +80,9 @@ on Blockstack are written in the [Clarity language](https://clarity-lang.org). V [@page-reference | inline] | /smart-contracts/counter-tutorial +[@page-reference | inline] +| /smart-contracts/public-registry-tutorial + ### Connect Connect is a JavaScript library developed by Blockstack PBC that makes it easy to integrate authentication, data storage diff --git a/src/pages/smart-contracts/hello-world-tutorial.md b/src/pages/smart-contracts/hello-world-tutorial.md index d4aa8820..a527a0f6 100644 --- a/src/pages/smart-contracts/hello-world-tutorial.md +++ b/src/pages/smart-contracts/hello-world-tutorial.md @@ -3,6 +3,8 @@ title: Hello, World! description: Learn the basics of Clarity and write a simple Hello World smart contract. duration: 18 minutes experience: beginners +tags: + - tutorial images: large: /images/pages/hello-world-app.svg sm: /images/pages/hello-world-sm.svg diff --git a/src/pages/smart-contracts/public-registry-tutorial.md b/src/pages/smart-contracts/public-registry-tutorial.md new file mode 100644 index 00000000..1c8af5a3 --- /dev/null +++ b/src/pages/smart-contracts/public-registry-tutorial.md @@ -0,0 +1,612 @@ +--- +title: Building a public registry +description: Learn how to read state from the Stacks blockchain. +duration: 60 minutes +experience: intermediate +tags: + - tutorial +images: + large: /images/pages/todo-app.svg + sm: /images/pages/todo-app-sm.svg +--- + +## Introduction + +The [Stacks Blockchain API](/references/stacks-blockchain-api) is an API that helps app developers to view and use the state of the Stacks 2.0 Blockchain. + +In this tutorial you will extend a to-do app to share individual lists publicly using the Stacks 2.0 blockchain. The to-do app was built in the [to-do app tutorial](/authentication/building-todo-app). The registry of shared to-do lists is implemented by a Clarity smart contract named [`todo-registry`](https://github.com/friedger/blockstack-todos/blob/tut/public-registry/contracts/todo-registry.clar). Data from this contract will be shown in the to-do app. The final app will look like this: + +![What you'll be creating in this tutorial](/images/todos-public-registry.png) + +By the end of this tutorial, you will... + +- Have observed transactions while they are added to the blockchain. +- Have consumed APIs to show recent transactions, data map entries and read-only functions. +- Have experienced serializing and deserializing Clarity values. + +## Prerequisites + +### Check the Stacks 2.0 status + +The Stacks 2.0 blockchain is currently in development and could experience resets and downtimes. To make sure you're not running into any challenges related to the status of the network, please open up the [Status Checker](http://status.test-blockstack.com/) +and confirm that all systems are operational. If some systems seem to have issues, it is best to wait until they are back up before you proceed with the next steps. + +Furthermore, the to-do app will interact with a smart contract deployed as `ST25GX7MJA4FGEYYH5E7EBW30BYA4VG4VC1XETXXZ.todo-registry`, please verify that this contract exists by searching for it in the sandbox of the [testnet explorer](https://testnet-explorer.blockstack.org/txid/ST25GX7MJA4FGEYYH5E7EBW30BYA4VG4VC1XETXXZ.todo-registry). + +Alternatively, you can take the [contract source code](https://github.com/friedger/blockstack-todos/blob/tut/step1/contracts/todo-registry.clar) and deploy the contract as described in the [hello world tutorial](/smart-contracts/hello-world-tutorial#step-5-deploy-the-contract). Then you just have to use your own contract address and name in this tutorial. + +### Tutorials + +You should have followed the instructions of the to-do app tutorial. You should have the code ready on your local machine. It is also helpful to have a basic understanding of Clarity as explained in the counter tutorial. If you are using mocknet or a new, empty testnet you can create transactions following the tutorial about signing transactions. + +[@page-reference | grid] +| /authentication/building-todo-app, /smart-contracts/counter-tutorial, /smart-contracts/signing-transactions + +### Check your to-do app + +In your code repository of the to-do app, launch the app by running the `start` command. + +``` +npm run start +``` + +In your browser, you should see the to-do app. +![What you the to-do app looks like so far](/images/todo-list-app.png) + +## Registering a public URL + +The Connect library (that is already used for authentication in the to-do app) provides also methods to create, sign and broadcast transactions to the Stacks 2.0 blockchain as explained in the signing transaction tutorial. + +### Step 1: Define contract + +The contract was already written and deployed to the blockchain. Its address and name is used often in the tutorial and therefore define some constants in the `constants.js` file by adding the following two lines: + +```js +// src/assets/constants.jsx +export const CONTRACT_ADDRESS = 'ST25GX7MJA4FGEYYH5E7EBW30BYA4VG4VC1XETXXZ'; +export const CONTRACT_NAME = 'todo-registry'; +``` + +### Step 2: Create registration component + +The user needs a UI component to conveniently create `register` transactions on the chain. +The contract function `register` takes two arguments: + +```clarity +(define-public (register (name (buff 30)) (url (buff 255))) ...) +``` + +Create a new file in the `src/components` folder named `PublicUrlRegistrar.js` and add the `PublicUrlRegistrar` component: + +```js +// src/components/PublicUrlRegistrar.jsx +import React from 'react'; +import { Text } from '@blockstack/ui'; +import { useConnect } from '@stacks/connect'; +import { bufferCVFromString } from '@stacks/transactions'; +import { CONTRACT_ADDRESS, CONTRACT_NAME } from '../assets/constants'; + +export const PublicUrlRegistrar = ({ userSession }) => { + const { doContractCall } = useConnect(); + const { username } = userSession.loadUserData(); + const url = `${document.location.origin}/todos/${username}`; + + const register = () => { + // do the contract call + doContractCall({ + contractAddress: CONTRACT_ADDRESS, + contractName: CONTRACT_NAME, + functionName: 'register', + functionArgs: [bufferCVFromString(username), bufferCVFromString(url)], + finished: data => { + console.log({ data }); + }, + }); + }; + return ( + <> + { + // register the public URL + register(); + }} + > + Register on-chain + + + ); +}; +``` + +It is a simple button that calls `doContractCall` method of the Connect library when clicked. The method makes an api call to the Stacks authenticator. The authenticator creates a contract call transaction that is signed by the user and then it is broadcasted to the Stacks 2.0 blockchain as explained in the [transaction signing tutorial](/smart-contracts/signing-transactions). + +Note how the arguments are created using `bufferCVFromString`. There are similar methods for all other Clarity types, like `uintCV` or `trueCV`. See the [documentation](https://github.com/blockstack/stacks-transactions-js#constructing-clarity-values) of the stacks-transactions library for more details. + +### Step 3: Integrate the component in the app + +To use the `PublicUrlRegistrar` component, open `Sharer.jsx` and add the following lines after the `Copy Link` text component of the `Sharer` component: + +```js +// src/components/Sharer.jsx + +``` + +Now, you should be able to register your public to-do list on the blockchain when you click on "Register on-chain". + +![How to register the public to-do list](/images/todos-register-on-chain.png) + +## Waiting for transactions + +The method `doContractCall` has a callback `finished` that is called after the user confirmed the transaction. This does not mean that the blockchain has accepted and included the transaction on the blockchain. It just means that the transaction was broadcasted to the network. The transaction id is returned in the `finished` callback as `data.txId`. This id can be used to find the transaction and its processing status on the blockchain. The [Stack Blockchain API client library](https://blockstack.github.io/stacks-blockchain-api/client/index.html) provides a convenient method to subscribe to the progress using web sockets. + +### Step 1: Add depedency + +Add the Stacks Blockchain API client library to `package.json` in the root folder of the to-do list app: + +```bash +npm add @stacks/blockchain-api-client +``` + +### Step 2: Store the transaction id + +Create a react state variable in the `PublicUrlRegistrar` component that holds the transaction id. + +```js +// src/components/PublicUrlRegistrar.jsx + +const [txId, setTxId] = useState(); +``` + +and set the value in the `finished` callback + +```js +// src/components/PublicUrlRegistrar.jsx + +finished: data => { + console.log(data); + setTxId(data.txId); + }, +``` + +### Step 3: Connect to web socket + +Add an import for `connectWebSocketClient`: + +```js +import { connectWebSocketClient } from '@stacks/blockchain-api-client'; +``` + +Then subscribe for updates of the transaction status by creating a web socket client using `connectWebSocketClient`. Add a call to `client.subscribeTxUpdates` with the transaction id `txId` and a callback function. This callback function is called whenever the transaction status changes. The subscribe process needs to be done only once at the start of the app. Therefore, add it into an effect hook that only depends on the `txId`. + +```js +useEffect(() => { + let sub; + const subscribe = async txId => { + const client = await connectWebSocketClient('ws://stacks-node-api.krypton.blockstack.org/'); + sub = await client.subscribeTxUpdates(txId, update => { + console.log(update); + }); + console.log({ client, sub }); + }; + subscribe(txId); +}, [txId]); +``` + +You will see update logs in the console. The received object is a transaction status object and has a `tx_status` property. If the status is `success` the transaction was processed and added to the blockchain. + +## Reading the registration details + +Now that the transaction was processed sucessfully, you can read information about a transaction, in particular, the registry id that was returned by the transaction. The id (`registry-id`) is an unsigned integer. + +```clarity +(define-public (register ...) + ... + (ok registry-id) +) +``` + +This information should be shown in a new `Transaction` component using the `TransactionsApi` object provided by the client library. + +### Step 1: Create a component representing the register transaction + +Create a new file `Transaction.jsx` in folder `src/components` and add the following lines: + +```jsx +import React, { useCallback, useEffect, useState } from 'react'; +import { Text } from '@blockstack/ui'; +import { TransactionsApi } from '@stacks/blockchain-api-client'; + +export const Transaction = ({ txId }) => { + const [transactionDetails, setTransactionDetails] = useState(); + + const fetchTransactionDetails = useCallback(async () => { + // fetch transaction from api + }, [txId]); + + useEffect(() => { + void fetchTransactionDetails(); + }, [fetchTransactionDetails]); + + return transactionDetails ? ( + + Registration: TODO + + ) : null; +}; +``` + +### Step 2: Use TransactionsApi + +Information about transactions can be retrieved using the `TransactionsApi` object. Add a definition to the top of the `Transaction.jsx` file: + +```js +const transcationsApi = new TransactionsApi(); +``` + +-> Note: The contructor takes a configuration argument. It can be used to set the server url. By default, it is the URL for the node hosted by Hiro PBC. + +Then in the `fetchTransactionDetails` method add a call to `getTransactionById`. The result is detailed data about the transaction: the status, when it was created, the type, the contract call details, the transaction result and many more. + +```js +// fetch transaction from api +if (txId) { + const txDetails = await transcationsApi.getTransactionById({ txId }); + setTransactionDetails(txDetails); +} +``` + +### Step 3: Display transaction details + +The text of the transaction details can now be updated with real data. Replace the "TODO" with some result data. For now, let's just show the JSON. Handling Clarity values properly is show in the next section. + +```js + + Registration: Result {JSON.stringify(transactionDetails.tx_result)} + +``` + +### Step 4: Use transaction component + +To bring the pieces together, the `Transaction` component should be added to the app. For this, extend the `PublicUrlRegistrar` first so that it can hand over the transaction id when the register transaction was successfully processed. + +Add a react state variable `success` after the `txId` state variable + +```js +// src/components/PublicUrlRegistrar.jsx +const [success, setSuccess] = useState(); +``` + +and set it to true in the update callback if then transaction update status is `success` + +```js +sub = await client.subscribeTxUpdates(txId, update => { + console.log(update); + setSuccess(update.tx_status === 'success'); +}); +``` + +Finally, add the `Transaction` component at the end of the `PublicUrlRegistrar` component if the transaction was successfully processed. + +```js +{ + success && ; +} +``` + +You should now be able to see an update in the UI if the transaction was successfully added to the blockchain. In real apps, the progress status could be indicated by colors or other UI elements. + +## Show recent activities + +Similar to the `TransactionApi`, the `AccountsApi` provides easy access to account-related information. The api will be used in this section to show recent activities for the to-do list registry. + +### Step 1: Create recent activities component + +Create a new file `RecentActivities.jsx` in folder `src/components` and add the following lines: + +```js +import React, { useCallback, useEffect, useState } from 'react'; +import { Text } from '@blockstack/ui'; +import { AccountsApi } from '@stacks/blockchain-api-client'; +import { CONTRACT_ADDRESS, CONTRACT_NAME } from '../assets/constants'; + +const accountsApi = new AccountsApi(); + +export const RecentActivities = () => { + const [activities, setActivities] = useState(); + + const fetchActivities = useCallback(async () => { + // fetch activities + }, []); + + useEffect(() => { + void fetchActivities(); + }, [fetchActivities]); + + console.log({ activities }); + + return activities && activities.length > 0 ? ( + + + + Public To-Do List Registry + + + Recent Activities:{' '} + {activities.map((activity, key) => { + {JSON.stringify(activity)}; + })} + + + + ) : null; +}; +``` + +Next, add the following line to `Apps.jsx` after the `SignIn` and `TodoList` fragment: + +```js +

+ ... + +
+``` + +### Step 2: Use AccountsApi + +Now, add a call to the `getAccountTransactions` method. This method can be used for users and for contracts. It returns transactions that are related to the given account. The default is to return the last 20 transactions. + +```js +const fetchActivities = useCallback(async () => { + // fetch activities + const response = await accountsApi.getAccountTransactions({ + principal: `${CONTRACT_ADDRESS}.${CONTRACT_NAME}`, + }); + console.log(response); +}, []); +``` + +-> For users, the principal argument is just the user's stacks address. + +### Step 3: Filter for successful contract calls + +Contract calls could fail with an error, e.g. if the public url is too long. The transactions should be filtered for successful contract calls: + +```js +const contractCallsOnly = r => { + console.log(r); + return r.tx_status === 'success' && r.tx_type === 'contract_call'; +}; +``` + +Then apply the filter to the response result and store it in the `activities` variable. +The final callback `fetchActivities` looks like this: + +```js +const fetchActivities = useCallback(async () => { + // fetch activities + const response = await accountsApi.getAccountTransactions({ + principal: `${CONTRACT_ADDRESS}.${CONTRACT_NAME}`, + }); + console.log(response); + setActivities(response.results.filter(contractCallsOnly)); +}, []); +``` + +You should now see a list of hex strings representing the transactions. + +![How recent activities as json look](/images/todos-recent-activities-json.png) + +### Step 4: Extract registry IDs + +For the last step, the returned details need to be decoded and and formatted appropriately to be readable. The `register` function returns the transaction id as a result. As mentioned above, it is an unsigned int (`uint`) encoded as a hex string (`tx_result.hex`) like `0x0100000000000000000000000000000001`. The method `hexToCV` decodes the string and creates a `ClarityValue` object. In this case it is an object of type `UIntCV`. + +The client library defines types for all Clarity types. The corresponding type gives access to more properties. For example, `UIntCV` has a `value` property for its number value. + +```js +hexToCV(tx_result.hex).value; +``` + +You can also use `cvToString` for a simple conversion of the `ClarityValue` object to a string + +```js +cvToString(hexToCV(tx_result.hex)); +``` + +### Step 5: Display register details + +In addition to `tx_result`, the transaction object also contains a timestamp (`burn_block_time_iso`) and a `contract_call` object. The contract call object has properties like the function name (`contract_call.function_name`). Using this, the final representation for `register` transactions should contain the deserialized registry id and the timestamp. It could look like this: + +```js +{ + activities.map((activity, key) => { + if (activity.contract_call.function_name === 'register') { + const result = hexToCV(activity.tx_result.hex.substr(2)); + return ( + + Entry {result.value.toString()} was registered at {activity.burn_block_time_iso}.{' '} + + ); + } else { + return null; + } + }); +} +``` + +-> Note: The `AccountsApi` and other Api methods provide parameters to page through the results using `limit` and `offset`. See [the docs](https://blockstack.github.io/stacks-blockchain-api/client/interfaces/getaccounttransactionsrequest.html) for more details. + +=> Congratulations! You just implemented a list of recent activities that was fetched from the blockchain. + +![How recent activities look like](/images/todos-recent-activities.png) + +## Fetch the first to-do list + +There are two other ways to get state information from the blockchain: read-only functions and data map entries. Read-only functions were already discussed in the [Clarity counter tutorial](/smart-contracts/counter-tutorial). They do not require a transaction to complete. Data maps in Clarity are maps that can be read by any user. See the [Clarity reference](https://docs.blockstack.org/references/language-clarity#define-map) for more details. + +The `todo-registry` contract defines a read-only function `owner-of?` that returns the owner of a registry entry and a data map for details about entries: + +```clarity +(define-read-only (owner-of (registration-id uint)) ... ) + +(define-map registry + ((registry-id uint)) + ( + (name (buff 30)) + (url (buff 255)) + ) +) +``` + +Let's add the owner information and the details for the first ever registered to-do list (with `registry-id` 1) to the `RecentActivities` component. The `SmartContractsApi` of the client library provides methods to read these data from the blockchain. + +### Step 1: Add state variable for first registration + +At first, add a new state variable `firstRegistration`. + +```js +// src/components/RecentActvities.jsx + +const [firstRegistration, setFirstRegistration] = useState(); +``` + +Then, define a new callback `fetchRegistration` that will contain the calls to the blockchain and update the state variable. Add the following code after the `fetchRegistration` callback and update the effect hook. + +```js +const fetchRegistration = useCallback(async () => { + // fetch newest registration + // fetch owner + // fetch public URL and name +}); + +useEffect(() => { + void Promise.all([fetchActivities(), fetchRegistration()]); +}, [fetchActivities, fetchRegistration]); +``` + +### Step 2: Query owner of the first to-do list + +To query the read-only functions of the smart contract, a `SmartContractsApi` object needs to be created, in the same way as the `AccountsApi` object. + +```js +const smartContractsApi = new SmartContractsApi(); +``` + +Use that api object in the `fetchRegistration` callback to call the read-only method `owner-of?` like this: + +```js +const fetchRegistration = useCallback(async () => { + const ownerResponse = await smartContractsApi.callReadOnlyFunction({ + contractAddress: CONTRACT_ADDRESS, + contractName: CONTRACT_NAME, + functionName: 'owner-of?', + readOnlyFunctionArgs: ReadOnlyFunctionArgsFromJSON({ + sender: CONTRACT_ADDRESS, + arguments: [cvToHex(uintCV(1))], + }), + }); + console.log(ownerResponse); +}); +``` + +The arguments of the read-only function are provided as an array of hex encoded `ClarityValue`s. +The helper method `cvToHex` converts a `ClarityValue` into a hex encoded string. It is the reverse function of `hexToCV` that was used to decode the transaction response. +The `sender` can be any stacks address and is not relevant for the `owner-of?` function. + +### Step 3: Deserialize the response + +A read-only function call returns a response object with an `okay` property and it's `true`, it contains a `result` property with the hex encoded Clarity value. Otherwise the `cause` property describes the error. The helper methods `hexToCV` is used again to decode the result. The result is an optional address of type `SomeCV`. It has a property `value` that contains the owner address. Using `cvToString` with `ownerCV.value` returns the address as a string: + +```js +if (ownerResponse.okay) { + const ownerCV = hexToCV(ownerResponse.result); + const owner = cvToString(ownerCV.value); +} +``` + +### Step 4: Fetch a map entry + +For the registry details, the data map `registry` of the contract can be queried to receive the username and the registered url. The method `SmartContractsApi.getDataMapEntry` method expects a hex encoded string representing the key. The map key always consists of a Clarity tuple. For the `registry` map, the only value of the tuple is the `registry-id`. Therefore, the hex string is created like this: + +```js +const key = cvToHex(tupleCV({ 'registry-id': uintCV(1) })); +``` + +With the encoded key, add the following lines to the `fetchRegistry` callback + +```js +const mapEntryResponse = await smartContractsApi.getContractDataMapEntry({ + contractAddress: CONTRACT_ADDRESS, + contractName: CONTRACT_NAME, + mapName: 'registry', + key, +}); +console.log({ mapEntryResponse }); +``` + +### Step 5: Deserialized data map entry + +The response object has a property `data` that contains the hex encoded result. If the key was invalid the result is an object of type `OptionalNone`. Otherwise, the result is of type `OptionalSome` and its `value` property contains the map entry. It is always a tuple (type `TupleCV`). Its `data` property contains the registered name and public url as `ClarityValue`s. + +Therefore the deserialization of the result looks like this: + +```js +const optionalMapEntry = hexToCV(mapEntryResponse.data); + +if (optionalMapEntry.type === ClarityType.OptionalSome) { + const mapEntryCV = optionalMapEntry.value; + const registryData = mapEntryCV.data; +} +``` + +Add this to the `fetchRegistry` callback and then update the react state variable with all the gathered data. Instead of using `cvToString` you can also access the buffer value directly and convert it to a string. This is useful for the `url` because `cvToString` put the string in quotes. + +```js +setFirstRegistration({ + owner, + name: cvToString(registryData.name), + url: registryData.url.buffer.toString(), +}); +``` + +### Step 6: Display registry entry + +Update the UI to display the data of the first registry entry. + +```jsx +{ + firstRegistration && ( + <> + + First registration in 'Public To-Do List registry' by + + +
{firstRegistration.name}{' '} + + using address {firstRegistration.owner} +
+ + ); +} +``` + +=> Congratulations! You just called read-only functions and map entries from the public registry — without managing a server. + +With the completion of this tutorial, you: + +- Observed the progress of transaction processing +- Consumed APIs to show recent transactions, data map entries and read-only functions +- Experienced serializing and deserializing Clarity values + +The full source code and smart contract code for the public registry is available at [blockstack-todo-registry](https://github.com/friedger/blockstack-todos). diff --git a/src/pages/smart-contracts/signing-transactions.md b/src/pages/smart-contracts/signing-transactions.md index 53034cc5..b1e98034 100644 --- a/src/pages/smart-contracts/signing-transactions.md +++ b/src/pages/smart-contracts/signing-transactions.md @@ -1,8 +1,13 @@ --- title: Signing transactions -description: Learn how to sign transactions using Blockstack Connect. +description: Learn how to sign transactions using Blockstack Connect experience: advanced duration: 30 minutes +tags: + - tutorial +images: + large: /images/pages/smart-contracts.svg + sm: /images/pages/smart-contracts-sm.svg --- ## Introduction diff --git a/vercel.json b/vercel.json index c73478f0..affbac84 100644 --- a/vercel.json +++ b/vercel.json @@ -1,6 +1,3 @@ { - "github": { - "enabled": false, - "silent": true - } + "github": {} }