Skip to content

Commit

Permalink
Merge pull request #277 from trilitech/staging
Browse files Browse the repository at this point in the history
Merge staging into main, Jan 23
  • Loading branch information
timothymcmackin authored Jan 23, 2024
2 parents 8bab376 + 82e003e commit bbb426f
Show file tree
Hide file tree
Showing 36 changed files with 206 additions and 198 deletions.
2 changes: 1 addition & 1 deletion docs/architecture/tokens.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ One exception is tickets, which are directly stored and managed by smart contrac
To learn about tokens, see these tutorials:

- [Create an NFT](../tutorials/create-an-nft)
- [Build your first app on Tezos](../tutorials/build-your-first-app)
- [Build a simple web application](../tutorials/build-your-first-app)

## Fungible and non-fungible tokens

Expand Down
2 changes: 1 addition & 1 deletion docs/dApps.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,6 @@ For information on typical tasks that dApps do, see:

These tutorials cover dApps of different complexities:

- For a simple dApp, see [Build your first app on Tezos](./tutorials/build-your-first-app)
- For a simple dApp, see [Build a simple web application](./tutorials/build-your-first-app)
- For a dApp that mints NFTs, see [Mint NFTs from a web app](./tutorials/create-an-nft/nft-web-app)
- For a large dApp that allows users to buy and sell NFTs, see [Build an NFT marketplace](./tutorials/build-an-nft-marketplace)
2 changes: 1 addition & 1 deletion docs/dApps/sending-transactions.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ try {
}
```

For examples of calling smart contracts, see tutorials such as [Build your first app on Tezos](../tutorials/build-your-first-app) or [Create a contract and web app that mints NFTs](../tutorials/create-an-nft/nft-taquito).
For examples of calling smart contracts, see tutorials such as [Build a simple web application](../tutorials/build-your-first-app) or [Create a contract and web app that mints NFTs](../tutorials/create-an-nft/nft-taquito).

For more information about using Taquito, see [Smart contracts](https://tezostaquito.io/docs/smartcontracts) in the Taquito documentation.

Expand Down
4 changes: 2 additions & 2 deletions docs/dApps/wallets.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ The primary tools that dApps use to connect to wallets are:
## Beacon and Taquito

Most of the time, dApps use Beacon and Taquito together for a straightforward way to connect to wallets and submit transactions.
For an example, see the tutorial [Build your first app on Tezos](../tutorials/build-your-first-app).
For an example, see the tutorial [Build a simple web application](../tutorials/build-your-first-app).

### Connecting to wallets

Expand All @@ -49,7 +49,7 @@ const address = await wallet.getPKH();
When this code runs, Beacon opens a popup window that guides the user through connecting their wallet.

Then the application can send transactions to Tezos.
See [Part 3: Sending transactions](../tutorials/build-your-first-app/sending-transactions) in the tutorial [Build your first app on Tezos](../tutorials/build-your-first-app).
See [Part 3: Sending transactions](../tutorials/build-your-first-app/sending-transactions) in the tutorial [Build a simple web application](../tutorials/build-your-first-app).

### Reconnecting to wallets

Expand Down
2 changes: 1 addition & 1 deletion docs/developing/testnets.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Waiting for the next block every time you inject a new transaction takes a lot o

To make testing a lot faster, options are available, depending on the language and tools you are using, that don't use a network or even a single node at all, and skip all the consensus mechanism steps.

- The **Michelson interpreter** is an OCaml function that can be used by tools to simulate a call to any entry point of any smart contract, given an initial value of the storage and parameters. Some programming languages like **LIGO** or **Smartpy** use this as part of their testing frameworks.
- The **Michelson interpreter** is an OCaml function that can be used by tools to simulate a call to any entry point of any smart contract, given an initial value of the storage and parameters. Some programming languages like **LIGO** or **SmartPy** use this as part of their testing frameworks.

- The **mockup mode** of `octez-client` can be used to test contract calls and other features such as some RPC calls, all without running an actual node, saving the time of going through the consensus mechanism and waiting to get blocks created and validated. Tools like **Completium**, built by the team behind the **Archetype** language, use this for their testing framework. Find out more in the [documentation of the mockup mode](https://tezos.gitlab.io/user/mockup.html).

Expand Down
2 changes: 1 addition & 1 deletion docs/overview/common-applications.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Tezos is being used by the French Armies and Gendarmerie's Information Center to

In recent years, the concept of Central Bank Digital Currencies (CBDCs) has gained traction, with several countries around the world exploring their own CBDC projects. Société Générale carried out a series of successful tests [using Tezos](https://decrypt.co/112127/societe-generales-crypto-division-lands-regulatory-approval-france) to explore the potential of CBDCs. In September 2020, the bank announced that it had completed a pilot program using a custom-built version of the Tezos blockchain to simulate the issuance and circulation of CBDCs. The pilot involved testing the technology's ability to handle transactions, make payments, and settle transactions in a digital environment.

The Califonia DMV is also using Tezos for its project to [put car titles on the blockchain](https://fortune.com/crypto/2023/01/26/california-announces-dmv-run-blockchain-through-partnership-with-tezos/).
The California DMV is also using Tezos for its project to [put car titles on the blockchain](https://fortune.com/crypto/2023/01/26/california-announces-dmv-run-blockchain-through-partnership-with-tezos/).

[Sword Group](https://www.sword-group.com/2020/09/28/sword-launches-tezos-digisign/) an international technology company, launched DigiSign, an open-source tool built on Tezos that enables users to digitally sign, certify, and verify the authenticity of digital documents.

Expand Down
2 changes: 1 addition & 1 deletion docs/overview/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
Simple page to provide links to tutorials and what you learn from each one.

- To learn about smart contracts, go to 'Deploy your first smart contract'
- To learn about dApps, go to 'Build your first app on Tezos'
- To learn about dApps, go to 'Build a simple web application'
4 changes: 2 additions & 2 deletions docs/smart-contracts/creating.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ This documentation provides step-by-step instructions for creating smart contrac
## Choosing your smart contract language
Tezos supports a variety of smart contract [languages](./languages): Michelson, SmartPy, LIGO, Archetype.

You can select a language based on your familarity with programming paragims, the complexity of the contract you want to deploy, and the specific features you require. Here's a more detailed table for each language:
You can select a language based on your familiarity with programming paradigms, the complexity of the contract you want to deploy, and the specific features you require. Here's a more detailed table for each language:

| | **Michelson** | **SmartPy** | **LIGO** | **Archetype** |
|:----------------:|:----------------------------------------------------------:|:-----------------------------------------------------:|:-------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------:|
| **Complexity** | High (stack-based, low-level) | Low (Python-like, high-level) | Moderate (various high-level syntaxes) | Moderate (includes formal specification features) |
| **Capabilities** | Full control over contract, optimal for gas efficiency | Easy to write, automatically manages stack operations | Statically-typed, strong error checking | Specialized for formal verification and correctness |
| **Use Cases** | Optimized contracts, developers with blockchain experience | Python developers, rapid prototyping | Developers familiar with static typing, variety of mainstream programming backgrounds | High-security contracts, developers looking for formal proof of contract behavior |

For beginners, we recommand **SmartPy** or **LIGO** for their higher-level more abstracted approach.
For beginners, we recommend **SmartPy** or **LIGO** for their higher-level more abstracted approach.


## Making a strategic choice
Expand Down
4 changes: 2 additions & 2 deletions docs/smart-contracts/data-types/primitive-data-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,8 @@ For more information about serialization, see [Serialization](../serialization).

Boolean types on Tezos (`bool`) work the same way as in most programming languages.

- A boolean value can be `True` or `False`
- Comparison operators produce boolean values
- A Boolean value can be `True` or `False`
- Comparison operators produce Boolean values
- Boolean values can be used in conditional statements or `while` loops
- The usual logic operators are supported: `AND`, `OR`, `XOR`, `NOT`

Expand Down
4 changes: 2 additions & 2 deletions docs/smart-contracts/languages/ligo.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ LIGO is a functional programming language that is intended to be both user-frien

LIGO offers two syntaxes:

- JsLIGO, a sytax that is inspired by TypeScript/JavaScript
- JsLIGO, a syntax that is inspired by TypeScript/JavaScript
- CameLIGO, a syntax that is inspired by OCaml

You can use either syntax and compile to Michelson to run on Tezos.

To learn LIGO, see these tutorials:

- [Deploy a smart contract with CameLIGO](../../tutorials/smart-contract/cameligo)
- [Deploy a smart contract with jsLIGO](../../tutorials/smart-contract/jsligo)
- [Deploy a smart contract with JsLIGO](../../tutorials/smart-contract/jsligo)

Let's define a LIGO contract in the two flavours above.

Expand Down
4 changes: 2 additions & 2 deletions docs/tutorials.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ These tutorials contain multiple parts and are intended for developers with some
/>

<TutorialCard
title="Build your first app on Tezos"
title="Build a simple web application"
emoji="💡"
href="/tutorials/build-your-first-app/"
description="Learn how to set up and create a decentralized web application on Tezos using TypeScript, Taquito, and Svelte"
Expand All @@ -70,7 +70,7 @@ These tutorials contain multiple parts and are intended for developers with some
/>

<TutorialCard
title="Create an NFT from the command line"
title="Create NFTs from the command line"
emoji="⚡️"
href="/tutorials/create-an-nft/nft-tznft"
description="Learn about NFTs and how to create them from files on your computer"
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/build-an-nft-marketplace/part-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ To save time, this tutorial provides a starter React application.
```

This application contains basic navigation and the ability to connect to wallets.
For a tutorial that includes connecting to wallets, see [Build your first app on Tezos](../build-your-first-app).
For a tutorial that includes connecting to wallets, see [Build a simple web application](../build-your-first-app).

Because Taqueria automatically keeps track of your deployed contract, the application automatically accesses the contract and shows that there are no NFTs in it yet.
The application looks like this:
Expand Down
12 changes: 5 additions & 7 deletions docs/tutorials/build-files-archive-with-dal.mdx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: Implementing a file archive with the DAL and a Smart Rollup
title: Implement a file archive with the DAL and a Smart Rollup
authors: 'Tezos Core Developers'
last_update:
date: 17 January 2024
date: 22 January 2024
---

import LucidDiagram from '@site/src/components/LucidDiagram';
Expand Down Expand Up @@ -143,11 +143,9 @@ The overall workflow is summarized in the following figure:

There are many steps in the DAL process, but the most complicated parts (storing and sharing data) are handled automatically by the various daemons in the Octez suite.

:::note The Smart Rollup installer does not support the DAL
As of today, the Smart Rollup installer does not support the DAL as a
data availability solution. This means we will need to rely on the reveal
channel to initialize our Smart Rollup correctly (which is not ideal for a
decentralized file archive).
:::note
When you install a Smart Rollup, you provide only the installer kernel on layer 1 and the full kernel via the reveal data channel.
Currently, you cannot send the full kernel data over the data availability layer, so this tutorial relies on the reveal data channel to install the kernel as usual.
:::

When your environment is ready, get started by going to [Part 1: Getting the DAL parameters](./build-files-archive-with-dal/get-dal-params).
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ In these steps, you set up a simple Smart Rollup to get the current DAL paramete

## Prerequisites

Before you begin, make sure that you have installed the prerequisites and set up an environment and an account as described in [Implementing a File Archive with the DAL and a Smart Rollup](../build-files-archive-with-dal).
Before you begin, make sure that you have installed the prerequisites and set up an environment and an account as described in [Implement a file archive with the DAL and a Smart Rollup](../build-files-archive-with-dal).

## Fetching the DAL parameters in a kernel

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The other operations fail and the clients must re-submit the data to be included
For this reason, clients should check the status of slots to avoid conflicts.
For example, slots 0, 30, and 31 are often used for regression tests.

To see which slots are in use, you can use the Explorus indexer at https://explorus.io/dal.
To see which slots are in use, you can use the Explorus indexer at https://explorus.io/dal and select Weeklynet.
For example, this screenshot shows that slots 10 and 25 are in use:

![The Explorus indexer, showing the slots that are in use in each block](/img/tutorials/dal-explorus-slots.png)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ last_update:
Now that you can get information about the DAL, the next step is to publish data to it and verify that the kernel can access it.

:::note Planning ahead
Before trying to run the code yourself, look at [Explorus](https://explorus.io/dal) and choose a slot that is not currently being used.
Before trying to run the code yourself, look at [Explorus](https://explorus.io/dal), select Weeklynet, and choose a slot that is not currently being used.
:::

The examples in this tutorial use slot 10.
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/build-your-first-app.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Build your first app on Tezos
title: Build a simple web application
authors: 'Claude Barde, Tim McMackin'
last_update:
date: 17 October 2023
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/create-an-nft.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ title: Create an NFT
There are many ways to create (or "mint") NFTs; in particular, you can create all of the NFTs in a collection at once or set up an application that can create NFTs as users request them.
Try one of these tutorials to see different ways of minting NFTs:

- [Create NFTs with the `tznft` tool](./create-an-nft/nft-tznft): Create metadata files to describe NFTs and then use a command-line tool to mint them and manipulate them
- [Create NFTs from the command line](./create-an-nft/nft-tznft): Create metadata files to describe NFTs and then use a command-line tool to mint them and manipulate them
- [Mint NFTs from a web app](./create-an-nft/nft-web-app): Use a pre-existing contract to create NFTs from a web application
- [Create a contract and web app that mints NFTs](./create-an-nft/nft-taquito): Set up a web application that authorized users can use to create NFTs and all users can use to see the NFTs in a collection
4 changes: 2 additions & 2 deletions docs/tutorials/create-an-nft/nft-tznft.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Create NFTs with the `tznft` tool
title: Create NFTs from the command line
authors: 'Sol Lederer, Tim McMackin'
last_update:
date: 18 September 2023
Expand Down Expand Up @@ -505,7 +505,7 @@ The command is the same as for the sandbox:
The block explorer shows information about the contract that manages the NFTs, including a list of all NFTs in the contract, who owns them, and a list of recent transactions.
Now the NFTs are on Tezos ghostnet and you can transfer and manipulate them just like you did in the sandbox.
Now the NFTs are on Tezos Ghostnet and you can transfer and manipulate them just like you did in the sandbox.
You may need to create and fund more account aliases to transfer them, but the commands are the same.
For example, to transfer NFTs to an account with the alias `other-account`, run this command:
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/create-an-nft/nft-web-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ You will learn:

## Prerequisites

This tutorial uses [Javascript](https://www.javascript.com/), so it will be easier if you are familiar with JavaScript.
This tutorial uses [JavaScript](https://www.javascript.com/), so it will be easier if you are familiar with JavaScript.

- You do not need any familiarity with any of the libraries in the tutorial, including [Taquito](https://tezostaquito.io/), a JavaScript library that helps developers access Tezos.

Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/dapp.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ sequenceDiagram
You will learn :

- How to create a Tezos project with Taqueria.
- How to create a smart contract in jsLIGO.
- How to create a smart contract in JsLIGO.
- How to deploy the smart contract a real testnet named Ghostnet.
- How to create a frontend dApp using Taquito library and interact with a Tezos browser wallet.
- How to use an indexer like TZKT.
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/dapp/part-2.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ sequenceDiagram

Explanation:

- `...store` do a copy by value of your object. [Have a look on the Functional updates documentation](https://ligolang.org/docs/language-basics/maps-records/#functional-updates). Note: you cannot do assignment like this `store.pokeTraces=...` in jsLIGO, there are no concept of Classes, use `Functional updates` instead.
- `...store` do a copy by value of your object. [Have a look on the Functional updates documentation](https://ligolang.org/docs/language-basics/maps-records/#functional-updates). Note: you cannot do assignment like this `store.pokeTraces=...` in JsLIGO, there are no concept of Classes, use `Functional updates` instead.
- `Map.add(...`: Add a key, value entry to a map. For more information about [Map](https://ligolang.org/docs/language-basics/maps-records/#maps).
- `export type storage = {...};` a `Record` type is declared, it is an [object structure](https://ligolang.org/docs/language-basics/maps-records#records).
- `Tezos.get_self_address()` is a native function that returns the current contract address running this code. Have a look on [Tezos native functions](https://ligolang.org/docs/reference/current-reference).
Expand Down
Loading

1 comment on commit bbb426f

@vercel
Copy link

@vercel vercel bot commented on bbb426f Jan 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.