# Running Full Node Ethereum Sidechain

## Running Ethereum Sidechain&#x20;

**Requirements:** Before starting the installation, make sure your computer meets the following requirements:

* Stable internet connection.
* Adequate storage space to store the blockchain.
* Supported operating system (Linux, Windows, or macOS).
* Basic knowledge of terminal/command prompt.

1. Availability of Ethereum software.

**Hardware Requirements:**

| System Requirement      | Minimum Specification | Recommended Specification                                   |
| ----------------------- | --------------------- | ----------------------------------------------------------- |
| Processor (CPU)         | Multi-core, 2.0 GHz   | Multi-core, 3.0 GHz or higher                               |
| Memory (RAM)            | 8 GB                  | 16 GB or more                                               |
| Storage (HDD/SSD)       | 500 GB HDD or SSD     | 1 TB SSD or larger                                          |
| Internet Connection     | Stable, high-speed    | Fiber optic or cable internet recommended                   |
| Operating System        | Linux, Windows, macOS | Linux (Ubuntu, CentOS), Windows 10, macOS Catalina or later |
| ABOGIDA Client Software | TABO                  | Latest stable version                                       |

**List of Nodes:**&#x65;node://8a269edae780ddf45cdaa4a1fbd567b464586fe588fd07b741d1a2cd31cc6ec57f7fe4e02532164a7a6bc48460b5a1da8bac4a9cf0510c1d04529d00f30d1a24\@127.0.0.1:0?discport=30310**Installing Ethereum:&#x20;*****Linux**:* To install Ethereum on Linux, follow these steps:

* Open the terminal.

Add the Ethereum repository with the command: sudo add-apt-repository -y ppa: ethereum/ethereum Update the package list: sudo apt-get update Install Ethereum: sudo apt-get install ethereum ***Windows**:* Installing Ethereum on Windows requires a few additional steps. You can download the Ethereum installer from the official Ethereum website, then follow the provided installation guide. ***macOS**:* Installing Ethereum on macOS can be done using Homebrew. Follow these steps:

* Open Terminal.

Install Homebrew (if not installed already):/bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Install> Ethereum with Homebrew: brew tap ethereum/ethereum brew install ethereum **Running Full Node:** Once you have successfully installed Ethereum, follow these steps to run a full node:

* Open a terminal or command prompt.

Start the Ethereum node by running the following command: export GIDAC\_ADDRESS="your GIDAC wallet address"export GIDAC\_PASSWORD="gidac wallet password"​geth \\--datadir gidac-node \ # Specifies the data directory for the node--port 30307 \ # Sets the port for P2P communication--bootnodes "enode://..." \ # Specifies the boot node(s) for network discovery--networkid 222777 \ # Sets the network identifier--unlock $GIDAC\_ADDRESS \ # Unlocks the specified account for transaction signing--password $GIDAC\_PASSWORD \ # Specifies the password file to unlock the account--authrpc.port 8551 \ # Sets the port for RPC authentication--mine \ # Enables mining--miner.etherbase $GIDAC\_ADDRESS \ # Sets the mining reward address--http \ # Enables the HTTP-RPC server--http.port 2227 \ # Sets the port for the HTTP-RPC server--http.addr 0.0.0.0 \ # Sets the HTTP-RPC server address to listen on all interfaces--http.vhosts "\*" \ # Sets the allowed virtual hosts for the HTTP-RPC server--http.corsdomain "\*" \ # Sets the CORS domain for the HTTP-RPC server--http.api "clique,debug,eth,net,txpool" \ # Sets the enabled HTTP-RPC APIs--allow-insecure-unlock console # Allows insecure unlocking of the account and starts the JavaScript console​

* `export GIDAC_ADDRESS="your gida-chain wallet address"`: This line sets an environment variable GIDAC`_ADDRESS` to store the Ethereum wallet address. Replace `"your GIDA-Chain wallet address"` with your actual Ethereum wallet address.
* `export GIDAC_PASSWORD="gida-chain wallet password"`: This line sets an environment variable GIDAC`_PASSWORD` to store the password for the Ethereum wallet. Replace `"GIDAC wallet password"` with your actual wallet password.
* `geth`: This is the command-line tool for running Ethereum nodes.
* `--datadir gidac-node`: Specifies the data directory for the node where blockchain data will be stored. Replace `"gidac-node"` with the desired directory path.
* `--port 30306`: Sets the port for P2P communication. Ethereum nodes communicate with each other through this port.
* `--bootnodes "enode://..."`: Specifies the boot node(s) for network discovery. Boot nodes help new nodes join the network by providing them with information about other peers.
* `--networkid 222555`: Sets the network identifier. Nodes with the same network ID will only connect to each other.
* `--unlock $GIDAC_ADDRESS`: Unlocks the specified account for transaction signing. It uses the wallet address stored in the `GIDAC_ADDRESS` environment variable.
* `--password $GIDAC_PASSWORD`: Specifies the password file to unlock the account. It uses the password stored in the `GIDAC_PASSWORD` environment variable.
* `--authrpc.port 8557`: Sets the port for RPC authentication. This port is used for authenticating RPC requests.
* `--mine`: Enables mining. The node will attempt to create new blocks and add them to the blockchain.
* `--miner.etherbase $GIDAC_ADDRESS`: Sets the mining reward address. Mining rewards will be sent to the address specified in the `GIDAC_ADDRESS` environment variable.
* `--http`: Enables the HTTP-RPC server. This allows interaction with the node via HTTP requests.
* `--http.port 2225`: Sets the port for the HTTP-RPC server. HTTP requests to interact with the node will be served on this port.
* `--http.addr 0.0.0.0`: Sets the HTTP-RPC server address to listen on all interfaces. Allows external connections to the HTTP-RPC server.
* `--http.vhosts "*"`: Sets the allowed virtual hosts for the HTTP-RPC server. All hosts are allowed.
* `--http.corsdomain "*"`: Sets the CORS domain for the HTTP-RPC server. Allows cross-origin requests from any domain.
* `--http.api "clique,debug,eth,net,txpool"`: Sets the enabled HTTP-RPC APIs. Specifies the APIs that can be accessed via HTTP-RPC.
* 1. `--allow-insecure-unlock console`: Allows insecure unlocking of the account and starts the JavaScript console. This parameter is used when unlocking an account for mining. However, it's important to note that using insecure unlock methods can pose security risks and should be used with caution, especially in production environments.
* The node will start synchronizing the blockchain. This process may take some time depending on your internet connection speed and the current size of the blockchain.

1. Once synchronization is complete, your Ethereum node is ready to use. You can interact with the node through the RPC interface you activated earlier.

Be sure to refer to the official Ethereum documentation for further information on configuring and using your Ethereum node.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://medeber-engineers.gitbook.io/https-www.abogida.network/tutorials/running-full-node-ethereum-sidechain.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
