Skip to content

Commit

Permalink
task(devx): Updated devnet and testnet endpoints. (#4012)
Browse files Browse the repository at this point in the history
Removed Alphanet from docs
Added admonition about the Mainnet running stardust.

TODO:
CONFIRM genesis blob URL
UDPATE snapshot URLS
UPDATE iota-full-node.mdx#L-114-120
UPDATE https://github.com/iotaledger/iota/blob/
TEST networkSelect.js works with devnet and tesnet RPCs
  • Loading branch information
lucas-tortora authored Nov 12, 2024
1 parent f9f7c4f commit 3e5c427
Show file tree
Hide file tree
Showing 54 changed files with 143 additions and 191 deletions.
9 changes: 0 additions & 9 deletions docs/content/_snippets/alphanet.mdx

This file was deleted.

5 changes: 5 additions & 0 deletions docs/content/_snippets/mainnet-runs-stardust.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:::warning Stardust Protocol

The IOTA Mainnet runs the [Stardust Protocol](https://wiki.iota.org/learn/protocols/stardust/introduction/).

:::
4 changes: 3 additions & 1 deletion docs/content/_snippets/warn-ml-rpcs.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
:::caution

Use dedicated nodes/shared services rather than public endpoints for production apps. The public endpoints maintained by the IOTA Foundation (`https://api.iota-rebased-alphanet.iota.cafe:443`) are rate-limited, and support only 100 requests per 30 seconds. Do not use public endpoints in production applications with high traffic volume.
Use dedicated nodes/shared services rather than public endpoints for production apps. The public endpoints maintained
by the IOTA Foundation are rate-limited, and support only 100 requests
per 30 seconds. Do not use public endpoints in production applications with high traffic volume.

You can either run your own Full nodes, or outsource this to a professional infrastructure provider (preferred for apps that have high traffic).

Expand Down
7 changes: 5 additions & 2 deletions docs/content/about-iota/about-iota.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# About IOTA
import MainnetRunsStardust from '../_snippets/mainnet-runs-stardust.mdx';

# About IOTA

The IOTA ecosystem enables programmability in both [Layer 1](#layer-1) and [Layer 2](#layer-2) using [Move](#move) and [EVM/Solidity](#evm) smart contracts respectively.

Expand Down Expand Up @@ -31,7 +32,9 @@ While the Move compiler catches many development mistakes, smart contracts can s

#### IOTA Mainnet

The IOTA Mainnet processes production transaction blocks. The IOTA Mainnet's tokens have a real-world value, so we recommend that you use the IOTA Testnet or Devnet to develop your application.
<MainnetRunsStardust />

The [IOTA Mainnet](https://wiki.iota.org/build/networks-endpoints/#iota) processes production transaction blocks. The IOTA Mainnet's tokens have a real-world value, so we recommend that you use the IOTA Testnet or Devnet to develop your application.

#### IOTA Testnet

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: A guide on how to use IOTA Wallet for testing on different IOTA net
---
# Get Test Tokens

You can test apps on the IOTA network using IOTA Wallet. Besides the IOTA Mainnet, the wallet supports connections to IOTA Testnet, IOTA Devnet, a [Local network](../../../developer/getting-started/local-network.mdx), or a Custom RPC URL for a network you create.
You can test apps on the IOTA network using IOTA Wallet. The wallet supports connections to IOTA Testnet, IOTA Devnet, a [Local network](../../../developer/getting-started/local-network.mdx), or a Custom RPC URL for a network you create.

## Change the Active Network Connection

Expand Down
8 changes: 4 additions & 4 deletions docs/content/developer/advanced/custom-indexer.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ Data ingestion for your indexer supports several checkpoint stream sources.

The most straightforward stream source is to subscribe to a remote store of checkpoint contents. IOTA provides the following buckets:

- Testnet: `https://checkpoints.testnet.iota.io`
- Mainnet: `https://checkpoints.mainnet.iota.io`
- Testnet: `https://indexer.testnet.iota.cafe`
- Devnet: `https://indexer.devnet.iota.cafe`

The checkpoint files are stored in the following format: `https://checkpoints.testnet.iota.io/<checkpoint_id>.chk`. You can download the checkpoint file by sending an HTTP GET request to the relevant URL. Try it yourself for checkpoint 1 at [https://checkpoints.testnet.iota.io/1.chk](https://checkpoints.testnet.iota.io/1.chk).
The checkpoint files are stored in the following format: `https://indexer.testnet.iota.cafe/<checkpoint_id>.chk`. You can download the checkpoint file by sending an HTTP GET request to the relevant URL. Try it yourself for checkpoint 1 at [https://indexer.testnet.iota.cafe/1.chk](https://indexer.testnet.iota.cafe/1.chk).

```mermaid
flowchart LR
Expand Down Expand Up @@ -110,7 +110,7 @@ Specify both a local and remote store as a fallback to ensure constant data flow
```rust
executor.run(
PathBuf::from("./chk".to_string()), // path to a local directory
Some("https://checkpoints.testnet.iota.io".to_string()), // Remote Checkpoint Store
Some("https://indexer.testnet.iota.cafe".to_string()), // Remote Checkpoint Store
vec![], // optional remote store access options
ReaderOptions::default(),
exit_receiver,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ title: IOTA Exchange Integration Guide
description: Learn the primary tasks necessary to integrate IOTA, the token native to the IOTA network, into a cryptocurrency exchange.
---

import AlphaNet from "../../_snippets/alphanet.mdx";
import Quiz from '@site/src/components/Quiz';
import questions from '/json/developer/exchange-intergration/exchange-integration.json';

Expand Down Expand Up @@ -99,10 +98,9 @@ You can track balance changes by calling `iotax_getBalance` at predefined interv

The following bash example demonstrates how to use `iotax_getBalance` for address `0x849d63687330447431a2e76fecca4f3c10f6884ebaa9909674123c6c662612a3`. If you use a network other than Devnet, replace the value for `rpc` with the URL to the appropriate Full node.

<AlphaNet />

```bash
rpc="https://fullnode.devnet.iota.org:443"
rpc="https://api.devnet.iota.cafe:443"
address="0x849d63687330447431a2e76fecca4f3c10f6884ebaa9909674123c6c662612a3"
data="{\"jsonrpc\": \"2.0\", \"method\": \"iotax_getBalance\", \"id\": 1, \"params\": [\"$address\"]}"
curl -X POST -H 'Content-type: application/json' --data-raw "$data" $rpc
Expand All @@ -123,8 +121,6 @@ The response is a JSON object that includes the `totalBalance` for the address:

### Using Rust

<AlphaNet />

The following example demonstrates using `iotax_getBalance` in Rust:
```rust
use std::str::FromStr;
Expand All @@ -134,7 +130,7 @@ use iota_sdk::IotaClientBuilder;
#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
let iota = IotaClientBuilder::default().build(
"https://fullnode.devnet.iota.org:443",
"https://api.devnet.iota.cafe:443",
).await.unwrap();
let address = IotaAddress::from_str("0x849d63687330447431a2e76fecca4f3c10f6884ebaa9909674123c6c662612a3")?;
let objects = iota.coin_read_api().get_balance(address, None).await?;
Expand Down
6 changes: 2 additions & 4 deletions docs/content/developer/getting-started/client-tssdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ tags: [ typescript, sdk, getting-started, install]
---

import InfoPnpmRequired from "../../_snippets/info-pnpm-required.mdx";
import AlphaNet from "../../_snippets/alphanet.mdx";
import Quiz from '@site/src/components/Quiz';
import questions from '/json/developer/getting-started/client-tssdk.json';

Expand Down Expand Up @@ -97,7 +96,6 @@ ReactDOM.createRoot(document.getElementById('root')!).render(
</React.StrictMode>,
);
```
<AlphaNet />

### `IotaClientProvider`

Expand All @@ -113,7 +111,7 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
const queryClient = new QueryClient();
const networks = {
devnet: { url: getFullnodeUrl('devnet') },
mainnet: { url: getFullnodeUrl('mainnet') },
testnet: { url: getFullnodeUrl('testnet') },
};

ReactDOM.createRoot(document.getElementById('root')!).render(
Expand Down Expand Up @@ -142,7 +140,7 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
const queryClient = new QueryClient();
const networks = {
devnet: { url: getFullnodeUrl('devnet') },
mainnet: { url: getFullnodeUrl('mainnet') },
testnet: { url: getFullnodeUrl('testnet') },
};

ReactDOM.createRoot(document.getElementById('root')!).render(
Expand Down
20 changes: 5 additions & 15 deletions docs/content/developer/getting-started/connect.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ tags: [ explanation, mainnet, testnet, devnet, cli, setup, install, getting-star
---

import DataWipe from "../../_snippets/data-wipe.mdx";
import AlphaNet from "../../_snippets/alphanet.mdx";
import MainnetRunsStardust from '../../_snippets/mainnet-runs-stardust.mdx';
import Quiz from '@site/src/components/Quiz';
import questions from '/json/developer/getting-started/connect.json';

Expand All @@ -26,9 +26,9 @@ IOTA provides the [IOTA command line interface (CLI)](/references/cli/client.mdx

You can use the [CLI](iota-environment.mdx#iota-cli) or [SDKs](iota-environment.mdx#iota-sdks) to send transactions and
read requests from using the [JSON-RPC](../../references/iota-api/json-rpc-format.mdx) and the following
endpoint: `https://fullnode.<IOTA-NETWORK-VERSION>.iota.io:443`.
endpoint: `https://api.<IOTA-NETWORK-VERSION>.iota.cafe:443`.

<AlphaNet />
<MainnetRunsStardust />

## Environment Set Up

Expand Down Expand Up @@ -80,8 +80,6 @@ IOTA Full node server URL (Defaults to IOTA Testnet if not specified) :

If you want to connect to the [Testnet](#testnet), you can simply press `Enter`.

<AlphaNet />

If not, specify your desired node URL. If you choose to add a custom URL, you should also add an alias for ease of
access:

Expand Down Expand Up @@ -125,11 +123,9 @@ iota client envs
The command outputs the available environment aliases, with `(active)` denoting the currently active network.
```sh
localnet => http://0.0.0.0:9000 (active)
alphanet => https://api.iota-rebased-alphanet.iota.cafe:443
testnet => https://https://api.testnet.iota.cafe:443
```

<AlphaNet />

You can add a new environment using the `iota client new` command. You should specify and `alias` and `rpc` URL, for
example:

Expand All @@ -151,12 +147,6 @@ iota client switch --env <EnvAlias>

## IOTA Networks

### Alphanet

A temporary network while still in early development, used before public launch of IOTA Rebased. Will be replaced by the Testnet afterwards.

<AlphaNet />

### Devnet

The latest stable release. As such, it has the latest features that were tested in the `development` branch of the
Expand All @@ -171,7 +161,7 @@ test your software in real-world conditions.

:::info Testnet node validators

The IOTA Alphanet, Testnet and Devnet networks consist of four validator nodes operated by the IOTA Foundation.
The IOTA Testnet and Devnet networks consist of four validator nodes operated by the IOTA Foundation.

:::

Expand Down
7 changes: 2 additions & 5 deletions docs/content/developer/getting-started/get-coins.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
description: Get test IOTA tokens using the IOTA CLI, SDK, or cURL.
tags: [how-to, cli, typescript, sdk, faucet]
---
import AlphaNet from "../../_snippets/alphanet.mdx";
import Quiz from '@site/src/components/Quiz';
import questions from '/json/developer/getting-started/get-coins.json';

Expand All @@ -26,7 +25,7 @@ You can request test tokens within IOTA Wallet.
You can use the following cURL command to request tokens directly from the faucet server:

```
curl --location --request POST 'https://faucet.iota-rebased-alphanet.iota.cafe/gas' \
curl --location --request POST 'https://faucet.testnet.iota.cafe/gas' \
--header 'Content-Type: application/json' \
--data-raw '{
"FixedAmountRequest": {
Expand All @@ -35,11 +34,9 @@ curl --location --request POST 'https://faucet.iota-rebased-alphanet.iota.cafe/g
}'
```

<AlphaNet />

:::tip Test tokens on a local network

If you're working with a local network, replace `'https://faucet.iota-rebased-alphanet.iota.cafe/gas'` with the appropriate value based on which package runs your network:
If you're working with a local network, replace `'https://faucet.devnet.iota.cafe/gas'` with the appropriate value based on which package runs your network:

- `iota-faucet`: `http://127.0.0.1:5003/gas`
- `iota start`: `http://127.0.0.1:9123/gas`
Expand Down
7 changes: 3 additions & 4 deletions docs/content/developer/getting-started/graphql-rpc.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,15 @@ description: Intoductory guide to making queries of the IOTA RPC using the Graph

The quickest way to access the GraphQL service for IOTA RPC is through the online IDE that provides a complete toolbox for fetching data and executing transactions on the network. The online IDE provides features such as auto-completion (use Ctrl+Space or just start typing), built-in documentation (Book icon, top-left), multi-tabs, and more.

The online IDE is available for [Mainnet](https://iota-mainnet.iota.org/graphql) and [Testnet](https://iota-testnet.iota.org/graphql). This guide contains various queries that you can try directly in the IDE.
The online IDE is available for [Devnet](https://graphql.devnet.iota.cafe/l) and [Testnet](https://graphql.testnet.iota.cafel). This guide contains various queries that you can try directly in the IDE.

:::info
- Any existing addresses/object IDs in these examples refer to `mainnet` data only.
- Both [mainnet](https://iota-mainnet.iota.org/graphql) and [testnet](https://iota-testnet.iota.org/graphql) services are rate-limited to keep network throughput optimized.
- Any existing addresses/object IDs in these examples refer to `testnet` data only.
- Both [devnet](https://graphql.devnet.iota.cafe/l) and [testnet](https://graphql.testnet.iota.cafel) services are rate-limited to keep network throughput optimized.
:::

For more details about some concepts used in the examples below, please see the [GraphQL concepts](../graphql-rpc.mdx) page, and consult the [reference](../../references/iota-graphql.mdx) for full documentation on the supported schema.


## Discovering the schema

GraphQL introspection exposes the schema supported by the RPC service. The IDE's "Docs" pane (Book icon, top-left) and Search dialog (<kbd>Cmd</kbd>+<kbd>K</kbd> on macOS or <kbd>Ctrl</kbd>+<kbd>K</kbd> on Windows and Linux) offer a way to browse introspection output interactively.
Expand Down
2 changes: 1 addition & 1 deletion docs/content/developer/graphql-rpc.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ The service accepts the following optional headers:
By default, each request returns the service's version in the response header: `x-iota-rpc-version`.

```bash
curl -i -X POST https://explorer.iota.org/mainnet/graphql \
curl -i -X POST https://explorer.iota.org/testnet/graphql \
--header 'x-iota-rpc-show-usage: true' \
--header 'Content-Type: application/json' \
--data '{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
title: Signing and Sending Transactions
---
import AlphaNet from "../../../_snippets/alphanet.mdx";
import Quiz from '@site/src/components/Quiz';
import questions from '/json/developer/iota-101/transactions/sign-and-send-txn.json';

Expand Down Expand Up @@ -34,8 +33,6 @@ If you want to use a specific gas coin, first find the gas coin object ID to be

## Examples

<AlphaNet />

The following examples demonstrate how to sign and execute transactions using Rust, TypeScript, or the IOTA CLI.

<Tabs groupId="language">
Expand Down
7 changes: 2 additions & 5 deletions docs/content/developer/iota-101/using-events.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
description: Learn how to monitor IOTA on-chain activity by subscribing to events emitted by Move packages.
---
import AlphaNet from "../../_snippets/alphanet.mdx";
import Quiz from '@site/src/components/Quiz';
import questions from '/json/developer/iota-101/using-events.json';

Expand Down Expand Up @@ -109,8 +108,6 @@ This example leverages the IOTA TypeScript SDK to subscribe to events the packag

### Rust

<AlphaNet />

See [Rust SDK](../../references/rust-sdk.mdx).

```rust
Expand All @@ -122,8 +119,8 @@ use anyhow::Result;
#[tokio::main]
async fn main() -> Result<()> {
let iota = IOTAClientBuilder::default()
.ws_url("wss://fullnode.mainnet.iota.io:443")
.build("https://fullnode.mainnet.iota.io:443")
.ws_url("wss://api.testnet.iota.cafe:443")
.build("https://api.testnet.iota.cafe:443")
.await.unwrap();
let mut subscribe_all = iota.event_api().subscribe_event(EventFilter::All(vec![])).await?;
loop {
Expand Down
4 changes: 2 additions & 2 deletions docs/content/developer/iota-move-ctf/challenge_1.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ Package: 0xce9b1471301ffaf1453297cca008a68ce851b6a9ba9ab241c357c346177903f3
In this challenge, you must use the IOTA CLI to interact with the blockchain. This set of articles will help you set up your environment and call a deployed contract:

- [Installing IOTA CLI](../getting-started/install-iota.mdx)
- [Connecting to Alphanet](../getting-started/connect.mdx)
- [Get Iota coins](../getting-started/get-coins.mdx)
- [Connecting an IOTA Network](../getting-started/connect.mdx)
- [Get IOTA coins](../getting-started/get-coins.mdx)
- [Accessing Your Package](../getting-started/publish.mdx#accessing-your-package)


Expand Down
6 changes: 3 additions & 3 deletions docs/content/developer/iota-move-ctf/introduction.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Move on IOTA Capture The Flag (CTF)

The **Move on IOTA Capture The Flag (CTF)** is a unique learning experience designed to help developers master the Move programming language by solving a series of challenges. These challenges simulate real-world scenarios that require participants to find and exploit vulnerabilities, optimize contract logic, and interact with IOTA’s alphanet. Whether you're new to Move or experienced with smart contract development, this CTF is an excellent way to sharpen your skills.
The **Move on IOTA Capture The Flag (CTF)** is a unique learning experience designed to help developers master the Move programming language by solving a series of challenges. These challenges simulate real-world scenarios that require participants to find and exploit vulnerabilities, optimize contract logic, and interact with IOTA’s Testnet. Whether you're new to Move or experienced with smart contract development, this CTF is an excellent way to sharpen your skills.

This CTF features **eight challenges**, each built on Move, a language optimized for safety and scalability in decentralized applications. Throughout the event, participants are encouraged to explore Move’s features, including its resource-based design and transaction scripting model, in a competitive environment. However, bear in mind that the provided demonstration contracts may intentionally include distractions, poor design, and obscure naming conventions to increase difficulty.

Expand All @@ -17,10 +17,10 @@ Upon successfully completing a challenge, you will receive a "flag," which is a

## Setup

The CTF contract are already deployed on the IOTA alphanet. To get started, you need to install the IOTA CLI tool and connect to the alphanet. If you haven't done so already, follow these steps:
The CTF contract are already deployed on the IOTA Testnet. To get started, you need to install the IOTA CLI tool and connect to the Testnet. If you haven't done so already, follow these steps:

1. [Install the IOTA CLI Tool](../getting-started/install-iota.mdx)
2. [Connect to alphanet](../getting-started/connect.mdx)
2. [Connect to an IOTA Network](../getting-started/connect.mdx)
3. [Create and Address](../getting-started/get-address.mdx)
4. [Fund Your Address](../getting-started/get-coins.mdx)
5. Get the flags!
Expand Down
13 changes: 5 additions & 8 deletions docs/content/developer/network-overview.mdx
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@
---
description: This page gives an overview around the different networks available in the IOTA ecosystem.

tags: [getting-started, devnet, testnet, mainnet]
tags: [getting-started, devnet, testnet]
---
import MainnetRunsStardust from '../_snippets/mainnet-runs-stardust.mdx';
import NetworkInfo from "@site/src/components/NetworkInfo/index.tsx";
import { Networks } from '@site/src/components/constant.tsx';

# Network Overview

This pages gives an overview around the different networks available in the IOTA ecosystem.

import NetworkInfo from "@site/src/components/NetworkInfo/index.tsx";
import { Networks } from '@site/src/components/constant.tsx';

:::info
In general, all endpoints are load-balanced but also subject to rate limiting. If you are developing a production-level application for IOTA, consider [setting up your own infrastructure](/developer/getting-started/local-network) to have more control and avoid any limits.
:::

## IOTA Mainnet

:::note
The Mainnet and Devnet have not yet gone live.
:::

<NetworkInfo.Move {...Networks['iota_move']}/>
<MainnetRunsStardust />

## IOTA Testnet

Expand Down
2 changes: 1 addition & 1 deletion docs/content/developer/standards/display.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import questions from '/json/developer/standards/display.json';

The IOTA Object Display standard is a template engine that enables on-chain management of off-chain representation (display) for a type. With it, you can substitute data for an object into a template string. The standard doesn’t limit the fields you can set. You can use the `{property}` syntax to access all object properties, and then insert them as a part of the template string.

Use a `Publisher` object that you own to set `iota::display` for a type. For more information about `Publisher` objects, see [Publisher](https://examples.iota.io/basics/publisher.html) topic in *IOTA Move by Example*.
Use a `Publisher` object that you own to set `iota::display` for a type.

In IOTA Move, `Display<T>` represents an object that specifies a set of named templates for the type `T`. For example, for a type `0x2::hero::Hero` the display syntax is: `Display<0x2::hero::Hero>`.

Expand Down
Loading

0 comments on commit 3e5c427

Please sign in to comment.