Skip to content

Commit

Permalink
Nodes Content Reorg + Video Add (#308)
Browse files Browse the repository at this point in the history
  • Loading branch information
0xn1c0 authored Dec 8, 2023
1 parent a209572 commit f50fb61
Show file tree
Hide file tree
Showing 18 changed files with 76 additions and 67 deletions.
2 changes: 1 addition & 1 deletion docs/general/article-collection-links/reference-links.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ This page provides quick entries for Conflux reference documentation.

## Others

- [Node Configuration Files](../run-a-node/configuration-files.md)
- [Node Configuration Files](../run-a-node/advanced-topics/configuration-files.md)
- [Hard Forks](../hardforks/hardforks.md)
- [CIPs](../conflux-basics/conflux-governance/cips.md)
- [Papers](../conflux-basics/additional-resources/papers.md)
4 changes: 2 additions & 2 deletions docs/general/mine-stake/stake/run-pos-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ The archivenode snapshot has a file size of around 160GB. Downloading it might t
wget https://github.com/conflux-fans/archive-tool
```

2. Follow the instructions on downloading the Conflux client pre-built binaries [here](../../run-a-node/downloading-conflux-client)
2. Follow the instructions on downloading the Conflux client pre-built binaries [here](../../run-a-node/advanced-topics/downloading-conflux-client)

3. Follow the instructions on compiling the Conflux client from source [here](../../run-a-node/compiling-conflux-client)
3. Follow the instructions on compiling the Conflux client from source [here](../../run-a-node/advanced-topics/compiling-conflux-client.md)

4. Extract the archive node snapshot to conflux-rust/run

Expand Down
2 changes: 1 addition & 1 deletion docs/general/mine-stake/stake/running-staking-pool.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ For the Conflux’s full node configuration, you need to have in place the follo
* A Server with Ubuntu (recommended) or Windows
* Hard disk with 500GB of available space, ideally a SSD with NVMe drivers
* Nodejs and Yarn frameworks installed in the server
* Configure the server following the full node configuration [guide](../../run-a-node/running-full-node.md)
* Configure the server following the full node configuration [guide](../../run-a-node/advanced-topics/running-full-node.md)

It’s important to have the latest release of Conflux, you can download the node client from: https://github.com/Conflux-Chain/conflux-rust/releases

Expand Down
3 changes: 2 additions & 1 deletion docs/general/run-a-node/_category_.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
"link": {
"type": "generated-index",
"description": "Tutorials about running a node for Conflux network."
}
},
"collapsed": false
}
8 changes: 8 additions & 0 deletions docs/general/run-a-node/advanced-topics/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"label": "Advanced",
"position": 4,
"link": {
"type": "generated-index",
"description": "Advanced contents related to running a Conflux node."
}
}
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Note, when compiling a crate and you receive errors, it's in most cases your out
$ cargo clean && cargo update
```

To start running a Conflux full node, you can follow the instructions at [Running Conflux Full Node](../../general/run-a-node/running-full-node.md).
To start running a Conflux full node, you can follow the instructions at [Running Conflux Full Node](../../general/run-a-node/advanced-topics/running-full-node.md).

## Install Test Dependencies

Expand Down Expand Up @@ -149,4 +149,4 @@ You can follow the detailed instructions at [Installing the Solidity Compiler](h

Note that latest solidity compiler may be incompatible with Conflux and may cause the integration test to fail. If you encounter such problem, please install solidity compiler version 0.5.2.

To run tests, you can build the source code first and follow the instructions at [Running Test](./running-full-node.md#running-test).
To run tests, you can build the source code first and follow the instructions at [Running Test](./advanced-topics/running-full-node.md#running-test).
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ Light Node: Primarily used as a wallet and stores the least amount of data.

#### 1.2 Hardware Requirements for Archive Node

* A computer with a recent version of Linux or macOS.

* At least 16GB of RAM.

* A minimum of 2TB free disk space (SSD is recommended).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ displayed_sidebar: generalSidebar
---
### Requirements

* A computer with a recent version of Linux or macOS.

* At least 8GB of RAM.

* A minimum of 1TB free disk space (SSD is recommended).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -213,35 +213,35 @@ for (ii = 0; ii < 10; ++ii) {
| RPC | status |
| --------- | ---------------------- |
| [cfx_call](../../core/build/json-rpc/cfx-namespace.md#cfx_call) | ❌ Not supported yet |
| [cfx_checkBalanceAgainstTransaction](../../core/build/json-rpc/cfx-namespace.md#cfx_checkbalanceagainsttransaction) | ✅ Supported |
| [cfx_clientVersion](../../core/build/json-rpc/cfx-namespace.md#cfx_clientversion) | ✅ Supported |
| [cfx_epochNumber](../../core/build/json-rpc/cfx-namespace.md#cfx_epochnumber) | ✅ Supported |
| [cfx_estimateGasAndCollateral](../../core/build/json-rpc/cfx-namespace.md#cfx_estimategasandcollateral) | ❌ Not supported yed |
| [cfx_gasPrice](../../core/build/json-rpc/cfx-namespace.md#cfx_gasprice) | ✅ Supported |
| [cfx_getAccount](../../core/build/json-rpc/cfx-namespace.md#cfx_getaccount) | ✅ Supported |
| [cfx_getAccumulateInterestRate](../../core/build/json-rpc/cfx-namespace.md#cfx_getaccumulateinterestrate) | ✅ Supported |
| [cfx_getAdmin](../../core/build/json-rpc/cfx-namespace.md#cfx_getadmin) | ✅ Supported |
| [cfx_getBalance](../../core/build/json-rpc/cfx-namespace.md#cfx_getbalance) | ✅ Supported |
| [cfx_getBestBlockHash](../../core/build/json-rpc/cfx-namespace.md#cfx_getbestblockhash) | ✅ Supported |
| [cfx_getBlockByEpochNumber](../../core/build/json-rpc/cfx-namespace.md#cfx_getblockbyepochnumber) | ✅ Supported |
| [cfx_getBlockByHash](../../core/build/json-rpc/cfx-namespace.md#cfx_getblockbyhash) | ✅ Supported |
| [cfx_getBlockByHashWithPivotAssumption](../../core/build/json-rpc/cfx-namespace.md#cfx_getblockbyhashwithpivotassumption) | ✅ Supported |
| [cfx_getBlockRewardInfo](../../core/build/json-rpc/cfx-namespace.md#cfx_getblockrewardinfo) | ❌ Not supported yet |
| [cfx_getBlocksByEpoch](../../core/build/json-rpc/cfx-namespace.md#cfx_getblocksbyepoch) | ✅ Supported |
| [cfx_getCode](../../core/build/json-rpc/cfx-namespace.md#cfx_getcode) | ✅ Supported |
| [cfx_getCollateralForStorage](../../core/build/json-rpc/cfx-namespace.md#cfx_getcollateralforstorage) | ✅ Supported |
| [cfx_getConfirmationRiskByHash](../../core/build/json-rpc/cfx-namespace.md#cfx_getconfirmationriskbyhash) | ✅ Supported |
| [cfx_getInterestRate](../../core/build/json-rpc/cfx-namespace.md#cfx_getinterestrate) | ✅ Supported |
| [cfx_getLogs](../../core/build/json-rpc/cfx-namespace.md#cfx_getlogs) | ✅ Supported |
| [cfx_getNextNonce](../../core/build/json-rpc/cfx-namespace.md#cfx_getnextnonce) | ✅ Supported |
| [cfx_getSkippedBlocksByEpoch](../../core/build/json-rpc/cfx-namespace.md#cfx_getskippedblocksbyepoch) | ✅ Supported |
| [cfx_getSponsorInfo](../../core/build/json-rpc/cfx-namespace.md#cfx_getsponsorinfo) | ✅ Supported |
| [cfx_getStakingBalance](../../core/build/json-rpc/cfx-namespace.md#cfx_getstakingbalance) | ✅ Supported |
| [cfx_getStatus](../../core/build/json-rpc/cfx-namespace.md#cfx_getstatus) | ✅ Supported |
| [cfx_getStorageAt](../../core/build/json-rpc/cfx-namespace.md#cfx_getstorageat) | ✅ Supported |
| [cfx_getStorageRoot](../../core/build/json-rpc/cfx-namespace.md#cfx_getstorageroot) | ✅ Supported |
| [cfx_getTransactionByHash](../../core/build/json-rpc/cfx-namespace.md#cfx_gettransactionbyhash) | ✅ Supported |
| [cfx_getTransactionReceipt](../../core/build/json-rpc/cfx-namespace.md#cfx_gettransactionreceipt) | ✅ Supported |
| [cfx_sendRawTransaction](../../core/build/json-rpc/cfx-namespace.md#cfx_sendrawtransaction) | ✅ Supported |
| [cfx_getSupplyInfo](../../core/build/json-rpc/cfx-namespace.md#cfx_getsupplyinfo) | ❌ Not supported yet |
| [cfx_call](../../../core/build/json-rpc/cfx-namespace.md#cfx_call) | ❌ Not supported yet |
| [cfx_checkBalanceAgainstTransaction](../../../core/build/json-rpc/cfx-namespace.md#cfx_checkbalanceagainsttransaction) | ✅ Supported |
| [cfx_clientVersion](../../../core/build/json-rpc/cfx-namespace.md#cfx_clientversion) | ✅ Supported |
| [cfx_epochNumber](../../../core/build/json-rpc/cfx-namespace.md#cfx_epochnumber) | ✅ Supported |
| [cfx_estimateGasAndCollateral](../../../core/build/json-rpc/cfx-namespace.md#cfx_estimategasandcollateral) | ❌ Not supported yed |
| [cfx_gasPrice](../../../core/build/json-rpc/cfx-namespace.md#cfx_gasprice) | ✅ Supported |
| [cfx_getAccount](../../../core/build/json-rpc/cfx-namespace.md#cfx_getaccount) | ✅ Supported |
| [cfx_getAccumulateInterestRate](../../../core/build/json-rpc/cfx-namespace.md#cfx_getaccumulateinterestrate) | ✅ Supported |
| [cfx_getAdmin](../../../core/build/json-rpc/cfx-namespace.md#cfx_getadmin) | ✅ Supported |
| [cfx_getBalance](../../../core/build/json-rpc/cfx-namespace.md#cfx_getbalance) | ✅ Supported |
| [cfx_getBestBlockHash](../../../core/build/json-rpc/cfx-namespace.md#cfx_getbestblockhash) | ✅ Supported |
| [cfx_getBlockByEpochNumber](../../../core/build/json-rpc/cfx-namespace.md#cfx_getblockbyepochnumber) | ✅ Supported |
| [cfx_getBlockByHash](../../../core/build/json-rpc/cfx-namespace.md#cfx_getblockbyhash) | ✅ Supported |
| [cfx_getBlockByHashWithPivotAssumption](../../../core/build/json-rpc/cfx-namespace.md#cfx_getblockbyhashwithpivotassumption) | ✅ Supported |
| [cfx_getBlockRewardInfo](../../../core/build/json-rpc/cfx-namespace.md#cfx_getblockrewardinfo) | ❌ Not supported yet |
| [cfx_getBlocksByEpoch](../../../core/build/json-rpc/cfx-namespace.md#cfx_getblocksbyepoch) | ✅ Supported |
| [cfx_getCode](../../../core/build/json-rpc/cfx-namespace.md#cfx_getcode) | ✅ Supported |
| [cfx_getCollateralForStorage](../../../core/build/json-rpc/cfx-namespace.md#cfx_getcollateralforstorage) | ✅ Supported |
| [cfx_getConfirmationRiskByHash](../../../core/build/json-rpc/cfx-namespace.md#cfx_getconfirmationriskbyhash) | ✅ Supported |
| [cfx_getInterestRate](../../../core/build/json-rpc/cfx-namespace.md#cfx_getinterestrate) | ✅ Supported |
| [cfx_getLogs](../../../core/build/json-rpc/cfx-namespace.md#cfx_getlogs) | ✅ Supported |
| [cfx_getNextNonce](../../../core/build/json-rpc/cfx-namespace.md#cfx_getnextnonce) | ✅ Supported |
| [cfx_getSkippedBlocksByEpoch](../../../core/build/json-rpc/cfx-namespace.md#cfx_getskippedblocksbyepoch) | ✅ Supported |
| [cfx_getSponsorInfo](../../../core/build/json-rpc/cfx-namespace.md#cfx_getsponsorinfo) | ✅ Supported |
| [cfx_getStakingBalance](../../../core/build/json-rpc/cfx-namespace.md#cfx_getstakingbalance) | ✅ Supported |
| [cfx_getStatus](../../../core/build/json-rpc/cfx-namespace.md#cfx_getstatus) | ✅ Supported |
| [cfx_getStorageAt](../../../core/build/json-rpc/cfx-namespace.md#cfx_getstorageat) | ✅ Supported |
| [cfx_getStorageRoot](../../../core/build/json-rpc/cfx-namespace.md#cfx_getstorageroot) | ✅ Supported |
| [cfx_getTransactionByHash](../../../core/build/json-rpc/cfx-namespace.md#cfx_gettransactionbyhash) | ✅ Supported |
| [cfx_getTransactionReceipt](../../../core/build/json-rpc/cfx-namespace.md#cfx_gettransactionreceipt) | ✅ Supported |
| [cfx_sendRawTransaction](../../../core/build/json-rpc/cfx-namespace.md#cfx_sendrawtransaction) | ✅ Supported |
| [cfx_getSupplyInfo](../../../core/build/json-rpc/cfx-namespace.md#cfx_getsupplyinfo) | ❌ Not supported yet |
5 changes: 0 additions & 5 deletions docs/general/run-a-node/node-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@ A full node stores the entire state of the blockchain, including all blocks and

### Requirements

* A computer with a recent version of Linux or macOS.

* At least 8GB of RAM.

* A minimum of 1TB free disk space (SSD is recommended).
Expand Down Expand Up @@ -59,8 +57,6 @@ An archive node stores the entire state of the blockchain, including all blocks,

### Requirements

* A computer with a recent version of Linux or macOS.

* At least 16GB of RAM.

* A minimum of 2TB free disk space (SSD is recommended).
Expand Down Expand Up @@ -88,7 +84,6 @@ A light node only stores the block headers and a small subset of other data, all

### Requirements

* A computer with a recent version of Linux or macOS.
* At least 4GB of RAM.
* A minimum of 200GB free disk space (SSD is recommended).
* A stable internet connection.
Expand Down
43 changes: 26 additions & 17 deletions docs/general/run-a-node/run-a-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,25 @@ title: Running a Node
displayed_sidebar: generalSidebar
---

# Running a Node

Conflux Network is a scalable blockchain platform that aims to achieve high throughput and security. Running a Conflux node allows you to participate in the network, validate transactions, and interact with the Conflux blockchain.

Running a Conflux node is a valuable way to participate in the Conflux network and contribute to its decentralization. The process involves installing dependencies, building the Conflux software, configuring the node, and running it.

Here's a step-by-step guide to setting up and running a Conflux node.

### Requirements
## Requirements

Requirements depend on the type of node. For the specific requirements of each type of node, please visit the section [Node Types](./node-types)

For a Full Node, requirements are the following:

* A computer with a recent version of Linux or macOS.
* At least 4GB of RAM (8GB or more is recommended).
* A minimum of 1TB free disk space (SSD is recommended).
* A stable internet connection.

## Step 1: Install Dependencies
## Steps

### Step 1: Install Dependencies

Before installing the Conflux node software, you'll need to install some dependencies.

Expand All @@ -44,14 +43,14 @@ On macOS
brew install cmake git openssl
```

## Step 2: Using Snapshot Tool (Optional)
### Step 2: Using Snapshot Tool (Optional)

The Conflux Snapshot Tool (aka Archive-Tool) is designed to help users quickly set up a Conflux node from a snapshot. This tool provides the download links, and by default, it downloads the DB snapshot data of the current day. The Snapshot tool can help save weeks of time required to download and sync all the blockchain data at the moment of running a node. Using this tool is optional, but highly recommended.

For more information about this tool, visit [this](./snapshot-tool) section or the [github repository](https://github.com/conflux-fans/archive-tool).


### Usage Example: (Linux & Mac - Mainnet - full node)
#### Usage Example: (Linux & Mac - Mainnet - full node)

First, download the snapshot downloading software:
```
Expand All @@ -63,15 +62,15 @@ Second, run the "download" program:
bash download.sh
```

## Step 3: Download/Build the Conflux Client
### Step 3: Download/Build the Conflux Client

There are two options, downloading a pre-built Conflux Client, or compiling the Conflux Client from Source.

### Option 1: Downloading the Conflux Client
#### Option 1: Downloading the Conflux Client

The [release](https://github.com/Conflux-Chain/conflux-rust/releases) page on the conflux-rust GitHub repository providers pre-built binaries that you can download and run directly. For more detailed instructions, please visit [this](./downloading-conflux-client.md) page.
The [release](https://github.com/Conflux-Chain/conflux-rust/releases) page on the conflux-rust GitHub repository providers pre-built binaries that you can download and run directly. For more detailed instructions, please visit [this](./advanced-topics/downloading-conflux-client.md) page.

### Option 2: Compiling the Conflux Client
#### Option 2: Compiling the Conflux Client
Compiling the Conflux Client is another option, and can be done in two steps:

1. Clone the Conflux repository:
Expand All @@ -85,9 +84,9 @@ git clone https://github.com/Conflux-Chain/conflux-rust.git
cd conflux-rust
cargo build --release
```
For more detailed instructions, please visit [this](./compiling-conflux-client.md) page.
For more detailed instructions, please visit [this](./advanced-topics/compiling-conflux-client.md) page.

## Step 4: Configure the Node
### Step 4: Configure the Node

You may want to configure your Conflux node by editing the configuration file. You can find a sample configuration file in the Conflux repository, usually named hydra.toml or similar, depending on the network version.

Expand All @@ -99,9 +98,9 @@ nano ./run/hydra.toml

Make sure to review and modify the settings according to your preferences and system capabilities.

For more detailed instructions, please visit [this](./node-configuration.md) page.
For more detailed instructions, please visit [this](./advanced-topics/node-configuration.md) page.

## Step 5: Running the Node
### Step 5: Running the Node

You can start the Conflux node by running the following command:

Expand All @@ -119,7 +118,7 @@ Finally, to run the node, go to the conflux-rust folder and use the following co

This will start the Conflux node using the configuration file you edited earlier.

## Step 6: Interacting with the Node
### Step 6: Interacting with the Node

You can interact with your Conflux node using RPC calls. The Conflux node exposes an HTTP JSON-RPC service that you can use to send requests and interact with the blockchain.

Expand All @@ -131,6 +130,16 @@ curl -H "Content-Type: application/json" -X POST –data '{"jsonrpc":"2.0","meth
```


## Step 7: Keeping Your Node Updated
### Step 7: Keeping Your Node Updated

Make sure to keep your Conflux node software updated to the latest version to ensure compatibility with the network and to include the latest features and security patches.


## Video Tutorial

<Tabs>
<TabItem value="youtube" label="Video source: YouTube">
<iframe width="560" height="315" src="https://www.youtube.com/embed/ocsbQRkL9fQ?si=wRmI5Aa6Ewfv-BCx" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen>
</iframe>
</TabItem>
</Tabs>
4 changes: 2 additions & 2 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ const sidebars = {
},
{
type: "doc",
id: "general/run-a-node/configuration-files",
id: "general/run-a-node/advanced-topics/configuration-files",
label: "Node Configuration Files",
},
// commented because of i18n build failure
Expand Down Expand Up @@ -333,7 +333,7 @@ const sidebars = {
// type: 'html',
// value: "<span class='menu__item'><b><medium> Node Deployment </medium></b></span>"
// },
// "general/run-a-node/run-a-node",
// "general/run-a-node/advanced-topics/run-a-node",
// {
// type: 'html',
// value: "<span class='menu__item'><b><medium> Core Space Dev </medium></b></span>"
Expand Down

0 comments on commit f50fb61

Please sign in to comment.