From 10a745f635197603819a4f9f53b735bb24c671f3 Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 14 Feb 2026 16:14:56 +0600 Subject: [PATCH 01/10] docs(clarinet): add exit instructions, common mistakes, and next steps to quickstart --- docs/build/clarinet/quickstart.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/build/clarinet/quickstart.md b/docs/build/clarinet/quickstart.md index 7fa0907f30..df82a60d96 100644 --- a/docs/build/clarinet/quickstart.md +++ b/docs/build/clarinet/quickstart.md @@ -137,5 +137,30 @@ $ (contract-call? .counter count-up) $ (contract-call? .counter get-count tx-sender) u2 ``` + +{% hint style="info" %} +**Exiting the Console**: To exit the Clarinet console, type `exit` or press `Ctrl+C`. Your contract state will be reset when you restart the console. +{% endhint %} {% endstep %} {% endstepper %} + +*** + +## Common Beginner Mistakes + +| Mistake | Solution | +| ------- | -------- | +| Forgetting the `.` prefix when calling contracts | Always use `.contract-name` format for local contracts | +| Using wrong types (e.g., `1` instead of `u1`) | Use `u` prefix for unsigned integers in Clarity | +| Missing parentheses | Every Clarity expression must be wrapped in parentheses | + +*** + +## Next Steps + +Now that you've built your first counter contract, here are some recommended paths to continue learning: + +* **[Project Development](project-development.md)** - Learn about the full Clarinet development workflow +* **[Unit Testing](testing-with-clarinet-sdk.md)** - Write comprehensive tests for your contracts +* **[Contract Deployment](contract-deployment.md)** - Deploy your contracts to testnet and mainnet +* **[Clarity Crash Course](../get-started/clarity-crash-course.md)** - Deep dive into Clarity language fundamentals From 0d56548f483062706844b803e6f35c9dfcf5a142 Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 14 Feb 2026 16:14:56 +0600 Subject: [PATCH 02/10] docs(stacks.js): add package descriptions table and quick example to overview --- docs/build/stacks.js/overview.md | 40 +++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/docs/build/stacks.js/overview.md b/docs/build/stacks.js/overview.md index 0c7e9dcc28..3ccb721356 100644 --- a/docs/build/stacks.js/overview.md +++ b/docs/build/stacks.js/overview.md @@ -57,14 +57,38 @@ npm install @stacks/common Other available packages include: -* `@stacks/auth` -* `@stacks/encryption` -* `@stacks/network` -* `@stacks/stacking` -* `@stacks/transactions` -* `@stacks/bns` -* `@stacks/common` -* `@stacks/wallet-sdk` +| Package | Description | +| ------- | ----------- | +| `@stacks/auth` | Authentication and identity management for Stacks applications | +| `@stacks/encryption` | Encryption utilities for secure data handling | +| `@stacks/network` | Network configuration for mainnet, testnet, and devnet | +| `@stacks/stacking` | Stacking (PoX) operations and delegation management | +| `@stacks/transactions` | Transaction building, signing, and broadcasting | +| `@stacks/bns` | Bitcoin Name System (BNS) name registration and lookup | +| `@stacks/common` | Shared utilities and types across Stacks.js packages | +| `@stacks/wallet-sdk` | HD wallet generation and account derivation | + +*** + +## Quick Example + +Here's a simple example of reading data from a smart contract: + +```typescript +import { fetchCallReadOnlyFunction } from '@stacks/transactions'; +import { STACKS_MAINNET } from '@stacks/network'; + +const result = await fetchCallReadOnlyFunction({ + contractAddress: 'SP2C1WREHGM75C7TGFAEJPFKTFTEGZKF6F9D4RK2D', + contractName: 'my-contract', + functionName: 'get-counter', + functionArgs: [], + network: STACKS_MAINNET, + senderAddress: 'SP2C1WREHGM75C7TGFAEJPFKTFTEGZKF6F9D4RK2D', +}); + +console.log(result); +``` *** From eb40eea5534951597ae9e12c1467c8552e7f01ce Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 14 Feb 2026 16:14:57 +0600 Subject: [PATCH 03/10] docs(learn): add prerequisites section to Learn README for better onboarding --- docs/learn/README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/learn/README.md b/docs/learn/README.md index 70d5cf80d4..f0b934b336 100644 --- a/docs/learn/README.md +++ b/docs/learn/README.md @@ -23,9 +23,17 @@ layout: For the official Stacks whitepaper: [https://stacks-network.github.io/stacks/stacks.pdf](https://stacks-network.github.io/stacks/stacks.pdf) {% endhint %} +{% hint style="success" %} +**Prerequisites for this section:** +- Basic understanding of blockchain concepts (blocks, transactions, consensus) +- Familiarity with Bitcoin fundamentals (UTXO, mining, halvings) +- No programming experience required for conceptual sections +{% endhint %} + ### Stacks: The TL;DR -Stacks activates the Bitcoin economy. Bitcoin is the most adopted, most valuable, and most decentralized cryptocurrency. The Stacks L2 enables fast, cheap BTC and full-featured smart contracts on the L2 without modifying Bitcoin itself. Users and developers can use BTC in their apps and pay gas fees with BTC. All transactions on Stacks L2 are secured by Bitcoin L1 with 100% finality, enabling you to build apps and digital assets that are integrated with Bitcoin security. +Stacks activates the Bitcoin economy. Bitcoin is the most adopted, most valuable, and most decentralized cryptocurrency. The Stacks L2 enables fast, cheap BTC and full-featured smart contracts on the L2 without modifying Bitcoin itself. Users and developers can use BTC in their apps and pay gas fees with BTC. All transactions on Stacks L2 are secured by Bitcoin L1 with 100% finality, enabling you to build apps and digital assets that are integrated + with Bitcoin security. The Stacks layer for smart contracts has the following innovations that make it unique: From ee69168189bccf9740e54ac267ff408935d437bb Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 14 Feb 2026 16:14:57 +0600 Subject: [PATCH 04/10] docs(operate): add troubleshooting tips, community support, and health checks to README --- docs/operate/README.md | 26 ++++++++++++++++++++++++++ docs/reference/README.md | 10 ++++++++++ 2 files changed, 36 insertions(+) diff --git a/docs/operate/README.md b/docs/operate/README.md index b8ca7168a8..d17bd17f82 100644 --- a/docs/operate/README.md +++ b/docs/operate/README.md @@ -18,3 +18,29 @@ While you can run a node using these specs, it's recommended to assign more than * **1 TB disk** for Stacks node * **1 TB disk** for Bitcoin node {% endhint %} + +*** + +## Quick Troubleshooting Tips + +| Issue | Solution | +| ----- | -------- | +| Node not syncing | Check your internet connection and firewall settings. Ensure ports 20443 and 20444 are open. | +| Out of disk space | Increase disk allocation or prune old chainstate data. | +| Connection timeouts | Verify your `bootstrap_node` configuration is correct and reachable. | +| High memory usage | Consider running only the Stacks node without a local Bitcoin node. | + +## Community Support + +* **Discord**: Join the [Stacks Discord](https://stacks.chat/) and ask in the #node-operators channel +* **Forum**: Post questions on the [Stacks Forum](https://forum.stacks.org/) +* **GitHub Issues**: Report bugs at [stacks-network/stacks-core](https://github.com/stacks-network/stacks-core/issues) + +## Health Check Recommendations + +Monitor your node's health regularly by checking: + +1. **Sync status**: Compare your node's block height with the [Stacks Explorer](https://explorer.hiro.so/) +2. **RPC endpoint**: Test with `curl http://localhost:20443/v2/info` +3. **Peer connections**: Verify your node has active peer connections +4. **Disk usage**: Ensure you have at least 100GB free space for growth diff --git a/docs/reference/README.md b/docs/reference/README.md index aca7354376..893ee982fd 100644 --- a/docs/reference/README.md +++ b/docs/reference/README.md @@ -1,5 +1,15 @@ # Stacks Node Configuration +## Quick Reference + +| I want to... | Jump to... | +| ------------ | ---------- | +| Run a mainnet follower | [Example Mainnet Configuration](#example-mainnet-follower-configuration) | +| Run a testnet node | [Example Testnet Configuration](#example-testnet-follower-configuration) | +| Configure mining | [Mining Options](#mining) | +| Set up event observers | [Events Observer](#events_observer) | +| Configure network options | [Connection Options](#connection_options) | + {% hint style="info" %} Note that these config fields are for a Stacks follower node. If you are running a signer alongside your Stacks node, you'll want to use the sample file found in the [Signer Configuration](node-operations/signer-configuration.md) page as it contains additional parameters needed for your signer and Stacks node to function properly. {% endhint %} From 57eedb61e49f5fe5a6294b179af2da68226e99dd Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 14 Feb 2026 16:14:57 +0600 Subject: [PATCH 05/10] fix(build): fix broken Clarinet links in Build README navigation --- docs/build/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/build/README.md b/docs/build/README.md index 2c5f303433..fdf3f0dfd1 100644 --- a/docs/build/README.md +++ b/docs/build/README.md @@ -84,7 +84,7 @@ There is also a subsection of example Clarity contracts where you'll find **star We all have different styles of learning. If you've already got a good concept of web3 fundamentals and want to get a quick taste of what the DevEx is like on Stacks, then check out the [Developer Quickstart](get-started/developer-quickstart.md). Or find the path that clicks for you — and if bandwidth allows, tackle them all! -

Try the Developer Quickstart

Your 0→1 guide for building a Clarity contract and app on Stacks.developer-quickstart.md

Start Learning Clarity

An easy starting point for learning smart contracts.clarity-crash-course.md

Bitcoin Primer Tutorial

A comprehensive end-to-end experience to building full-stack dApps on Bitcoin.Bitcoin Primer

Earn a Stacks Developer Degree

A hands-on Stacks bootcamp by LearnWeb3.https://learnweb3.io/degrees/stacks-developer-degree/

Watch Our Hands-On Videos

Developer insights and workshops from the Stacks ecosystemhttps://www.youtube.com/@stacks-developers

Clarity Development Using Clarinet

The smart contract toolkit for StacksBroken link
+

Try the Developer Quickstart

Your 0→1 guide for building a Clarity contract and app on Stacks.developer-quickstart.md

Start Learning Clarity

An easy starting point for learning smart contracts.clarity-crash-course.md

Bitcoin Primer Tutorial

A comprehensive end-to-end experience to building full-stack dApps on Bitcoin.Bitcoin Primer

Earn a Stacks Developer Degree

A hands-on Stacks bootcamp by LearnWeb3.https://learnweb3.io/degrees/stacks-developer-degree/

Watch Our Hands-On Videos

Developer insights and workshops from the Stacks ecosystemhttps://www.youtube.com/@stacks-developers

Clarity Development Using Clarinet

The smart contract toolkit for StacksClarinet Overview
@@ -95,7 +95,7 @@ We all have different styles of learning. If you've already got a good concept o | If you are… | First check out... | | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Completely new to building with Stacks | [Developer Quickstart](get-started/developer-quickstart.md) | -| Learning smart contract development | [Clarity Crash Course](get-started/clarity-crash-course.md), [Learn Clarinet](/broken/pages/UK5Kgh2MHLoQvfoFVnLr) | +| Learning smart contract development | [Clarity Crash Course](get-started/clarity-crash-course.md), [Learn Clarinet](clarinet/overview.md) | | Preferring a structured, guided course that shows you every step to build full-stack apps | [Stacks Developer Degree](https://learnweb3.io/degrees/stacks-developer-degree/), [Bitcoin Primer](https://app.gitbook.com/s/skGYu79qDNfITOqDNU3s/bitcoin-primer/introduction), [EasyA](https://www.easya.io/challenges/stacks) | | Wanting to integrate sBTC in your app | [sBTC guides](more-guides/sbtc/) | | Launching a token | [Create Tokens](get-started/create-a-token/) | From 58ef8499cfd7c93ce9f9b202bf7c8bf58399dd51 Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 14 Feb 2026 16:14:58 +0600 Subject: [PATCH 06/10] docs(stacks.js): add network API endpoints table and rate limit warning --- docs/build/stacks.js/networks.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/build/stacks.js/networks.md b/docs/build/stacks.js/networks.md index 2a4a2807d1..f48e50b009 100644 --- a/docs/build/stacks.js/networks.md +++ b/docs/build/stacks.js/networks.md @@ -42,3 +42,19 @@ const address = privateKeyToAddress(privateKey, 'devnet'); {% hint style="info" %} For more advanced workflows, pass a custom network configuration object. See the `@stacks/network` package for details. {% endhint %} + +*** + +## Network API Endpoints + +Each network has its own set of API endpoints: + +| Network | API Base URL | Explorer | +| ------- | ------------ | -------- | +| Mainnet | `https://api.hiro.so` | [explorer.hiro.so](https://explorer.hiro.so/) | +| Testnet | `https://api.testnet.hiro.so` | [explorer.hiro.so/?chain=testnet](https://explorer.hiro.so/?chain=testnet) | +| Devnet | `http://localhost:3999` | Local Clarinet explorer | + +{% hint style="warning" %} +**Rate Limits**: Public API endpoints have rate limits. For production applications, consider using [Hiro Platform](https://www.hiro.so/platform) for higher limits and API key management. +{% endhint %} From 1207396e3aac71c9b1dc9d28fd278a01636d748d Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Sat, 14 Feb 2026 16:14:58 +0600 Subject: [PATCH 07/10] docs: enhance main README with contribution guidelines and quick links --- README.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index af04777922..fdda800ca8 100644 --- a/README.md +++ b/README.md @@ -31,4 +31,28 @@ Besides the actual content, each Space consists of: What kinds of changes are we looking for? -If you see a typo, a missing guide or tutorial, an unclear explanation, or really anything else you think could improve the quality of the documentation, please feel free to open an issue or create a pull request. \ No newline at end of file +If you see a typo, a missing guide or tutorial, an unclear explanation, or really anything else you think could improve the quality of the documentation, please feel free to open an issue or create a pull request. + +### Contribution Guidelines + +When contributing, please: + +1. **Create a descriptive PR title** that summarizes your changes +2. **Reference any related issues** in your PR description +3. **Ensure markdown formatting is correct** before submitting +4. **Keep changes focused** - one PR should address one topic + +### Quick Links + +| Resource | Link | +| -------- | ---- | +| Live Documentation | [docs.stacks.co](https://docs.stacks.co) | +| Stacks Explorer | [explorer.hiro.so](https://explorer.hiro.so) | +| Developer Discord | [stacks.chat](https://stacks.chat) | +| Stacks Forum | [forum.stacks.org](https://forum.stacks.org) | +| Stacks Foundation | [stacks.org](https://stacks.org) | + +### Get Help + +- Join the **#documentation** channel on [Discord](https://stacks.chat) for questions about contributing +- Tag `@docs-maintainers` on GitHub for urgent documentation issues \ No newline at end of file From fa292cf68ae18389a7461dd5b482ee83fd1696fa Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Mon, 16 Feb 2026 06:31:48 +0600 Subject: [PATCH 08/10] fix: address PR review feedback - update network convention, remove misplaced API endpoints, add bootstrap_node config location, fix anchor links --- docs/build/stacks.js/networks.md | 15 --------------- docs/build/stacks.js/overview.md | 3 +-- docs/operate/README.md | 2 +- docs/reference/README.md | 2 +- 4 files changed, 3 insertions(+), 19 deletions(-) diff --git a/docs/build/stacks.js/networks.md b/docs/build/stacks.js/networks.md index f48e50b009..95dc492b7b 100644 --- a/docs/build/stacks.js/networks.md +++ b/docs/build/stacks.js/networks.md @@ -43,18 +43,3 @@ const address = privateKeyToAddress(privateKey, 'devnet'); For more advanced workflows, pass a custom network configuration object. See the `@stacks/network` package for details. {% endhint %} -*** - -## Network API Endpoints - -Each network has its own set of API endpoints: - -| Network | API Base URL | Explorer | -| ------- | ------------ | -------- | -| Mainnet | `https://api.hiro.so` | [explorer.hiro.so](https://explorer.hiro.so/) | -| Testnet | `https://api.testnet.hiro.so` | [explorer.hiro.so/?chain=testnet](https://explorer.hiro.so/?chain=testnet) | -| Devnet | `http://localhost:3999` | Local Clarinet explorer | - -{% hint style="warning" %} -**Rate Limits**: Public API endpoints have rate limits. For production applications, consider using [Hiro Platform](https://www.hiro.so/platform) for higher limits and API key management. -{% endhint %} diff --git a/docs/build/stacks.js/overview.md b/docs/build/stacks.js/overview.md index 3ccb721356..279b58fd06 100644 --- a/docs/build/stacks.js/overview.md +++ b/docs/build/stacks.js/overview.md @@ -76,14 +76,13 @@ Here's a simple example of reading data from a smart contract: ```typescript import { fetchCallReadOnlyFunction } from '@stacks/transactions'; -import { STACKS_MAINNET } from '@stacks/network'; const result = await fetchCallReadOnlyFunction({ contractAddress: 'SP2C1WREHGM75C7TGFAEJPFKTFTEGZKF6F9D4RK2D', contractName: 'my-contract', functionName: 'get-counter', functionArgs: [], - network: STACKS_MAINNET, + network: 'mainnet', senderAddress: 'SP2C1WREHGM75C7TGFAEJPFKTFTEGZKF6F9D4RK2D', }); diff --git a/docs/operate/README.md b/docs/operate/README.md index d17bd17f82..0026e9068b 100644 --- a/docs/operate/README.md +++ b/docs/operate/README.md @@ -27,7 +27,7 @@ While you can run a node using these specs, it's recommended to assign more than | ----- | -------- | | Node not syncing | Check your internet connection and firewall settings. Ensure ports 20443 and 20444 are open. | | Out of disk space | Increase disk allocation or prune old chainstate data. | -| Connection timeouts | Verify your `bootstrap_node` configuration is correct and reachable. | +| Connection timeouts | Verify your `bootstrap_node` configuration in the `[node]` section of your Stacks node config file (e.g., `stacks-node-mainnet.toml`) is correct and reachable. See [Stacks Node Configuration](../reference/) for details. | | High memory usage | Consider running only the Stacks node without a local Bitcoin node. | ## Community Support diff --git a/docs/reference/README.md b/docs/reference/README.md index 893ee982fd..b5662672b2 100644 --- a/docs/reference/README.md +++ b/docs/reference/README.md @@ -110,7 +110,7 @@ This section contains configuration options pertaining to the blockchain the sta | rpc\_port | | RPC port of `peer_host` | | peer\_port | | P2P port of `peer_host` | -**Mining** +#### Mining | Name | Required | Description | | -------------------------------- | -------- | -------------------------------------------------------------------------------------------------- | From f18db2a1b76078a69b1f615ded138e4660bc872f Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Mon, 16 Feb 2026 07:28:15 +0600 Subject: [PATCH 09/10] fix: address PR review - remove invalid anchors, Next Steps section, revert GitBook link --- docs/build/README.md | 2 +- docs/build/clarinet/quickstart.md | 9 --------- docs/reference/README.md | 10 ---------- 3 files changed, 1 insertion(+), 20 deletions(-) diff --git a/docs/build/README.md b/docs/build/README.md index fdf3f0dfd1..6b94df147f 100644 --- a/docs/build/README.md +++ b/docs/build/README.md @@ -95,7 +95,7 @@ We all have different styles of learning. If you've already got a good concept o | If you are… | First check out... | | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Completely new to building with Stacks | [Developer Quickstart](get-started/developer-quickstart.md) | -| Learning smart contract development | [Clarity Crash Course](get-started/clarity-crash-course.md), [Learn Clarinet](clarinet/overview.md) | +| Learning smart contract development | [Clarity Crash Course](get-started/clarity-crash-course.md), [Learn Clarinet](/broken/pages/UK5Kgh2MHLoQvfoFVnLr) | | Preferring a structured, guided course that shows you every step to build full-stack apps | [Stacks Developer Degree](https://learnweb3.io/degrees/stacks-developer-degree/), [Bitcoin Primer](https://app.gitbook.com/s/skGYu79qDNfITOqDNU3s/bitcoin-primer/introduction), [EasyA](https://www.easya.io/challenges/stacks) | | Wanting to integrate sBTC in your app | [sBTC guides](more-guides/sbtc/) | | Launching a token | [Create Tokens](get-started/create-a-token/) | diff --git a/docs/build/clarinet/quickstart.md b/docs/build/clarinet/quickstart.md index df82a60d96..12d90c0f97 100644 --- a/docs/build/clarinet/quickstart.md +++ b/docs/build/clarinet/quickstart.md @@ -154,13 +154,4 @@ u2 | Using wrong types (e.g., `1` instead of `u1`) | Use `u` prefix for unsigned integers in Clarity | | Missing parentheses | Every Clarity expression must be wrapped in parentheses | -*** - -## Next Steps - -Now that you've built your first counter contract, here are some recommended paths to continue learning: -* **[Project Development](project-development.md)** - Learn about the full Clarinet development workflow -* **[Unit Testing](testing-with-clarinet-sdk.md)** - Write comprehensive tests for your contracts -* **[Contract Deployment](contract-deployment.md)** - Deploy your contracts to testnet and mainnet -* **[Clarity Crash Course](../get-started/clarity-crash-course.md)** - Deep dive into Clarity language fundamentals diff --git a/docs/reference/README.md b/docs/reference/README.md index b5662672b2..acd3956fc3 100644 --- a/docs/reference/README.md +++ b/docs/reference/README.md @@ -1,15 +1,5 @@ # Stacks Node Configuration -## Quick Reference - -| I want to... | Jump to... | -| ------------ | ---------- | -| Run a mainnet follower | [Example Mainnet Configuration](#example-mainnet-follower-configuration) | -| Run a testnet node | [Example Testnet Configuration](#example-testnet-follower-configuration) | -| Configure mining | [Mining Options](#mining) | -| Set up event observers | [Events Observer](#events_observer) | -| Configure network options | [Connection Options](#connection_options) | - {% hint style="info" %} Note that these config fields are for a Stacks follower node. If you are running a signer alongside your Stacks node, you'll want to use the sample file found in the [Signer Configuration](node-operations/signer-configuration.md) page as it contains additional parameters needed for your signer and Stacks node to function properly. {% endhint %} From 93cbc3e8578913ee36c407c28aa6a8956bac62b9 Mon Sep 17 00:00:00 2001 From: Dark-Brain07 Date: Wed, 18 Feb 2026 08:55:14 +0600 Subject: [PATCH 10/10] fix: address review feedback - expand dot prefix explanation, link beginner mistakes to blog --- docs/build/clarinet/quickstart.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/build/clarinet/quickstart.md b/docs/build/clarinet/quickstart.md index 12d90c0f97..044612d023 100644 --- a/docs/build/clarinet/quickstart.md +++ b/docs/build/clarinet/quickstart.md @@ -148,10 +148,8 @@ u2 ## Common Beginner Mistakes -| Mistake | Solution | -| ------- | -------- | -| Forgetting the `.` prefix when calling contracts | Always use `.contract-name` format for local contracts | -| Using wrong types (e.g., `1` instead of `u1`) | Use `u` prefix for unsigned integers in Clarity | -| Missing parentheses | Every Clarity expression must be wrapped in parentheses | - +{% hint style="info" %} +For a deeper dive into common pitfalls and how to avoid them, check out this blog post: [5 Common Clarity Development Mistakes and How to Fix Them](https://dev.to/rajuice/5-common-clarity-development-mistakes-and-how-to-fix-them-3dl). +{% endhint %} +**A quick note on the `.` prefix**: In the Clarinet console, the `.` before a contract name (e.g., `.counter`) is shorthand for the fully qualified contract identifier. When you deploy contracts locally, they are deployed under your default deployer address. Writing `.counter` tells Clarity to look for the `counter` contract deployed by the current transaction sender. Without the `.` prefix, Clarity cannot resolve which contract you are referencing, and the call will fail with an `UnknownContract` error. This is one of the most common mistakes new Clarity developers encounter.