diff --git a/docs/node-operators/archive-node.mdx b/docs/node-operators/archive-node.mdx index 930d36be6..8420855cf 100644 --- a/docs/node-operators/archive-node.mdx +++ b/docs/node-operators/archive-node.mdx @@ -47,13 +47,13 @@ Running an archive node requires some knowledge of managing a PostgreSQL databas - Ubuntu/Debian: ``` - sudo apt-get install mina-archive=1.3.0-9b0369c + sudo apt-get install mina-archive=1.4.0-c980ba8 ``` - Docker: ``` - minaprotocol/mina-archive:1.3.0-9b0369c-bullseye + minaprotocol/mina-archive:1.4.0-c980ba8-bullseye ``` ## Set up the archive node @@ -155,7 +155,7 @@ To get started with installing and running the archive node using Docker, follow --name archive \ -p 3086:3086 \ -v /tmp/archive:/data \ - minaprotocol/mina-archive:1.3.0-9b0369c-bullseye \ + minaprotocol/mina-archive:1.4.0-c980ba8-bullseye \ mina-archive run \ --postgres-uri postgres://postgres:postgres@postgres:5432/archive \ --server-port 3086 @@ -213,7 +213,7 @@ To run the archive node using Docker Compose: ports: - '5432:5432' archive: - image: 'minaprotocol/mina-archive:1.3.0-9b0369c-bullseye' + image: 'minaprotocol/mina-archive:1.4.0-c980ba8-bullseye' command: >- mina-archive run --postgres-uri postgres://postgres:postgres@postgres:5432/archive --server-port 3086 diff --git a/docs/node-operators/connecting-to-the-network.mdx b/docs/node-operators/connecting-to-the-network.mdx index 6434acd70..6be1dcec0 100644 --- a/docs/node-operators/connecting-to-the-network.mdx +++ b/docs/node-operators/connecting-to-the-network.mdx @@ -38,32 +38,9 @@ Steps to install mina, connect to the Mina Mainnet network, and test connectivit The first step to connecting to Mainnet is to install the latest daemon version. -Follow the steps for your operating system. +### Ubuntu 20.04 and Debian 10, 11, 12 -### Ubuntu 18.04, 20.04 and Debian 9, 10, 11 - -Install the latest **Stable** [Mina Release 1.3.1.2](https://github.com/MinaProtocol/mina/releases/tag/1.3.1.2) or visit the [GitHub Releases Page](https://github.com/MinaProtocol/mina/releases) to install pre-release (Beta) builds. - -To set up the new `stable` package repository and install the latest version: - -```sh -echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/mina.list -sudo apt-get install --yes apt-transport-https -sudo apt-get update -sudo apt-get install --yes curl unzip mina-mainnet=1.3.1.2-25388a0 -``` - -To verify the daemon is correctly installed: - -```sh -mina version -``` - -The expected output is: - -```text -Commit 25388a0fed9695e8e9d04f75f50c2bae1c9c80db on branch master -``` +To install the latest [Mainnet **Stable** Release 1.4.0](https://github.com/MinaProtocol/mina/releases/tag/1.4.0), use the [Installation](/node-operators/getting-started#installation) steps for your environment. ## Start a standalone mina node @@ -73,13 +50,13 @@ Auto-restart flows are in place to ensure your nodes perform optimally. 1. Start a standalone mina node to make sure everything works. - To start a Mina node instance and connect to the live network: + To start a mina node instance and connect to the live network: ```sh mina daemon --peer-list-url https://storage.googleapis.com/seed-lists/mainnet_seeds.txt ``` - The `--peer-list` argument specifies the the source file of seed peer addresses for the initial peer to connect to on the network. Mina is a [peer-to-peer](/glossary#peer-to-peer) protocol, so there is no dependence on a single centralized server. + The `--peer-list` argument specifies the source file of seed peer addresses for the initial peer to connect to on the network. Mina is a [peer-to-peer](/glossary#peer-to-peer) protocol, so there is no dependence on a single centralized server. If you have a key with MINA stake and want to produce blocks: @@ -118,7 +95,7 @@ To produce blocks or otherwise customize the configuration for the mina daemon: Replace `` with the full path to your block producer private key. For example, `/home/ubuntu/keys/my-wallet`. - If you do not want to produce blocks then you can keep `~/.mina-env` empty for now. + If you do not want to produce blocks, then you can keep `~/.mina-env` empty for now. 1. To change how mina is configured, specify flags to the mina daemon process with space-separated arguments between the quotes in `EXTRA_FLAGS=""`. @@ -129,7 +106,7 @@ To produce blocks or otherwise customize the configuration for the mina daemon: - Mainnet package [https://storage.googleapis.com/seed-lists/mainnet_seeds.txt](https://storage.googleapis.com/seed-lists/mainnet_seeds.txt) - Change with `--peer-list-url` -1. After your `.mina-env` file is ready, start a Mina node instance and connect to the live network: +1. After your `.mina-env` file is ready, start a mina node instance and connect to the live network: ```sh systemctl --user daemon-reload @@ -168,7 +145,7 @@ Look at logs that show the last 1000 lines, and follow from there: journalctl --user -u mina -n 1000 -f ``` -In some cases, you might need run the following command to view the logs: +In some cases, you might need to run the following command to view the logs: ```sh journalctl --user-unit mina -n 1000 -f @@ -176,7 +153,7 @@ journalctl --user-unit mina -n 1000 -f ### Docker -When running your daemon using Docker, first ensure that your private key has the correct permissions. +When running your daemon using Docker, ensure your private key has the correct permissions. ```sh cd ~ @@ -197,7 +174,7 @@ PEER_LIST_URL=https://storage.googleapis.com/seed-lists/mainnet_seeds.txt Replace `` with the full path to your block producer private key. For example, `/home/ubuntu/keys/my-wallet`. -If you do not want to produce blocks, then provide only the `PEER_LIST_URL`. +If you do not want to produce blocks, provide only the `PEER_LIST_URL`. Now, run the image with your `~/.mina-config` and `~/.mina-env` files mounted into the container: @@ -208,7 +185,7 @@ docker run --name mina -d \ --mount "type=bind,source=$(pwd)/.mina-env,dst=/entrypoint.d/mina-env,readonly" \ --mount "type=bind,source=$(pwd)/keys,dst=/keys,readonly" \ --mount "type=bind,source=$(pwd)/.mina-config,dst=/root/.mina-config" \ -minaprotocol/mina-daemon:1.3.1.2-25388a0-bullseye-mainnet \ +minaprotocol/mina-daemon:1.4.0-c980ba8-bullseye-mainnet \ daemon ``` @@ -234,7 +211,7 @@ Monitor connectivity to the network: docker exec -it mina mina client status ``` -At least 10 peers are expected. Watch the block height and the max observed block height climb. +At least 10 peers are expected. Watch the block height and the maximum observed block height climb. :::tip @@ -246,13 +223,13 @@ If you encounter `[Warn] Shutdown before Mina instance was created, not saving a Monitor the mina client status in a different terminal window. -Now that a node is started and running the Mina daemon, run: +Now that a node is started and running the mina daemon, run: ```sh mina client status ``` -When first starting up a node, it can take up to a minute before `mina client status` connects to the daemon. If you see `Error: daemon not running. See mina daemon`, just a wait a bit and try again. +When first starting up a node, it can take up to a minute before `mina client status` connects to the daemon. If you see `Error: daemon not running. See mina daemon`, just wait a bit and try again. The expected response includes these fields: @@ -263,7 +240,7 @@ The expected response includes these fields: - `Sync Status: Bootstrap` means that the node is bootstrapping and needs to sync with the rest of the network. Be patient here as this step might take some time for the node to get all the data it needs. -- After a while, the node connects to more peers and then moves into `Sync Status: Catchup` which gathers the most recent blocks and state while catching up to the the highest block. +- After a while, the node connects to more peers and then moves into `Sync Status: Catchup`, which gathers the most recent blocks and state while catching up to the the highest block. - When sync status reaches `Synced` and the node is connected to 1 or more peers, the node is successfully connected to the network. A corresponding daemon log shows the sync status: `[Info] Mina daemon is now synced`. @@ -271,6 +248,6 @@ The expected response includes these fields: ## Step up your game -Now that you have a fully synced node, learn about some of the more advanced features of the daemon such as [Sending a payment](sending-a-payment) and [Staking & Delegating](staking-and-snarking). +Now that you have a fully synced node, learn about some of the more advanced features of the daemon, such as [Sending a payment](sending-a-payment) and [Staking & Delegating](staking-and-snarking). To earn MINA tokens, check out the [Mina Foundation Delegation Program](foundation-delegation-program). diff --git a/docs/node-operators/getting-started.mdx b/docs/node-operators/getting-started.mdx index dad83d838..c9b343f6a 100644 --- a/docs/node-operators/getting-started.mdx +++ b/docs/node-operators/getting-started.mdx @@ -14,7 +14,7 @@ A new version of Mina Docs is coming soon! This page will be rewritten. # Getting Started -Welcome to Mina! This section walks you through the process of setting up a Mina node. After we will show you how to generate a keypair for use with the network. Finally, we'll show you how to connect to the network and begin producing blocks. +Welcome to Mina! This section walks you through the process of setting up a Mina node, provides instructions on how to generate a keypair for use with the network, connect to the network, and begin producing blocks. :::info @@ -25,78 +25,91 @@ This documentation is for the **Mainnet** release. ## Requirements -**Software**: macOS, Linux (currently supportsĀ Debian 9 and Ubuntu 18.04 LTS), or any host with Docker +**Software**: Supported environments include macOS, Linux (Debian 10, 11, 12 and Ubuntu 20.04 LTS), and any host machine with Docker. -:::note - -Windows is not officially supported at this time. However, it may be possible to use the [Docker instructions](./#docker). If you are interested in receiving a grant to develop Mina for Windows, please email grants@o1labs.org or reach out in the [Mina Protocol Discord server](https://discord.gg/minaprotocol). +**Processor**: Only AMD64 CPU architecture is supported. -::: +**Hardware**: Sending and receiving MINA does not require any special hardware. -**Hardware**: Sending and receiving mina does not require any special hardware, but running a block producer on the Mina network currently requires: +Running a block producer on the Mina network requires at least: -- at least a 8-core processor -- at least 16GB of RAM +- 8-core processor +- 16 GB of RAM -Note that if you plan on running a snark worker node at the same time as a block producer, you may need more RAM. GPUs aren't currently required, but may be required for node operators when the protocol is upgraded. +More RAM is required to run a SNARK worker node at the same time as a block producer. **Network**: At least 1 Mbps connection **VM Instances**: -O(1) Labs has tested running nodes on several cloud providers, and recommends the following instances for basic node operator needs. Keep in mind that custom requirements as well as different cost constraints may require a different instance type. -- AWS - [c5.2xlarge](https://www.ec2instances.info/?filter=c5.2xl®ion=us-west-2&cost_duration=daily&selected=c5.2xlarge) -- GCP - [c2-standard-8](https://cloud.google.com/compute/docs/machine-types) -- Azure - [Standard_F8s_v2](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes-compute#fsv2-series-1) -- Digital Ocean - [c-8-16gib](https://cloud.digitalocean.com/droplets/new?size=c-8-16gib) +O(1) Labs has tested running nodes on several cloud providers. We recommend the following instances for basic node operator needs. Custom requirements and different cost constraints might require a different instance type. -Check out our [guide](https://youtu.be/M9lE2lgyVEo) for how to configure your Mina node on Google Cloud. +- AWS [c5.2xlarge](https://www.ec2instances.info/?filter=c5.2xl®ion=us-west-2&cost_duration=daily&selected=c5.2xlarge) +- GCP [c2-standard-8](https://cloud.google.com/compute/docs/machine-types) +- Azure [Standard_F8s_v2](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes-compute#fsv2-series-1) +- Digital Ocean [c-8-16gib](https://cloud.digitalocean.com/droplets/new?size=c-8-16gib) + +Check out the [Connecting to the Mina Testnet (Google Cloud)](https://youtu.be/M9lE2lgyVEo) video for steps to configure your mina node on Google Cloud. ## Installation -### Ubuntu / Debian +To install the latest [Mainnet **Stable** Release 1.4.0](https://github.com/MinaProtocol/mina/releases/tag/1.4.0), use the installation steps for your environment. + +The binary download is around 1 GB, so the installation might take a few minutes. + +To discover and install pre-release (Beta) builds, see the [Mina Releases](https://github.com/MinaProtocol/mina/releases) page on GitHub. -Follow along below to install the latest **Stable** [Mina Release 1.3.1.2](https://github.com/MinaProtocol/mina/releases/tag/1.3.1.2) or visit the [Mina Releases Page](https://github.com/MinaProtocol/mina/releases) on GitHub to discover and install pre-release (Beta) builds. +### Ubuntu and Debian -You can set up the new debian `stable` repository and install the latest version as follows: +To set up the new Debian `stable` repository and install the latest binary version: ``` echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/mina.list sudo apt-get update -sudo apt-get install -y curl unzip mina-mainnet=1.3.1.2-25388a0 +sudo apt-get install -y curl unzip mina-mainnet=1.4.0-c980ba8 ``` -Check that the daemon installed correctly by running `mina version`. The expected output is `Commit 25388a0fed9695e8e9d04f75f50c2bae1c9c80db on branch master`. +To verify the mina daemon installation, run: + +- `mina version` + +The expected output is `Commit c980ba87c3417f40a7081225dfe7478c5ee70fd7 on branch master`. ### Windows -Windows is not yet natively supported. If you are interested in receiving a grant to develop Mina for Windows, please email grants@o1labs.org or reach out in the [Mina Protocol Discord server](https://discord.gg/minaprotocol). +Windows is not natively supported. Instead, use the [Docker instructions](./#docker). -Instead, use the Docker instructions. +If you are interested in receiving a grant to develop Mina for Windows, email grants@o1labs.org or reach out in the [Mina Protocol Discord server](https://discord.gg/minaprotocol). ### macOS -macOS is used by developers and is not officially supporting any pre-built packages at this time. +macOS is used by developers and is not officially supporting any pre-built packages. Instead, use the Docker instructions or build from source. ### Docker -Docker is cross-platform tool that allows you to run a virtual machine that will execute any needed software. Follow the official installation instructions for your platform. See [Get Docker](https://docs.docker.com/get-docker/). After Docker is installed, proceed to the Mina Docker instructions on [Connect to the Network](connecting-to-the-network). +Docker is a cross-platform tool. You can download and install Docker on multiple platforms. + +Use the Docker installation instructions for your platform on [Get Docker](https://docs.docker.com/get-docker/). After Docker is installed, follow the [Connect to the Mina Network](/node-operators/connecting-to-the-network#docker) instructions. ### Build from source -If you're running another Linux distro or some version of macOS, you can [try building Mina from source code](https://github.com/MinaProtocol/mina/blob/master/README-dev.md#building-mina). Please note that other operating systems haven't been tested thoroughly, and might have issues. Feel free to share any logs and get troubleshooting help in the [Mina Protocol Discord server](https://discord.gg/minaprotocol). +On Linux or macOS operating systems, you can experiment with [Building Mina](https://github.com/MinaProtocol/mina/blob/master/README-dev.md#building-mina) from source code. + +Other operating systems haven't been tested thoroughly and might have issues. You can share logs and get troubleshooting help in the [Mina Protocol Discord server](https://discord.gg/minaprotocol). + +## Set up port forwarding and firewalls -## Set up port forwarding and any firewalls +If you are running a firewall, you must allow traffic on TCP port 8302. -If you are running a firewall, you must allow traffic on TCP port 8302. Additionally, unless the `-external-ip YOUR_IP` flag is provided, the daemon uses HTTPS (443) and HTTP (80) to try and determine its own IP address. +Unless the `-external-ip YOUR_IP` flag is provided, the daemon uses HTTPS (443) and HTTP (80) to determine its own IP address. -You might need to configure your router's port forwarding to allow inbound traffic to the following ports through your **external** IP address. +Enable port forwarding on your router to allow inbound traffic to the following ports through your **external** IP address: -- `TCP` port `8302` -- _Optionally_ to use the GraphQL service, expose `TCP` port `3085` +- TCP port `8302` +- To use the GraphQL service, expose TCP port `3085` ## Next -Now that you've installed Mina and configured your network, you are ready to move on to the next step: [generating a keypair](generating-a-keypair). +Now that you've installed mina and configured your network, you can move on to the next step: [generating a keypair](generating-a-keypair). diff --git a/docs/zkapps/experimental.mdx b/docs/zkapps/experimental.mdx new file mode 100644 index 000000000..d3af4c514 --- /dev/null +++ b/docs/zkapps/experimental.mdx @@ -0,0 +1,29 @@ +--- +title: Experimental features +description: Experimental features are not considered production-ready. +keywords: + - experimental + - feedback +--- + +# Experimental features + +Some new features are considered experimental before they are production-ready. Experimental features are clearly marked and link to this page. + +Exposing experimental features gives you an opportunity to try our newest features sooner. + +In return, your feedback helps us make sure that our new features are reliable and useful. + +## Feedback + +We appreciate any and all feedback you want to provide. + +The best place to provide feedback and ask questions is on [Mina Protocol Discord](https://bit.ly/MinaDiscord). + +To ask zkApps questions and engage with other developers building zkApps with SnarkyJS, use the [#zkapps-developers](https://discord.com/channels/484437221055922177/915745847692636181) channel. + +Experimental features are in active development and your feedback is especially appreciated. + +- The feature may have bugs +- The feature may be changed, deprecated, or removed +- All documentation for the feature explicitly notes the feature is experimental diff --git a/docs/zkapps/snarkyjs/recursion.mdx b/docs/zkapps/snarkyjs/recursion.mdx index ad440da88..61b57b938 100644 --- a/docs/zkapps/snarkyjs/recursion.mdx +++ b/docs/zkapps/snarkyjs/recursion.mdx @@ -20,9 +20,9 @@ zkApp programmability is not yet available on the Mina Mainnet. You can get star ::: -Experimental. This API may change. +[Experimental](/zkapps/experimental). This API may change. -Specifically, we are looking into refactoring ZkProgram methods to explicitly return values rather than requiring them to be passed as further inputs. +Specifically, ZkProgram methods could be refactored to explicitly return values rather than requiring them to be passed as further inputs. # Recursion diff --git a/docs/zkapps/snarkyjs/smart-contracts.md b/docs/zkapps/snarkyjs/smart-contracts.md index 8150f5c6f..4550bfea9 100644 --- a/docs/zkapps/snarkyjs/smart-contracts.md +++ b/docs/zkapps/snarkyjs/smart-contracts.md @@ -20,9 +20,9 @@ keywords: :::info -Experimental. This API may change. +[Experimental](/zkapps/experimental). This API may change. -Specifically, we are looking into refactoring ZkProgram methods to explicitly return values rather than requiring them to be passed as further inputs. +Specifically, ZkProgram methods could be refactored to explicitly return values rather than requiring them to be passed as further inputs. ::: diff --git a/static/img/7_Snapps_DeploySnappUI.jpg b/static/img/7_Snapps_DeploySnappUI.jpg deleted file mode 100644 index ea0997bcc..000000000 Binary files a/static/img/7_Snapps_DeploySnappUI.jpg and /dev/null differ diff --git a/static/img/7_zkApps_DeploySnappUI.jpg b/static/img/7_zkApps_DeploySnappUI.jpg deleted file mode 100644 index eab8f116c..000000000 Binary files a/static/img/7_zkApps_DeploySnappUI.jpg and /dev/null differ diff --git a/static/img/9_Snapps_Off-Chain_State.jpg b/static/img/9_Snapps_Off-Chain_State.jpg deleted file mode 100644 index fcad794ec..000000000 Binary files a/static/img/9_Snapps_Off-Chain_State.jpg and /dev/null differ diff --git a/static/img/CLIs.png b/static/img/CLIs.png deleted file mode 100644 index f765581a3..000000000 Binary files a/static/img/CLIs.png and /dev/null differ diff --git a/static/img/Discord-Logo-Color.png b/static/img/Discord-Logo-Color.png deleted file mode 100644 index e2964bb6b..000000000 Binary files a/static/img/Discord-Logo-Color.png and /dev/null differ diff --git a/static/img/Discord.png b/static/img/Discord.png deleted file mode 100644 index 1f1579ea8..000000000 Binary files a/static/img/Discord.png and /dev/null differ diff --git a/static/img/Documents_SNARKS_p3-01_Mobile 1.png b/static/img/Documents_SNARKS_p3-01_Mobile 1.png deleted file mode 100644 index d1a6e8a93..000000000 Binary files a/static/img/Documents_SNARKS_p3-01_Mobile 1.png and /dev/null differ diff --git a/static/img/SnarksOverview.png b/static/img/SnarksOverview.png deleted file mode 100644 index 9052be244..000000000 Binary files a/static/img/SnarksOverview.png and /dev/null differ diff --git a/static/img/brandon.webp b/static/img/brandon.webp deleted file mode 100644 index a0baa236b..000000000 Binary files a/static/img/brandon.webp and /dev/null differ diff --git a/static/img/mycoolsnapp.png b/static/img/mycoolsnapp.png deleted file mode 100644 index e1fb06c1b..000000000 Binary files a/static/img/mycoolsnapp.png and /dev/null differ diff --git a/static/img/prover-function.png b/static/img/prover-function.png deleted file mode 100644 index f8679fdc7..000000000 Binary files a/static/img/prover-function.png and /dev/null differ diff --git a/static/img/smart-contract.png b/static/img/smart-contract.png deleted file mode 100644 index 8c2e41a5a..000000000 Binary files a/static/img/smart-contract.png and /dev/null differ diff --git a/static/img/snapp-ui.png b/static/img/snapp-ui.png deleted file mode 100644 index d2e5bc36d..000000000 Binary files a/static/img/snapp-ui.png and /dev/null differ diff --git a/static/img/staking_power.png b/static/img/staking_power.png deleted file mode 100644 index 0a887994c..000000000 Binary files a/static/img/staking_power.png and /dev/null differ diff --git a/static/img/staking_power_send.png b/static/img/staking_power_send.png deleted file mode 100644 index 85f84d888..000000000 Binary files a/static/img/staking_power_send.png and /dev/null differ diff --git a/static/img/submit-transaction-network.png b/static/img/submit-transaction-network.png deleted file mode 100644 index b1d46687a..000000000 Binary files a/static/img/submit-transaction-network.png and /dev/null differ diff --git a/static/img/verifier-function.png b/static/img/verifier-function.png deleted file mode 100644 index 7d60d64da..000000000 Binary files a/static/img/verifier-function.png and /dev/null differ diff --git a/static/img/what-are-snapps.png b/static/img/what-are-snapps.png deleted file mode 100644 index 076af48f9..000000000 Binary files a/static/img/what-are-snapps.png and /dev/null differ