Skip to content

Commit

Permalink
Add docs for v0.6.1
Browse files Browse the repository at this point in the history
  • Loading branch information
joshklop committed Sep 12, 2023
1 parent cb7f30c commit aa68ac0
Show file tree
Hide file tree
Showing 5 changed files with 180 additions and 0 deletions.
60 changes: 60 additions & 0 deletions docs/versioned_docs/version-0.6.1/example_config.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
slug: /config
sidebar_position: 3
title: Example Configuration
---

The Juno binary uses reasonable defaults and can be used without configuration.
For basic fine-tuning, the `--db-path` and `--http-port` options are usually sufficient.

All available options are in the YAML file below with their default values.
Provide the config using the `--config <filename>` option (Juno looks in `$XDG_CONFIG_HOME` by default).

Juno can also be configured using command line params by prepending `--` to the option name (e.g., `--log-level info`).
Command line params override values in the configuration file.

```yaml
# Enable colored logs
colour: true

# Path to the database.
# Juno uses `$XDG_DATA_HOME/juno` by default, which is usually something like the value below on Linux.
db-path: /home/<user>/.local/share/juno

# Websocket endpoint of the Ethereum node used to verify the L2 chain.
# If using Infura, it looks something like `wss://mainnet.infura.io/ws/v3/your-infura-project-id`
eth-node: ""

# Enables the HTTP RPC server.
http: false
# Port on which the HTTP RPC server will listen for requests.
http-port: 6060

# The options below are similar to the HTTP RPC options above.
ws: false # Websocket RPC server
ws-port: 6061
pprof: false
pprof-port: 6062
metrics: false
metrics-port: 9090
grpc: false
grpc-port: 6064

# Options: debug, info, warn, error
log-level: info

# Options: mainnet, goerli, goerli2, integration
network: mainnet

# How often to fetch the pending block when synced to the head of the chain.
# Provide a duration like 5s (five seconds) or 10m (10 minutes).
# Disabled by default.
pending-poll-interval: 0s

pprof: false # Enable the pprof endpoint.

# Experimental p2p options; there is currently no standardized Starknet p2p testnet.
p2p: false # Enable the p2p server
p2p-addr: "" # Source address
p2p-boot-peers: "" # Boot nodes
```
43 changes: 43 additions & 0 deletions docs/versioned_docs/version-0.6.1/intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
slug: /
sidebar_position: 1
title: Quick Start
---

*Juno is your fast and featureful Starknet client implementation.*

Suitable for casual setups, production-grade indexers, and everything in between.

- :floppy_disk: **Tiny database size**: ~30Gb on mainnet
- :zap: **Blazing fast sync**: constrained only by hardware and the sequencer
- :100: **100% [JSON-RPC spec](https://github.com/starkware-libs/starknet-specs/tree/master) compliance**: all things Starknet, in one place
- :racing_car: **Minimal RPC response latency**: to keep your applications moving
- :mag_right: **Low-level GRPC database API**: for the most demanding workloads

# Sync Starknet in Two Commands

```shell
# Juno's database directory. Can be any directory on the machine.
mkdir -p junodb

# Juno's HTTP server listens on port 6060.
docker run -d --name juno -p 6060:6060 -v junodb:/var/lib/juno nethermind/juno:latest --db-path /var/lib/juno --http
```

For a complete list of options and their explanations, see the [Example Configuration](config) or run:

```shell
docker run nethermind/juno --help
```

# Looking for a Starknet RPC Provider?

If you are looking for a Starknet RPC provider, Nethermind will offer a Starknet RPC service before the upcoming feeder gateway deprecation. You can register your interest on [this Google Form](https://docs.google.com/forms/d/e/1FAIpQLSf2Bl4fc9-38E-fpWf0tnMWc3jSeOFkpjSPMN_j1en1WmEgKg/viewform?usp=sf_link).

# Questions, Discussions, Community

Find active Juno team members and users in the following places.

- [GitHub](https://github.com/NethermindEth/juno)
- [Discord](https://discord.gg/SZkKcmmChJ)
- [Telegram](https://t.me/+LHRF4H8iQ3c5MDY0)
68 changes: 68 additions & 0 deletions docs/versioned_docs/version-0.6.1/snapshots.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
slug: /snapshots
sidebar_position: 4
title: Database Snapshots
---

To decrease sync times, users may opt to download a Juno database snapshot.
After downloading a snapshot and starting a Juno node, only recent blocks must be synced.

## Mainnet

| Version | Size | Block | Download Link |
| ------- | ---- | ----- | ------------- |
| **>=v0.6.0** | **49.2 GB** | **166353.tar** | [**juno_mainnet_166353.tar**](https://pub-932514831f0f4245850f7a471132e564.r2.dev/mainnet/juno_mainnet_v0.6.0_166353.tar) |

## Goerli

| Version | Size | Block | Download Link |
| ------- | ---- | ----- | ------------- |
| **>=v0.6.0** | **36 GB** | **850192** | [**juno_goerli_850192.tar**](https://pub-932514831f0f4245850f7a471132e564.r2.dev/goerli/juno_goerli_v0.6.0_850192.tar) |

## Goerli2

| Version | Size | Block | Download Link |
| ------- | ---- | ----- | ------------- |
| **>=v0.6.0** | **4.6 GB** | **139043** | [**juno_goerli2_135973.tar**](https://pub-932514831f0f4245850f7a471132e564.r2.dev/goerli2/juno_goerli2_v0.6.0_139043.tar) |

## Run Juno Using Snapshot

1. **Download Snapshot**

Fetch a snapshot from one of the provided URLs:

```bash
curl -o juno_mainnet_166353.tar https://pub-932514831f0f4245850f7a471132e564.r2.dev/mainnet/juno_mainnet_v0.6.0_166353.tar
```

2. **Prepare Directory**

Ensure you have a directory where you will store the snapshots. We will use `$HOME/snapshots`.

```bash
mkdir -p $HOME/snapshots
```

3. **Extract Tarball**

Extract the contents of the `.tar` file:

```bash
tar -xvf juno_mainnet_166353 -C $HOME/snapshots
```

4. **Run Juno**

Execute the Docker command to run Juno, ensuring that you're using the correct snapshot path `$HOME/snapshots/juno_mainnet`:
```bash
docker run -d \
--name juno \
-p 6060:6060 \
-v $HOME/snapshots/juno_mainnet:/var/lib/juno \
nethermind/juno \
--http-port 6060 \
--db-path /var/lib/juno
```
After following these steps, Juno should be up and running on your machine, utilizing the provided snapshot.
8 changes: 8 additions & 0 deletions docs/versioned_sidebars/version-0.6.1-sidebars.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"tutorialSidebar": [
{
"type": "autogenerated",
"dirName": "."
}
]
}
1 change: 1 addition & 0 deletions docs/versions.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[
"0.6.1",
"0.6.0"
]

0 comments on commit aa68ac0

Please sign in to comment.