Merge branch 'dev' into 'dev'
Fix Various Issues With The Docs See merge request ligolang/ligo!58
This commit is contained in:
commit
695ae33483
@ -4,6 +4,11 @@
|
|||||||
|
|
||||||
The website will be available at [http://localhost:3000](http://localhost:3000)
|
The website will be available at [http://localhost:3000](http://localhost:3000)
|
||||||
|
|
||||||
```zsh
|
To get the website running you want to do the commands:
|
||||||
|
|
||||||
|
```
|
||||||
|
cd website
|
||||||
|
npm run version next
|
||||||
|
cd ..
|
||||||
docker-compose up
|
docker-compose up
|
||||||
```
|
```
|
@ -16,6 +16,7 @@ title: Cheat Sheet
|
|||||||
|Natural numbers | `42n`, `7n`|
|
|Natural numbers | `42n`, `7n`|
|
||||||
|Unit| `unit`|
|
|Unit| `unit`|
|
||||||
|Boolean|<pre><code>const hasDriversLicense: bool = False;<br/>const adult: bool = True;</code></pre> |
|
|Boolean|<pre><code>const hasDriversLicense: bool = False;<br/>const adult: bool = True;</code></pre> |
|
||||||
|
|Boolean Logic|<pre><code>(not True) == False == (False and True) == (False or False)</code></pre>|
|
||||||
|Mutez (micro tez)| `42mtz`, `7mtz` |
|
|Mutez (micro tez)| `42mtz`, `7mtz` |
|
||||||
|Address | `"tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx"`, `"KT1JepfBfMSqkQyf9B1ndvURghGsSB8YCLMD"`|
|
|Address | `"tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx"`, `"KT1JepfBfMSqkQyf9B1ndvURghGsSB8YCLMD"`|
|
||||||
|Addition |`3 + 4`, `3n + 4n`|
|
|Addition |`3 + 4`, `3n + 4n`|
|
||||||
@ -26,16 +27,18 @@ title: Cheat Sheet
|
|||||||
|Includes|```#include "library.ligo"```|
|
|Includes|```#include "library.ligo"```|
|
||||||
|Functions (short form)|<pre><code>function add (const a : int ; const b : int) : int is<br/> block { skip } with a + b</code></pre>|
|
|Functions (short form)|<pre><code>function add (const a : int ; const b : int) : int is<br/> block { skip } with a + b</code></pre>|
|
||||||
|Functions (long form)|<pre><code>function add (const a : int ; const b : int) : int is<br/> block { <br/> const result: int = a + b;<br/> } with result</code></pre>|
|
|Functions (long form)|<pre><code>function add (const a : int ; const b : int) : int is<br/> block { <br/> const result: int = a + b;<br/> } with result</code></pre>|
|
||||||
|
| If Statement | <pre><code>if age < 16 <br/>then fail("Too young to drive."); <br/>else const new_id: int = prev_id + 1;</code></pre>|
|
||||||
|Options|<pre><code>type middleName is option(string);<br/>const middleName : middleName = Some("Foo");<br/>const middleName : middleName = None;</code></pre>|
|
|Options|<pre><code>type middleName is option(string);<br/>const middleName : middleName = Some("Foo");<br/>const middleName : middleName = None;</code></pre>|
|
||||||
|Assignment| ```const age: int = 5;```|
|
|Assignment| ```const age: int = 5;```|
|
||||||
|Assignment on an existing variable <br/></br>*⚠️ This feature is not supported at the top-level scope, you can use it e.g. within functions. Works for Records and Maps as well.*| ```age := 18;```, ```p.age := 21``` |
|
|Assignment on an existing variable <br/></br>*⚠️ This feature is not supported at the top-level scope, you can use it e.g. within functions. Works for Records and Maps as well.*| ```age := 18;```, ```p.age := 21``` |
|
||||||
|Annotations| ```("tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" : address)```|
|
|Type Annotations| ```("tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" : address)```|
|
||||||
|Variants|<pre><code>type action is<br/>| Increment of int<br/>| Decrement of int</code></pre>|
|
|Variants|<pre><code>type action is<br/>| Increment of int<br/>| Decrement of int</code></pre>|
|
||||||
|Variant *(pattern)* matching|<pre><code>const a: action = Increment(5);<br/>case a of<br/>| Increment(n) -> n + 1<br/>| Decrement(n) -> n - 1<br/>end</code></pre>|
|
|Variant *(pattern)* matching|<pre><code>const a: action = Increment(5);<br/>case a of<br/>| Increment(n) -> n + 1<br/>| Decrement(n) -> n - 1<br/>end</code></pre>|
|
||||||
|Records|<pre><code>type person is record<br/> age: int ;<br/> name: string ;<br/>end<br/><br/>const john : person = record<br/> age = 18;<br/> name = "John Doe";<br/>end<br/><br/>const name: string = john.name;</code></pre>|
|
|Records|<pre><code>type person is record<br/> age: int ;<br/> name: string ;<br/>end<br/><br/>const john : person = record<br/> age = 18;<br/> name = "John Doe";<br/>end<br/><br/>const name: string = john.name;</code></pre>|
|
||||||
|Maps|<pre><code>type prices is map(nat, tez);<br/><br/>const prices : prices = map<br/> 10n -> 60mtz;<br/> 50n -> 30mtz;<br/> 100n -> 10mtz;<br/>end<br/><br/>const price: option(tez) = prices[50n];</code></pre>|
|
|Maps|<pre><code>type prices is map(nat, tez);<br/><br/>const prices : prices = map<br/> 10n -> 60mtz;<br/> 50n -> 30mtz;<br/> 100n -> 10mtz;<br/>end<br/><br/>const price: option(tez) = prices[50n];<br/><br/>prices[200n] := 5mtz;</code></pre>|
|
||||||
|Contracts & Accounts|<pre><code>const destinationAddress : address = "tz1...";<br/>const contract : contract(unit) = get_contract(destinationAddress);</code></pre>|
|
|Contracts & Accounts|<pre><code>const destinationAddress : address = "tz1...";<br/>const contract : contract(unit) = get_contract(destinationAddress);</code></pre>|
|
||||||
|Transactions|<pre><code>const payment : operation = transaction(unit, amount, receiver);</code></pre>|
|
|Transactions|<pre><code>const payment : operation = transaction(unit, amount, receiver);</code></pre>|
|
||||||
|
|Exception/Failure|`fail("Your descriptive error message for the user goes here.")`|
|
||||||
|
|
||||||
<!--END_DOCUSAURUS_CODE_TABS-->
|
<!--END_DOCUSAURUS_CODE_TABS-->
|
||||||
|
|
||||||
|
@ -11,4 +11,5 @@ title: Operators
|
|||||||
|--- |--- |--- |
|
|--- |--- |--- |
|
||||||
| `SENDER` | `sender` | Address that initiated the current transaction
|
| `SENDER` | `sender` | Address that initiated the current transaction
|
||||||
| `SOURCE` | `source` | Address that initiated the transaction, which triggered the current transaction. (useful e.g. when there's a transaction sent by another contract)
|
| `SOURCE` | `source` | Address that initiated the transaction, which triggered the current transaction. (useful e.g. when there's a transaction sent by another contract)
|
||||||
| `AMOUNT` | `amount` | Amount of tez sent by the transaction that invoked the contract
|
| `AMOUNT` | `amount` | Amount of tez sent by the transaction that invoked the contract
|
||||||
|
| `NOW` | `now` | Timestamp of the block whose validation triggered execution of the contract, i.e. current time when the contract is run.
|
@ -3,14 +3,19 @@ id: installation
|
|||||||
title: Installation
|
title: Installation
|
||||||
---
|
---
|
||||||
|
|
||||||
There are currently two ways to get started with Ligo, both of those will allow you to use the Ligo CLI with your contracts. You can choose to use either the Docker image, or to compile & build the Ligo CLI yourself.
|
There are currently two ways to get started with Ligo, both of those will allow you to use the Ligo CLI with your contracts. You can choose to use either a Docker image, or to compile & build the Ligo CLI yourself.
|
||||||
|
|
||||||
## Dockerized installation (recommended)
|
## Dockerized installation (recommended)
|
||||||
|
|
||||||
> 🐳 You can find instructions on how to install Docker [here](https://docs.docker.com/install/).
|
> 🐳 You can find instructions on how to install Docker [here](https://docs.docker.com/install/).
|
||||||
|
|
||||||
Easiest way to use LIGO is through the Docker image available at [Docker Hub](https://hub.docker.com/r/ligolang/ligo). Sources for the image can be found on [Gitlab](https://gitlab.com/ligolang/ligo/blob/dev/docker/Dockerfile).
|
It's easiest to use LIGO through one of its Docker images. You have two options,
|
||||||
You can either run the docker image yourself, or you can setup a global ligo executable as shown below.
|
the first is to use our installation script to set up a globally available LIGO
|
||||||
|
executable (see below). This manages the Docker bits for you. The second
|
||||||
|
is to directly use the Docker image available at [Docker Hub](https://hub.docker.com/r/ligolang/ligo).
|
||||||
|
This lets you run multiple versions and keep your installation(s) self contained, but requires more familiarity with Docker.
|
||||||
|
Sources for the image can be found on [Gitlab](https://gitlab.com/ligolang/ligo/blob/master/docker/Dockerfile).
|
||||||
|
If this is your first time using Docker, you probably want to set up a global ligo executable as shown below.
|
||||||
|
|
||||||
### Setting up a globally available `ligo` executable
|
### Setting up a globally available `ligo` executable
|
||||||
|
|
||||||
|
@ -59,6 +59,8 @@ current_purchase_price = max_price / available_stock
|
|||||||
|
|
||||||
In this tutorial, we'll use LIGO's dockerized version for the sake of simplicity. You can find the installation instructions [here](setup/installation.md#dockerized-installation-recommended).
|
In this tutorial, we'll use LIGO's dockerized version for the sake of simplicity. You can find the installation instructions [here](setup/installation.md#dockerized-installation-recommended).
|
||||||
|
|
||||||
|
The best way to install the dockerized LIGO is as a **global executable** through the installation script, as shown in the screenshot below:
|
||||||
|
|
||||||
<img src="/img/tutorials/get-started/tezos-taco-shop-smart-contract/install-ligo.png" />
|
<img src="/img/tutorials/get-started/tezos-taco-shop-smart-contract/install-ligo.png" />
|
||||||
<div style="opacity: 0.7; text-align: center; font-size: 12px; margin-top:-24px;">Installing the <b>next</b> version of LIGO's CLI</div>
|
<div style="opacity: 0.7; text-align: center; font-size: 12px; margin-top:-24px;">Installing the <b>next</b> version of LIGO's CLI</div>
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ We are looking to develop a Super Type System that has the following features:
|
|||||||
The current version explicitly excludes non-essential features which can produce unexpected explosions in gas costs. To alleviate this constraint, we plan to integrate gas benchmarks on all top-level declarations with some fuzzing. This will allow developers and users to estimate the cost of their contracts in real time.
|
The current version explicitly excludes non-essential features which can produce unexpected explosions in gas costs. To alleviate this constraint, we plan to integrate gas benchmarks on all top-level declarations with some fuzzing. This will allow developers and users to estimate the cost of their contracts in real time.
|
||||||
|
|
||||||
## Getting Started and Contact
|
## Getting Started and Contact
|
||||||
Come visit [our website](ligolang.org)! You can also join our [Discord](https://discord.gg/CmTwFM), Riot (*#ligo-public:matrix.org*) or Telegram Chat (Ligo Public channel).
|
Come visit [our website](https://ligolang.org)! You can also join our [Discord](https://discord.gg/9rhYaEt), Riot (*#ligo-public:matrix.org*) or Telegram Chat (Ligo Public channel).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -97,6 +97,8 @@ class HomeSplash extends React.Component {
|
|||||||
<PromoSection>
|
<PromoSection>
|
||||||
<Button href={docUrl('setup/installation.html')}>Get Started</Button>
|
<Button href={docUrl('setup/installation.html')}>Get Started</Button>
|
||||||
<Button href={docUrl('tutorials/get-started/tezos-taco-shop-smart-contract.html')}>Tutorials</Button>
|
<Button href={docUrl('tutorials/get-started/tezos-taco-shop-smart-contract.html')}>Tutorials</Button>
|
||||||
|
<Button href={docUrl('setup-installation.html')}>Get Started</Button>
|
||||||
|
<Button href={docUrl('tutorials/get-started/tezos-taco-shop-smart-contract')}>Tutorials</Button>
|
||||||
<Button href={docUrl('contributors/origin.html')}>Contribute</Button>
|
<Button href={docUrl('contributors/origin.html')}>Contribute</Button>
|
||||||
</PromoSection>
|
</PromoSection>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user