Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Crowdin updates #1584

Closed
wants to merge 1,446 commits into from
Closed
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
1446 commits
Select commit Hold shift + click to select a range
8b39d97
New translations bns.md (Japanese)
bot-translations Sep 18, 2023
aead22c
New translations bns.md (Korean)
bot-translations Sep 18, 2023
20bfc8f
New translations bns.md (Russian)
bot-translations Sep 18, 2023
4813a88
New translations bns.md (Turkish)
bot-translations Sep 18, 2023
aa22469
New translations bns.md (Chinese Simplified)
bot-translations Sep 18, 2023
d9df90e
New translations bns.md (Vietnamese)
bot-translations Sep 18, 2023
d52de3b
New translations bns.md (Portuguese, Brazilian)
bot-translations Sep 18, 2023
ca1111e
New translations bns.md (Indonesian)
bot-translations Sep 18, 2023
cd17f2f
New translations bns.md (Hindi)
bot-translations Sep 18, 2023
5440506
Update source file bns.md
bot-translations Sep 18, 2023
f264793
New translations authentication.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
82c155e
New translations docs.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
f4f4575
New translations gaia-on-ec2.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
4828133
New translations gaia.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
921235d
New translations digitalocean.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
17d9870
New translations miner-mainnet.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
cee6b1b
New translations miner-testnet.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
ad9b3f8
New translations accounts.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
51d8f64
New translations microblocks.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
7589d60
New translations mining.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
90091ff
New translations stacking.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
26ae2da
New translations transactions.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
2e580d9
New translations stacks-blockchain-api.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
fbf5b83
New translations bns-contract.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
fc91af2
New translations xbtc.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
d348c2f
New translations stacking-contract.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
d8ae761
New translations authentication.md (Portuguese, Brazilian)
bot-translations Oct 7, 2023
770e1f5
New translations testnet.md (French)
bot-translations Oct 19, 2023
87695d2
New translations get-sats-per-stx.md (French)
bot-translations Oct 19, 2023
8fd8c24
New translations testnet.md (Spanish)
bot-translations Oct 19, 2023
bcea191
New translations get-sats-per-stx.md (Spanish)
bot-translations Oct 19, 2023
40ec45a
New translations testnet.md (German)
bot-translations Oct 19, 2023
e932334
New translations get-sats-per-stx.md (German)
bot-translations Oct 19, 2023
ffc02b7
New translations testnet.md (Japanese)
bot-translations Oct 19, 2023
7a8ca2d
New translations get-sats-per-stx.md (Japanese)
bot-translations Oct 19, 2023
ad3725c
New translations testnet.md (Korean)
bot-translations Oct 19, 2023
3a12344
New translations get-sats-per-stx.md (Korean)
bot-translations Oct 19, 2023
2c85896
New translations testnet.md (Russian)
bot-translations Oct 19, 2023
28db7a2
New translations get-sats-per-stx.md (Russian)
bot-translations Oct 19, 2023
83fbcdd
New translations testnet.md (Turkish)
bot-translations Oct 19, 2023
7171bf8
New translations get-sats-per-stx.md (Turkish)
bot-translations Oct 19, 2023
bd6bc40
New translations testnet.md (Chinese Simplified)
bot-translations Oct 19, 2023
85d3dbd
New translations get-sats-per-stx.md (Chinese Simplified)
bot-translations Oct 19, 2023
c648d62
New translations testnet.md (Vietnamese)
bot-translations Oct 19, 2023
a0cfc20
New translations get-sats-per-stx.md (Vietnamese)
bot-translations Oct 19, 2023
8724be3
New translations testnet.md (Portuguese, Brazilian)
bot-translations Oct 19, 2023
ab42af2
New translations get-sats-per-stx.md (Portuguese, Brazilian)
bot-translations Oct 19, 2023
07a002e
New translations testnet.md (Indonesian)
bot-translations Oct 19, 2023
4290e3f
New translations get-sats-per-stx.md (Indonesian)
bot-translations Oct 19, 2023
bd9890f
New translations testnet.md (Hindi)
bot-translations Oct 19, 2023
f82de52
New translations get-sats-per-stx.md (Hindi)
bot-translations Oct 19, 2023
037c5a9
Update source file get-sats-per-stx.md
bot-translations Oct 19, 2023
13a7c60
Update source file testnet.md
bot-translations Oct 19, 2023
72682e7
New translations authentication.md (French)
bot-translations Oct 26, 2023
757c4f0
New translations bns.md (French)
bot-translations Oct 26, 2023
3b4f83a
New translations authentication.md (Spanish)
bot-translations Oct 26, 2023
57ef485
New translations bns.md (Spanish)
bot-translations Oct 26, 2023
0a1f460
New translations authentication.md (German)
bot-translations Oct 26, 2023
a395f91
New translations bns.md (German)
bot-translations Oct 26, 2023
90075f3
New translations authentication.md (Japanese)
bot-translations Oct 26, 2023
65a62ce
New translations bns.md (Japanese)
bot-translations Oct 26, 2023
6d02ea4
New translations authentication.md (Korean)
bot-translations Oct 26, 2023
861a039
New translations bns.md (Korean)
bot-translations Oct 26, 2023
7f95ec0
New translations authentication.md (Russian)
bot-translations Oct 26, 2023
9502365
New translations bns.md (Russian)
bot-translations Oct 26, 2023
232ddfe
New translations authentication.md (Turkish)
bot-translations Oct 26, 2023
821f9f5
New translations bns.md (Turkish)
bot-translations Oct 26, 2023
b47ce72
New translations authentication.md (Chinese Simplified)
bot-translations Oct 26, 2023
4fcb327
New translations bns.md (Chinese Simplified)
bot-translations Oct 26, 2023
4c1275e
New translations authentication.md (Vietnamese)
bot-translations Oct 26, 2023
d69b3af
New translations bns.md (Vietnamese)
bot-translations Oct 26, 2023
0c51420
New translations authentication.md (Portuguese, Brazilian)
bot-translations Oct 26, 2023
a1a1a16
New translations bns.md (Portuguese, Brazilian)
bot-translations Oct 26, 2023
77bee83
New translations authentication.md (Indonesian)
bot-translations Oct 26, 2023
d4bc6b0
New translations bns.md (Indonesian)
bot-translations Oct 26, 2023
313af32
New translations authentication.md (Hindi)
bot-translations Oct 26, 2023
195331b
New translations bns.md (Hindi)
bot-translations Oct 26, 2023
76a8c40
Update source file authentication.md
bot-translations Oct 26, 2023
04272c5
Update source file bns.md
bot-translations Oct 26, 2023
90892a0
New translations community-tutorials.md (Spanish)
bot-translations Dec 4, 2023
1f460c5
New translations hello-stacks.md (Spanish)
bot-translations Dec 4, 2023
24de9ea
New translations btc-connection.md (French)
bot-translations Dec 12, 2023
a1a9e22
New translations btc-connection.md (Spanish)
bot-translations Dec 12, 2023
ef09584
New translations btc-connection.md (German)
bot-translations Dec 12, 2023
87cdca8
New translations btc-connection.md (Japanese)
bot-translations Dec 12, 2023
dd95826
New translations btc-connection.md (Korean)
bot-translations Dec 12, 2023
1fd230a
New translations btc-connection.md (Russian)
bot-translations Dec 12, 2023
b55bcbf
New translations btc-connection.md (Turkish)
bot-translations Dec 12, 2023
79071e3
New translations btc-connection.md (Chinese Simplified)
bot-translations Dec 12, 2023
75d34d0
New translations btc-connection.md (Vietnamese)
bot-translations Dec 12, 2023
9c08544
New translations btc-connection.md (Portuguese, Brazilian)
bot-translations Dec 12, 2023
3e7787c
New translations btc-connection.md (Indonesian)
bot-translations Dec 12, 2023
920f1fa
New translations btc-connection.md (Hindi)
bot-translations Dec 12, 2023
5ddc6aa
Update source file btc-connection.md
bot-translations Dec 12, 2023
562dc4a
New translations intro.md (French)
bot-translations Jan 8, 2024
ff6285f
New translations bitcoin-mev-mitigation.md (French)
bot-translations Jan 8, 2024
2d74b1b
New translations block-production.md (French)
bot-translations Jan 8, 2024
095f02e
New translations clarity-wasm.md (French)
bot-translations Jan 8, 2024
0d51318
New translations index.md (French)
bot-translations Jan 8, 2024
cb94e5f
New translations neon.md (French)
bot-translations Jan 8, 2024
4efc9d5
New translations intro.md (Spanish)
bot-translations Jan 8, 2024
b34c5c5
New translations bitcoin-mev-mitigation.md (Spanish)
bot-translations Jan 8, 2024
7397831
New translations block-production.md (Spanish)
bot-translations Jan 8, 2024
ac9ac13
New translations clarity-wasm.md (Spanish)
bot-translations Jan 8, 2024
6b312e0
New translations index.md (Spanish)
bot-translations Jan 8, 2024
87c74e3
New translations neon.md (Spanish)
bot-translations Jan 8, 2024
96e8445
New translations intro.md (German)
bot-translations Jan 8, 2024
75daa94
New translations bitcoin-mev-mitigation.md (German)
bot-translations Jan 8, 2024
c125c5a
New translations block-production.md (German)
bot-translations Jan 8, 2024
30028de
New translations clarity-wasm.md (German)
bot-translations Jan 8, 2024
56b4d15
New translations index.md (German)
bot-translations Jan 8, 2024
1a813f5
New translations neon.md (German)
bot-translations Jan 8, 2024
3a928fd
New translations intro.md (Japanese)
bot-translations Jan 8, 2024
6d6492d
New translations bitcoin-mev-mitigation.md (Japanese)
bot-translations Jan 8, 2024
5aadfc4
New translations block-production.md (Japanese)
bot-translations Jan 8, 2024
16be458
New translations clarity-wasm.md (Japanese)
bot-translations Jan 8, 2024
1313c11
New translations index.md (Japanese)
bot-translations Jan 8, 2024
339bc46
New translations neon.md (Japanese)
bot-translations Jan 8, 2024
a3f1563
New translations intro.md (Korean)
bot-translations Jan 8, 2024
518103d
New translations bitcoin-mev-mitigation.md (Korean)
bot-translations Jan 8, 2024
4909edc
New translations block-production.md (Korean)
bot-translations Jan 8, 2024
1a83914
New translations clarity-wasm.md (Korean)
bot-translations Jan 8, 2024
48291bc
New translations index.md (Korean)
bot-translations Jan 8, 2024
10f69c3
New translations neon.md (Korean)
bot-translations Jan 8, 2024
1aa9020
New translations intro.md (Russian)
bot-translations Jan 8, 2024
4cf107e
New translations bitcoin-mev-mitigation.md (Russian)
bot-translations Jan 8, 2024
8619f63
New translations block-production.md (Russian)
bot-translations Jan 8, 2024
09c0ad4
New translations clarity-wasm.md (Russian)
bot-translations Jan 8, 2024
c276669
New translations index.md (Russian)
bot-translations Jan 8, 2024
119d4aa
New translations neon.md (Russian)
bot-translations Jan 8, 2024
324f90c
New translations intro.md (Turkish)
bot-translations Jan 8, 2024
65ee9b0
New translations bitcoin-mev-mitigation.md (Turkish)
bot-translations Jan 8, 2024
1aceab5
New translations block-production.md (Turkish)
bot-translations Jan 8, 2024
e704eab
New translations clarity-wasm.md (Turkish)
bot-translations Jan 8, 2024
687c850
New translations index.md (Turkish)
bot-translations Jan 8, 2024
6433084
New translations neon.md (Turkish)
bot-translations Jan 8, 2024
ded1e09
New translations intro.md (Chinese Simplified)
bot-translations Jan 8, 2024
eec597a
New translations bitcoin-mev-mitigation.md (Chinese Simplified)
bot-translations Jan 8, 2024
e55dd5f
New translations block-production.md (Chinese Simplified)
bot-translations Jan 8, 2024
2eabddc
New translations clarity-wasm.md (Chinese Simplified)
bot-translations Jan 8, 2024
54a677c
New translations index.md (Chinese Simplified)
bot-translations Jan 8, 2024
fcbc350
New translations neon.md (Chinese Simplified)
bot-translations Jan 8, 2024
d7f8331
New translations intro.md (Vietnamese)
bot-translations Jan 8, 2024
48cd2d4
New translations bitcoin-mev-mitigation.md (Vietnamese)
bot-translations Jan 8, 2024
c428b24
New translations block-production.md (Vietnamese)
bot-translations Jan 8, 2024
c92bef2
New translations clarity-wasm.md (Vietnamese)
bot-translations Jan 8, 2024
a614e70
New translations index.md (Vietnamese)
bot-translations Jan 8, 2024
4754f1d
New translations neon.md (Vietnamese)
bot-translations Jan 8, 2024
1b34ed7
New translations intro.md (Portuguese, Brazilian)
bot-translations Jan 8, 2024
f8291ef
New translations bitcoin-mev-mitigation.md (Portuguese, Brazilian)
bot-translations Jan 8, 2024
a22cdf0
New translations block-production.md (Portuguese, Brazilian)
bot-translations Jan 8, 2024
41492ec
New translations clarity-wasm.md (Portuguese, Brazilian)
bot-translations Jan 8, 2024
2e12453
New translations index.md (Portuguese, Brazilian)
bot-translations Jan 8, 2024
ff307c6
New translations neon.md (Portuguese, Brazilian)
bot-translations Jan 8, 2024
21a370d
New translations intro.md (Indonesian)
bot-translations Jan 8, 2024
ebc8418
New translations bitcoin-mev-mitigation.md (Indonesian)
bot-translations Jan 8, 2024
785ccce
New translations block-production.md (Indonesian)
bot-translations Jan 8, 2024
ba5962c
New translations clarity-wasm.md (Indonesian)
bot-translations Jan 8, 2024
ba293ca
New translations index.md (Indonesian)
bot-translations Jan 8, 2024
21d8a9e
New translations neon.md (Indonesian)
bot-translations Jan 8, 2024
46736d0
New translations intro.md (Hindi)
bot-translations Jan 8, 2024
bec5e28
New translations bitcoin-mev-mitigation.md (Hindi)
bot-translations Jan 8, 2024
4d964dd
New translations block-production.md (Hindi)
bot-translations Jan 8, 2024
e391202
New translations clarity-wasm.md (Hindi)
bot-translations Jan 8, 2024
ba8a479
New translations index.md (Hindi)
bot-translations Jan 8, 2024
c009a5c
New translations neon.md (Hindi)
bot-translations Jan 8, 2024
f818811
Update source file intro.md
bot-translations Jan 8, 2024
b8ea7b9
Update source file bitcoin-mev-mitigation.md
bot-translations Jan 8, 2024
5e6517b
Update source file block-production.md
bot-translations Jan 8, 2024
3581575
Update source file clarity-wasm.md
bot-translations Jan 8, 2024
24825ac
Update source file index.md
bot-translations Jan 8, 2024
d5dbbba
Update source file neon.md
bot-translations Jan 8, 2024
5207e17
New translations stacking.md (French)
bot-translations Jan 25, 2024
55fc137
New translations technical-specs.md (French)
bot-translations Jan 25, 2024
7d1e471
New translations stacking-contract.md (French)
bot-translations Jan 25, 2024
310a34c
New translations stacking.md (Spanish)
bot-translations Jan 25, 2024
9be3206
New translations technical-specs.md (Spanish)
bot-translations Jan 25, 2024
2228014
New translations stacking-contract.md (Spanish)
bot-translations Jan 25, 2024
d6e0fb7
New translations stacking.md (German)
bot-translations Jan 25, 2024
be83b77
New translations technical-specs.md (German)
bot-translations Jan 25, 2024
5b490bb
New translations stacking-contract.md (German)
bot-translations Jan 25, 2024
b106f53
New translations stacking.md (Japanese)
bot-translations Jan 25, 2024
3daf9b4
New translations technical-specs.md (Japanese)
bot-translations Jan 25, 2024
bdafd6a
New translations stacking-contract.md (Japanese)
bot-translations Jan 25, 2024
6c81bae
New translations stacking.md (Korean)
bot-translations Jan 25, 2024
46351ca
New translations technical-specs.md (Korean)
bot-translations Jan 25, 2024
948efad
New translations stacking-contract.md (Korean)
bot-translations Jan 25, 2024
ac99d81
New translations stacking.md (Russian)
bot-translations Jan 25, 2024
daadb7d
New translations technical-specs.md (Russian)
bot-translations Jan 25, 2024
f5df459
New translations stacking-contract.md (Russian)
bot-translations Jan 25, 2024
29ffacf
New translations stacking.md (Turkish)
bot-translations Jan 25, 2024
c3bdaf4
New translations technical-specs.md (Turkish)
bot-translations Jan 25, 2024
9b2f54e
New translations stacking-contract.md (Turkish)
bot-translations Jan 25, 2024
69c46d8
New translations stacking.md (Chinese Simplified)
bot-translations Jan 25, 2024
25e4a07
New translations technical-specs.md (Chinese Simplified)
bot-translations Jan 25, 2024
f72ca8c
New translations stacking-contract.md (Chinese Simplified)
bot-translations Jan 25, 2024
356c6d1
New translations stacking.md (Vietnamese)
bot-translations Jan 25, 2024
ab88fb8
New translations technical-specs.md (Vietnamese)
bot-translations Jan 25, 2024
49bc5ec
New translations stacking-contract.md (Vietnamese)
bot-translations Jan 25, 2024
d2bfa3b
New translations stacking.md (Portuguese, Brazilian)
bot-translations Jan 25, 2024
356b540
New translations technical-specs.md (Portuguese, Brazilian)
bot-translations Jan 25, 2024
f323e3d
New translations stacking-contract.md (Portuguese, Brazilian)
bot-translations Jan 25, 2024
063ec74
New translations stacking.md (Indonesian)
bot-translations Jan 25, 2024
b64e8f5
New translations technical-specs.md (Indonesian)
bot-translations Jan 25, 2024
188aad2
New translations stacking-contract.md (Indonesian)
bot-translations Jan 25, 2024
f75b7e1
New translations stacking.md (Hindi)
bot-translations Jan 25, 2024
ed788a9
New translations technical-specs.md (Hindi)
bot-translations Jan 25, 2024
24302ef
New translations stacking-contract.md (Hindi)
bot-translations Jan 25, 2024
8c9bd50
Update source file stacking-contract.md
bot-translations Jan 25, 2024
4357f17
Update source file stacking.md
bot-translations Jan 25, 2024
20cbd74
Update source file technical-specs.md
bot-translations Jan 25, 2024
56580b5
New translations signer.md (French)
bot-translations Jan 31, 2024
307a7f5
New translations signer.md (Spanish)
bot-translations Jan 31, 2024
c12afff
New translations signer.md (German)
bot-translations Jan 31, 2024
e5da0c4
New translations signer.md (Japanese)
bot-translations Jan 31, 2024
d069ba7
New translations signer.md (Korean)
bot-translations Jan 31, 2024
c6ae919
New translations signer.md (Russian)
bot-translations Jan 31, 2024
860fc17
New translations signer.md (Turkish)
bot-translations Jan 31, 2024
3711d8b
New translations signer.md (Chinese Simplified)
bot-translations Jan 31, 2024
2b2508c
New translations signer.md (Vietnamese)
bot-translations Jan 31, 2024
d1eadc9
New translations signer.md (Portuguese, Brazilian)
bot-translations Jan 31, 2024
8c03be6
New translations signer.md (Indonesian)
bot-translations Jan 31, 2024
e3020fa
New translations signer.md (Hindi)
bot-translations Jan 31, 2024
870da6d
Update source file signer.md
bot-translations Feb 1, 2024
ad5c69b
New translations signer.md (French)
bot-translations Feb 2, 2024
4bf40f6
New translations signer.md (Spanish)
bot-translations Feb 2, 2024
243a025
New translations signer.md (German)
bot-translations Feb 2, 2024
f496c47
New translations signer.md (Japanese)
bot-translations Feb 2, 2024
2ac992d
New translations signer.md (Korean)
bot-translations Feb 2, 2024
23d1813
New translations signer.md (Russian)
bot-translations Feb 2, 2024
019f50b
New translations signer.md (Turkish)
bot-translations Feb 2, 2024
06ad192
New translations signer.md (Chinese Simplified)
bot-translations Feb 2, 2024
e2d433e
New translations signer.md (Vietnamese)
bot-translations Feb 2, 2024
71ef495
New translations signer.md (Portuguese, Brazilian)
bot-translations Feb 2, 2024
76d8676
New translations signer.md (Indonesian)
bot-translations Feb 2, 2024
f56a695
New translations signer.md (Hindi)
bot-translations Feb 2, 2024
e1df47e
New translations stacking.md (French)
bot-translations Feb 2, 2024
b60abee
New translations stacking.md (Spanish)
bot-translations Feb 2, 2024
eb25a5e
New translations stacking.md (German)
bot-translations Feb 2, 2024
34d8707
New translations stacking.md (Japanese)
bot-translations Feb 2, 2024
4ac9745
New translations stacking.md (Korean)
bot-translations Feb 2, 2024
715f610
New translations stacking.md (Russian)
bot-translations Feb 2, 2024
2fc1385
New translations stacking.md (Turkish)
bot-translations Feb 2, 2024
e1c03b0
New translations stacking.md (Chinese Simplified)
bot-translations Feb 2, 2024
7d1c2fa
New translations stacking.md (Vietnamese)
bot-translations Feb 2, 2024
5d65ebc
New translations stacking.md (Portuguese, Brazilian)
bot-translations Feb 2, 2024
6b0f153
New translations stacking.md (Indonesian)
bot-translations Feb 2, 2024
14ed41a
New translations stacking.md (Hindi)
bot-translations Feb 2, 2024
e1aa7f4
Update source file signer.md
bot-translations Feb 2, 2024
4b57fa9
Update source file stacking.md
bot-translations Feb 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2,246 changes: 2,246 additions & 0 deletions docs/clarity/language-functions.md

Large diffs are not rendered by default.

147 changes: 147 additions & 0 deletions docs/clarity/language-keywords.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
---
title: Keywords
description: See a detailed list of all keywords for the Clarity language.
sidebar_position: 4
tags:
- clarity
---

![](/img/keywords.jpg)

## Keyword reference

Detailed list of all keywords for the Clarity language.

### contract-caller

#### output: `principal`

#### description:

Returns the caller of the current contract context. If this contract is the first one called by a signed transaction, the caller will be equal to the signing principal. If `contract-call?` was used to invoke a function from a new contract, `contract-caller` changes to the _calling_ contract's principal. If `as-contract` is used to change the `tx-sender` context, `contract-caller` _also_ changes to the same contract principal.

#### example:

```clarity
(print contract-caller) ;; Will print out a Stacks address of the transaction sender
```

### tx-sender

#### output: `principal`

#### description:

Returns the original sender of the current transaction, or if `as-contract` was called to modify the sending context, it returns that
contract principal.

#### example:

```clarity
(print tx-sender) ;; Will print out a Stacks address of the transaction sender
```

### block-height

#### output: `uint`

#### description:

Returns the current block height of the Stacks blockchain as an uint

#### example:

```clarity
(> block-height 1000) ;; returns true if the current block-height has passed 1000 blocks.
```

### burn-block-height

#### output: `uint`

#### description:

Returns the current block height of the underlying burn blockchain as a uint

#### example:

```clarity
(> burn-block-height 1000) ;; returns true if the current height of the underlying burn blockchain has passed 1000 blocks.
```

### none

#### output: `(optional ?)`

#### description:

Represents the _none_ option indicating no value for a given optional (analogous to a null value).

#### example:

```clarity
(define-public (only-if-positive (a int))
(if (> a 0)
(some a)
none))
(only-if-positive 4) ;; Returns (some 4)
(only-if-positive (- 3)) ;; Returns none
```

### true

#### output: `bool`

#### description:

Boolean true constant.

#### example:

```clarity
(and true false) ;; Evaluates to false
(or false true) ;; Evaluates to true
```

### false

#### output: `bool`

#### description:

Boolean false constant.

#### example:

```clarity
(and true false) ;; Evaluates to false
(or false true) ;; Evaluates to true
```

### stx-liquid-supply

#### output: `uint`

#### description:

Returns the total number of micro-STX (uSTX) that are liquid in the system as of this block.

#### example:

```clarity
(print stx-liquid-supply) ;; Will print out the total number of liquid uSTX
```

### is-in-regtest

#### output: `bool`

#### description:

Returns whether or not the code is running in a regression test

#### example:

```clarity
(print is-in-regtest) ;; Will print 'true' if the code is running in a regression test
```
81 changes: 61 additions & 20 deletions docs/stacks-academy/btc-connection.md

Large diffs are not rendered by default.

5 changes: 4 additions & 1 deletion docs/stacks-academy/sips.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ The SIPs are located in the [stacksgov/sips](https://github.com/stacksgov/sips)
Anyone in the Stacks community can submit a SIP.

:::tip Stacks Improvement Proposals Community Calls
Add the [weekly community SIP call](https://www.addevent.com/event/IJ15791776) to your calendar.
Add the [weekly community SIP call](https://www.addevent.com/event/wS15955379) to your calendar.

SIP Meeting calls are recorded and available [here](https://www.youtube.com/playlist?list=PLg717Ri_rTnx5kuaWqp3cUAtwQk_yzslT)

Expand All @@ -37,7 +37,10 @@ More details of the meetings are available [here](https://github.com/stacksgov/s
- [x] [SIP 009: Standard Trait Definition for Non-Fungible Tokens](https://github.com/stacksgov/sips/blob/main/sips/sip-009/sip-009-nft-standard.md)
- [x] [SIP 010: Standard Trait Definition for Fungible Tokens](https://github.com/stacksgov/sips/blob/main/sips/sip-010/sip-010-fungible-token-standard.md)
- [x] [SIP 012: Burn Height Selection for a Network Upgrade to Introduce New Cost-Limits](https://github.com/stacksgov/sips/blob/main/sips/sip-012/sip-012-cost-limits-network-upgrade.md)
- [x] [SIP-015: Stacks Upgrade of Proof-of-Transfer and Clarity](https://github.com/stacksgov/sips/blob/main/sips/sip-015/sip-015-network-upgrade.md)
- [x] [SIP-016: Metadata for Tokens](https://github.com/stacksgov/sips/blob/main/sips/sip-016/sip-016-token-metadata.md)
- [x] [SIP-018: Signed Structured Data](https://github.com/stacksgov/sips/blob/main/sips/sip-018/sip-018-signed-structured-data.md)
- [x] [SIP-020: Bitwise Operations in Clarity](https://github.com/stacksgov/sips/blob/main/sips/sip-020/sip-020-bitwise-ops.md)

## How to Get Involved

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
---
title: Clarity Crash Course
description: A quick introduction to the Clarity programming language
sidebar_position: 1
---

You now understand why Clarity exists and what problems it was designed to solve. :::note
If you didn't read the previous section, go ahead and [do that first](./index.md).
:::

Now let's do a really quick introduction to Clarity so you can familiarize yourself with the language and syntax.

This crash course is designed for people who have some experience with programming but are new to Clarity. You don't need smart contract development experience, but if you do, with something like Solidity, you'll pick this up really quick.

Once you've familiarized yourself with the language, if you'd like to continue your journey and master Clarity to become a smart contract developer, we recommend either the book, [Clarity of Mind](https://book.clarity-lang.org/title-page.html), or the course, [Clarity Universe](https://clarity-lang.org/universe), which has both a self-paced and guided cohort-based version.

## Your First Clarity Smart Contract

We're going to build a basic Clarity smart contract using [Clarity Tools](https://clarity.tools/code/new), so you won't have to install anything for this introduction.

Visit that link, and it will open up a new contract for you.

![Clarity Tools New](tools-new.png)

Already we can take a look at a few basic features of both Clarity and Clarity Tools. First, on the left you'll see that our Clarity code is being evaluated in real-time for us. This is really nice for experimenting and demonstrating basic Clarity code.

Next up we can see our first bit of Clarity code.

Those two semicolons are how we denote comments in Clarity.

Then the next line down we have a public function declaration.

Here is out first glimpse of Clarity's syntax, which may be new to you depending on your development background.

For those new to Clarity, it's a little weird and uncomfortable at first, but one of the core design tenets of Clarity is simplicity and readability, and the more you work with it the more you come to appreciate the succinctness and _clarity_ (sorry) of the code you are writing.

Clarity takes inspiration from LISP, and you can think of everything in Clarity as a list inside of a list, or an expression inside of an expression. Everything in Clarity is wrapped in parentheses, function definitions, variable declarations, function parameters, etc.

So here we are saying that we want to:

1. Call a function called `define-read-only`. This is a built-in function, one of many that you can refer to [in the docs](./language-functions.mdx).

2. Pass it a parameter of hello, which corresponds to the method signature type.

3. Pass it a parameter of "Hello", which corresponds to the function body.

You can refer to the [`define-read-only`](https://docs.stacks.co/docs/write-smart-contracts/clarity-language/language-functions#define-read-only) documentation to see these parameters.

Why am I describing this as if we are calling a function? Because we are, and it's an important concept in Clarity that everything is an expression inside of an expression.

Let's expand on this concept a bit by deleting this and writing a new function.

```clarity
(define-data-var count int 0)
(define-public (add-number (number int))
(let
(
(current-count count)
)

(var-set count (+ 1 number))
(ok (var-get count))
)
)


(add-number 5)
```

If you type that into Clarity Tools, you'll see the result that gets printed is 6.

![Clarity Tools New](tools-new.png)

Okay there are actually a lot of Clarity concepts packed into this simple code.

Let's go over what this code is doing, and you'll pick up some Clarity concepts along the way.

The first thing we are doing here is defining a new variable called `count` and setting its initial value to 0.

This will be a persistent state variable, so this is actually getting written to the blockchain. If you are new to smart contract development, the fact that data is persisted within the file like this might take some getting used to.

So if we were to write and deploy this contract (which you can do in the Stacks Explorer if you like), as soon as it gets deployed, it will run through the contract line by line executing anything at the root level.

Remember that Clarity is interpreted, not compiled, so there's not compile step when developing Clarity contracts.

So this `define-data-var` will be evaluated and the `count` variable will be initialized with a value of 0.

Next we are defining a public function called `add-number`, which will be created (but not called) on deploy as well.

:::note
In Clarity, we have public, private, and read only functions. Public allow you to modify chain state and can be called from anywhere, private do the same except they can only be called from within the contract, and read only will fail if they attempt to modify state.
:::

This function is taking a single parameter, called `number` that is a type of `int`.

Now, what is this `let` business all about? Remember that we said that everything in Clarity is an expression and declaring new functions is just a matter of calling the `define-public` function?

Well the second argument to this is the function body, but it can only evaluate a single expression.

So this `let` function is a way of wrapping a multi-step function into a single argument.

But it does one other crucial thing at the beginning. This line:

```clarity
(current-count count)
```

Sets a variable that only exists in the context of this particular function. So here we are saying, create a new variable called `current-count` and set it equal to the value of `count`.

Then we use that in our actual function body down below.

In the next step we are setting the value of our `count` variable to 1 plus whatever number we passed in. The `+` is just another call to a function where the parameters are the numbers we want to add.

Then, finally, we are returning the new value of `count` with our `ok` response, indicating that the function completed successfully.

Then in the very last line we are actually calling this function, passing in 5.

This was a very brief overview of Clarity just to get your feet wet and give you a taste of how it works.

If you are interested in diving into the details, we highly recommend going through either the [Clarity Book](https://book.clarity-lang.org/title-page.html) or [Clarity Universe](https://clarity-lang.org/universe), depending on your learning style.

If you prefer to dive directly into the docs, you can continue on ahead and check out the types, keywords, and functions available in Clarity, as well as a few sample contracts.
58 changes: 58 additions & 0 deletions i18n/de/docusaurus-plugin-content-docs/current/clarity/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: Clarity Overview
description: Overview and guides for getting started with Clarity
sidebar_label: Clarity
sidebar_position: 5
---

Clarity is a **decidable** smart contract language that optimizes for predictability and security, designed for the Stacks blockchain. Smart contracts allow developers to encode essential business logic on a blockchain.

The design decisions behind Clarity were based heavily on taking lessons learned in common Solidity exploits and creating a language that has been purpose-built for safety and security in mind.

These docs serve primarily as a reference for the functions and keywords that you can use in Clarity.

In order to learn Clarity, we recommend diving into the [Clarity of Mind](https://book.clarity-lang.org/), an online book to teach you everything you need to know to build robust smart contracts, or joining a [Clarity Camp](https://clarity-lang.org/universe#camp), the cohort-based immersive Clarity experience.

## What makes Clarity different

The following section is an excerpt from the excellent book, [Clarity of Mind](https://book.clarity-lang.org/ch00-00-introduction.html):

The number of smart contract languages grows by the year. Choosing a first language can be challenging, especially for a beginner. The choice is largely dictated by the ecosystem you are interested in, although some languages are applicable to more than just one platform. Each language has its own upsides and downsides and it is out of the scope of this book to look at all of them. Instead, we will focus on what sets Clarity apart and why it is a prime choice if you require the utmost security and transparency.

One of the core precepts of Clarity is that it is secure by design. The design process was guided by examining common pitfalls, mistakes, and vulnerabilities in the field of smart contract engineering as a whole. There are countless real world examples of where developer failure led to the loss or theft of vast amounts of tokens. To name two big ones: an issue that has become known as the Parity bug led to the irreparable loss of millions of dollars worth of Ethereum. Second, the hacking of The DAO (a "Decentralized Autonomous Organization") caused financial damage so great that the Ethereum Foundation decided to issue a contentious hard fork that undid the theft. These and many other mistakes could have been prevented in the design of the language itself.

### Clarity is interpreted, not compiled

Clarity code is interpreted and committed to the chain exactly as written. Solidity and other languages are compiled to byte-code before it is submitted to the chain. The danger of compiled smart contract languages is two-fold: first, a compiler adds a layer of complexity. A bug in the compiler may lead to different byte-code than was intended and thus carries the risk of introducing a vulnerability. Second, byte-code is not human-readable, which makes it very hard to verify what the smart contract is actually doing. Ask yourself, would you sign a contract you cannot read? If your answer is no, then why should it be any different for smart contracts?2 With Clarity, what you see is what you get.

### Clarity is decidable

A decidable language has the property that from the code itself, you can know with certainty what the program will do. This avoids issues like the halting problem. With Clarity you know for sure that given any input, the program will halt in a finite number of steps. In simple terms: it is guaranteed that program execution will end. Decidability also allows for complete static analysis of the call graph so you get an accurate picture of the exact cost before execution. There is no way for a Clarity call to "run out of gas" in the middle of the call. If you are unsure what this means, let it not worry you for now. The serious advantage of decidability will become more apparent over time.

### Clarity does not permit reentrancy

Reentrancy is a situation where one smart contract calls into another, which then calls back into the first contract—the call "re-enters" the same logic. It may allow an attacker to trigger multiple token withdrawals before the contract has had a chance to update its internal balance sheet. Clarity's design considers reentrancy an anti-feature and disallows it on the language level.

### Clarity guards against overflow and underflows

Overflows and underflows happen when a calculation results in a number that is either too large or too small to be stored, respectively. These events throw smart contracts into disarray and may intentionally be triggered in poorly written contracts by attackers. Usually this leads to a situation where the contract is either frozen or drained of tokens. Overflows and underflows of any kind automatically cause a transaction to be aborted in Clarity.

### Support for custom tokens is built-in

Issuance of custom fungible and non-fungible tokens is a popular use-case for smart contracts. Custom token features are built into the Clarity language. Developers do not need to worry about creating an internal balance sheet, managing supply, and emitting token events. Creating custom tokens is covered in depth in later chapters.

### On Stacks, transactions are secured by post conditions

In order to further safeguard user tokens, post conditions can be attached to transactions to assert the chain state has changed in a certain way once the transaction has completed. For example, a user calling into a smart contract may attach a post condition that states that after the call completes, exactly 500 STX should have been transferred from one address to another. If the post condition check fails, then the entire transaction is reverted. Since custom token support is built right into Clarity, post conditions can also be used to guard any other token in the same way.

### Returned responses cannot be left unchecked

Public contract calls must return a so-called response that indicates success or failure. Any contract that calls another contract is required to properly handle the response. Clarity contracts that fail to do so are invalid and cannot be deployed on the network. Other languages like Solidity permit the use of low level calls without requiring the return value to be checked. For example, a token transfer can fail silently if the developer forgets to check the result. In Clarity it is not possible to ignore errors, although that obviously does prevent buggy error handling on behalf of the developer. Responses and error handling are covered extensively in the chapters on functions and control flow.

### Composition over inheritance

Clarity adopts a composition over inheritance. It means that Clarity smart contracts do not inherit from one another like you see in languages like Solidity. Developers instead define traits which are then implemented by different smart contracts. It allows contracts to conform to different interfaces with greater flexibility. There is no need to worry about complex class trees and contracts with implicit inherited behavior.

### Access to the base chain: Bitcoin

Clarity smart contracts can read the state of the Bitcoin base chain. It means you can use Bitcoin transactions as a trigger in your smart contracts! Clarity also features a number of built-in functions to verify secp256k1 signatures and recover keys.
Loading