Skip to content

Commit

Permalink
Merge pull request #435 from trilitech/root-relative-links
Browse files Browse the repository at this point in the history
Root relative links
  • Loading branch information
timothymcmackin authored Aug 29, 2024
2 parents 6d44666 + cde3b24 commit d0b88dc
Show file tree
Hide file tree
Showing 98 changed files with 294 additions and 288 deletions.
16 changes: 8 additions & 8 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ This protocol is responsible for interpreting the operations in each block.
It also provides the logic that identifies erroneous blocks.

Updates to the protocol can change this logic through a voting process, using dedicated voting operations such as protocol proposals or protocol upvotes.
For information about the voting process, see [Governance](./architecture/governance).
For information about the voting process, see [Governance](/architecture/governance).

The protocol has constants such as the time between blocks and the amount of tez that an account must stake to be a baker.
These constants can be different for different Tezos networks.
Expand Down Expand Up @@ -116,7 +116,7 @@ For example, different bakers may implement different transaction selection stra

The node accepts calls from clients through its RPC interface.
It has control over which clients to accept calls from, which calls to accept, or whether to accept RPC calls at all.
For more information on the RPC interface, see [The RPC interface](./architecture/rpc).
For more information on the RPC interface, see [The RPC interface](/architecture/rpc).

### The baker daemon

Expand Down Expand Up @@ -167,9 +167,9 @@ They are an important part of block explorers, which are applications that provi

For more information about the architecture of Tezos, see:

- [Accounts and addresses](./architecture/accounts)
- [Tokens](./architecture/tokens)
- [Smart Optimistic Rollups](./architecture/smart-rollups)
- [Governance](./architecture/governance)
- [Indexers](./developing/information/indexers)
- [Block explorers](./developing/information/block-explorers)
- [Accounts and addresses](/architecture/accounts)
- [Tokens](/architecture/tokens)
- [Smart Optimistic Rollups](/architecture/smart-rollups)
- [Governance](/architecture/governance)
- [Indexers](/developing/information/indexers)
- [Block explorers](/developing/information/block-explorers)
4 changes: 2 additions & 2 deletions docs/architecture/accounts.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Tezos uses these types of accounts:
Any wallet application or the Octez command-line tool can create user accounts.

- Smart contract accounts (sometimes known as _originated accounts_) store immutable code, mutable storage, tez (ꜩ), and tickets.
See [Smart contracts](../smart-contracts).
See [Smart contracts](/smart-contracts).

### Revealing accounts

Expand All @@ -31,4 +31,4 @@ To reveal an account, send any transaction from it, such as calling a smart cont
- Smart Rollups have addresses, but are not accounts because they cannot store tez.
Their addresses start with "SR1".
They have a tree of commitments attached to them.
See [Smart Optimistic Rollups](./smart-rollups).
See [Smart Optimistic Rollups](/architecture/smart-rollups).
4 changes: 2 additions & 2 deletions docs/architecture/data-availability-layer.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ last_update:
The Data Availability Layer (DAL) is a companion peer-to-peer network for the Tezos blockchain, designed to provide additional data bandwidth to Smart Rollups.
It allows users to share large amounts of data in a way that is decentralized and permissionless, because anyone can join the network and post and read data on it.

For a tutorial on how to use the DAL, see [Implement a file archive with the DAL and a Smart Rollup](../tutorials/build-files-archive-with-dal).
For a tutorial on how to use the DAL, see [Implement a file archive with the DAL and a Smart Rollup](/tutorials/build-files-archive-with-dal).

## How the DAL works

Expand Down Expand Up @@ -108,7 +108,7 @@ Sending data to the DAL is a two-step process:
with proof "${proof}"
```

For an example of sending larger amounts of data, see [Implement a file archive with the DAL and a Smart Rollup](../tutorials/build-files-archive-with-dal).
For an example of sending larger amounts of data, see [Implement a file archive with the DAL and a Smart Rollup](/tutorials/build-files-archive-with-dal).

## Getting data from the DAL

Expand Down
4 changes: 2 additions & 2 deletions docs/architecture/governance.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ last_update:
---

Tezos incorporates a built-in, on-chain mechanism for proposing, selecting, testing, and activating protocol upgrades without the need to hard fork.
This mechanism makes Tezos a self-amending blockchain and allows any user to propose changes to the [economic protocol](../architecture#the-tezos-self-amending-protocol), which defines the possible blockchain operations and how they are processed.
This mechanism makes Tezos a self-amending blockchain and allows any user to propose changes to the [economic protocol](/architecture#the-tezos-self-amending-protocol), which defines the possible blockchain operations and how they are processed.


This self-amendment process is separate from the less formal [Tezos Improvement Process](./governance/improvement-process).
This self-amendment process is separate from the less formal [Tezos Improvement Process](/architecture/governance/improvement-process).

## Amendment periods

Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/governance/amendment-history.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ last_update:
date: 6 June 2024
---

As presented in [Governance](../governance), the Tezos blockchain is constantly evolving, through new amendments.
As presented in [Governance](/architecture/governance), the Tezos blockchain is constantly evolving, through new amendments.

These approved amendments form the history of the Tezos protocol:

Expand Down
4 changes: 2 additions & 2 deletions docs/architecture/smart-rollups.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ During normal execution, the Smart Rollup can use any virtual machine that is co
Using the PVM and optionally a compatible VM guarantees that if a divergence in results is found, it can be tracked down to a single elementary step that was not executed correctly by some node.
In this way, multiple nodes can run the same rollup and each node can verify the state of the rollup.

For a tutorial on Smart Rollups, see [Deploy a Smart Rollup](../tutorials/smart-rollup).
For a tutorial on Smart Rollups, see [Deploy a Smart Rollup](/tutorials/smart-rollup).

For reference on Smart Rollups, see [Smart Optimistic Rollups](https://tezos.gitlab.io/active/smart_rollups.html) in the Octez documentation.

Expand Down Expand Up @@ -46,7 +46,7 @@ Smart Rollups are limited to information from these sources:

- The Smart Rollup inbox, which contains messages from layer 1 to all rollups
- The reveal data channel, which allows Smart Rollups to request information from outside sources
- The [Data availability layer](./data-availability-layer)
- The [Data availability layer](/architecture/data-availability-layer)

These are the only sources of information that rollups can use.
In particular, Smart Rollup nodes cannot communicate directly with each other; they do not have a peer-to-peer communication channel like layer 1 nodes.
Expand Down
10 changes: 5 additions & 5 deletions docs/architecture/tokens.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ However, Tezos also offers a built-in abstraction called tickets, which are fung

To start right away using tokens, see these tutorials:

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

## Fungible tokens

Expand Down Expand Up @@ -113,9 +113,9 @@ Tezos provides two standards for tokens.
The standard that you use for your tokens depends on the kind of tokens that you want to create.
These standards are named with the prefix FA, which stands for _financial application_.

- [FA1.2](./tokens/FA1.2) tokens are fungible tokens
- [FA2](./tokens/FA2) tokens can be multiple types of tokens, including fungible and non-fungible tokens, and a single smart contract that follows this standard can create multiple types of tokens
- [FA2.1](./tokens/FA2.1) tokens can be multiple types of tokens like FA2 tokens, and they include features of FA1.2 tokens and of tickets
- [FA1.2](/architecture/tokens/FA1.2) tokens are fungible tokens
- [FA2](/architecture/tokens/FA2) tokens can be multiple types of tokens, including fungible and non-fungible tokens, and a single smart contract that follows this standard can create multiple types of tokens
- [FA2.1](/architecture/tokens/FA2.1) tokens can be multiple types of tokens like FA2 tokens, and they include features of FA1.2 tokens and of tickets

You can use templates for smart contracts adhering to these standards, instead of writing your own contract from scratch:

Expand Down
8 changes: 4 additions & 4 deletions docs/architecture/tokens/FA2.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ For the full details of the FA2.1 standard, see [Tezos Improvement Proposal 26 (

- FA2.1 allows contracts to export tokens as tickets, use those tickets outside of the contract, and import those tickets back into the contract.

- FA2.1 includes on-chain [views](../../smart-contracts/views) that allow contracts to provide information to on-chain and off-chain applications.
- FA2.1 includes on-chain [views](/smart-contracts/views) that allow contracts to provide information to on-chain and off-chain applications.

- FA2.1 includes [events](../../smart-contracts/events), which provide notifications of token-related activity to off-chain applications.
- FA2.1 includes [events](/smart-contracts/events), which provide notifications of token-related activity to off-chain applications.

- FA2.1 adds the concept of allowances from FA1.2 so contracts can use operators or allowances to control access to tokens.

Expand All @@ -30,11 +30,11 @@ For examples of FA2.1 contracts, see the [Implementation](https://gitlab.com/tez
Like FA2 tokens, each FA2.1 token has metadata that describes what the token represents.
The standard provides multiple options for the structure of the metadata and it refers to other standards for how the metadata is stored.
FA2.1 suggests that contracts store metadata according to [TZIP-21](https://gitlab.com/tezos/tzip/-/blob/master/proposals/tzip-21/tzip-21.md), which is an extension of the TZIP-16 metadata standard used in FA2.
For examples of working with metadata, see the NFT-related tutorials at [Create an NFT](../../tutorials/create-an-nft).
For examples of working with metadata, see the NFT-related tutorials at [Create an NFT](/tutorials/create-an-nft).

## Tickets

A major change in FA2.1 is that contracts can optionally export [tickets](../../smart-contracts/data-types/complex-data-types#tickets) that represent tokens.
A major change in FA2.1 is that contracts can optionally export [tickets](/smart-contracts/data-types/complex-data-types#tickets) that represent tokens.
In this case, the contract decreases an owner's balance of tokens and creates a ticket that represents those tokens.
It keeps the total balance of the tokens in its ledger the same.
Then the ticket owner can transfer the ticket without using the original contract, similar to a wrapped token.
Expand Down
4 changes: 2 additions & 2 deletions docs/architecture/tokens/FA2.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ For the full details of the FA2 standard, see [Tezos Improvement Proposal 12 (TZ

## Examples

For examples of FA2 contracts, see [Sample smart contracts](../../smart-contracts/samples).
For examples of FA2 contracts, see [Sample smart contracts](/smart-contracts/samples).

## Metadata

Any FA2 token has some metadata that describes what the token represents.
The standard provides multiple options for the structure of the metadata and it refers to other standards for how the metadata is stored.
FA2 suggests that contracts store metadata according to [TZIP-16](https://gitlab.com/tezos/tzip/-/blob/master/proposals/tzip-16/tzip-16.md).
For examples of working with metadata, see the NFT-related tutorials at [Create an NFT](../../tutorials/create-an-nft).
For examples of working with metadata, see the NFT-related tutorials at [Create an NFT](/tutorials/create-an-nft).

## Operators

Expand Down
16 changes: 8 additions & 8 deletions docs/dApps.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ Decentralized applications (dApps or Dapps) take advantage of these features to
In general, dApps have these parts:

- **Frontend**: An off-chain component that can act as a user interface to simplify interaction with the on-chain component, run off-chain processing, and get information from sources that are not available to the on-chain component
- **Middleware**: Optionally, an [indexer](./developing/information/indexers) to interpret the backend information and provide it in a more convenient format for the front-end component
- **Backend**: An on-chain component that consists of one or more [smart contracts](./smart-contracts)
- **Middleware**: Optionally, an [indexer](/developing/information/indexers) to interpret the backend information and provide it in a more convenient format for the front-end component
- **Backend**: An on-chain component that consists of one or more [smart contracts](/smart-contracts)

The off-chain component can be nearly any kind of program, including a web application, mobile or desktop app, or command-line interface.
It relies on wallets and tools to interact with the smart contracts on behalf of a user's Tezos account.
Expand All @@ -22,16 +22,16 @@ It relies on wallets and tools to interact with the smart contracts on behalf of

Some of these tools that allow an off-chain component to interact with smart contracts include:

- [Taquito](./dApps/taquito), an SDK for JavaScript/TypeScript applications
- The [Tezos Unity SDK](./unity), a toolkit for the [Unity](https://unity.com/) game development platform
- [Taquito](/dApps/taquito), an SDK for JavaScript/TypeScript applications
- The [Tezos Unity SDK](/unity), a toolkit for the [Unity](https://unity.com/) game development platform
- [Taqueria](https://taqueria.io/), a development platform for dApps

The next pages in this section illustrate dApps with [examples](./dApps/samples), detail the main steps when developing dApps such as [Connecting to wallets](./dApps/wallets) and [Sending transactions](./dApps/sending-transactions), and introduce some [best practices](./dApps/best-practices)
The next pages in this section illustrate dApps with [examples](/dApps/samples), detail the main steps when developing dApps such as [Connecting to wallets](/dApps/wallets) and [Sending transactions](/dApps/sending-transactions), and introduce some [best practices](/dApps/best-practices)

## Tutorials

These tutorials cover dApps of different complexities:

- 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)
- 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/samples.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ last_update:

Here are some sample web applications that access Tezos:

- Completed applications from the [tutorials on this website](../tutorials/) are in the repository https://github.com/trilitech/tutorial-applications
- Completed applications from the [tutorials on this website](/tutorials/) are in the repository https://github.com/trilitech/tutorial-applications
- Example applications that use Taquito: https://tezostaquito.io/docs/contracts_collection/
- A sample application that uses Taqueria: https://taqueria.io/docs/scaffolds/taco-shop/
10 changes: 5 additions & 5 deletions docs/dApps/sending-transactions.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ These calls can include:

Tools can originate a smart contract from source code.

For information about calling contracts from other contracts, see [Operations](../smart-contracts/logic/operations).
For information about calling contracts from other contracts, see [Operations](/smart-contracts/logic/operations).

## Taquito

You can use the Taquito SDK to send transactions from JavaScript/TypeScript applications.
For more information about Taquito, see [Taquito](./taquito).
For more information about Taquito, see [Taquito](/dApps/taquito).

### Sending tez

Expand Down Expand Up @@ -94,7 +94,7 @@ console.log(parameterSchema.ExtractSignatures());

The response shows the entrypoints in the contract and the parameters that they accept.

For example, the [FA2](../architecture/tokens/FA2) `transfer` entrypoint appears like this:
For example, the [FA2](/architecture/tokens/FA2) `transfer` entrypoint appears like this:

```json
[
Expand Down Expand Up @@ -181,7 +181,7 @@ console.log(
);
```

For more 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 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 Expand Up @@ -234,4 +234,4 @@ const result = await dAppClient.requestOperation({
## Octez

The Octez command-line client can send tez and call contracts from the command line.
See [Interacting with contracts](../developing/octez-client/transactions).
See [Interacting with contracts](/developing/octez-client/transactions).
6 changes: 3 additions & 3 deletions docs/dApps/wallets.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ The primary tools that dApps use to connect to wallets are:

Taquito provides a wrapper for Beacon so dApps can interact with wallets and with Tezos with the same code.

For more information about Taquito, see [Taquito](./taquito).
For more information about Taquito, see [Taquito](/dApps/taquito).

## 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 a simple web application](../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 a simple web application](../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
6 changes: 3 additions & 3 deletions docs/developing.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ Developing dApps on Tezos is not very different from developing other types of c

Wallets maintain a user's credentials and signs transactions on their behalf.
In most cases, Tezos developers need a wallet to submit transactions to their dApps.
See [Installing and funding a wallet](developing/wallet-setup).
See [Installing and funding a wallet](/developing/wallet-setup).

### The Octez client

The Octez client lets you work with accounts and smart contracts from the command line.
For more information, see [The Octez client](developing/octez-client).
For more information, see [The Octez client](/developing/octez-client).

## IDEs and extensions

Expand Down Expand Up @@ -62,6 +62,6 @@ To test smart contracts and dApps, you can use these test environments:
- Sandbox environments like [Flextesa](https://tezos.gitlab.io/flextesa/) run Tezos nodes locally on your computer in a sandbox mode.
- You can also set up your own private test network.

For more information about test environments, see [Testing on sandboxes and testnets](developing/testnets).
For more information about test environments, see [Testing on sandboxes and testnets](/developing/testnets).

LIGO and SmartPy also have built-in testing capabilities.
Loading

0 comments on commit d0b88dc

Please sign in to comment.