> For the complete documentation index, see [llms.txt](https://node.z4ch.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://node.z4ch.xyz/miners/shaicoin/shaicoin-solo-pool.md).

# Shaicoin Solo Pool

The following steps is for those who want to create their own solo mining pool. Works best if you want to consolidate all your hashing power.

Once you have done the steps in setting up your Core Wallet, <https://node.z4ch.xyz/miners/shaicoin#run-core-wallet-and-sync>\
You can go ahead and configure your own solo mining pool. Let's proceed.

### Configure RPC ports

Stop your core wallet by going to the `/shaicoin` folder and run the following command:

```
cd
cd shaicoin
./shaicoin-cli stop
```

<figure><img src="https://756696340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1zYuAvy414Nd31flJdHr%2Fuploads%2FfCz0gUnpjnVMjIgP5Kt3%2Fimage.png?alt=media&amp;token=27b4d390-9fe1-4c50-b4b7-50d5a0bbc77d" alt=""><figcaption></figcaption></figure>

You can check your node to confirm it has already stopped.

<figure><img src="https://756696340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1zYuAvy414Nd31flJdHr%2Fuploads%2F78be5HF3MSwjmvotLgHW%2Fimage.png?alt=media&amp;token=25acd1ae-91d3-47ac-966f-8bafeae68b85" alt=""><figcaption></figcaption></figure>

Next, create a `shai.conf` file on your `.shaicoin` directory. Here are the steps:

```
cd
cd .shaicoin
touch shai.conf
```

<figure><img src="https://756696340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1zYuAvy414Nd31flJdHr%2Fuploads%2F1JtejDTU9LxDdRSpxE9t%2Fimage.png?alt=media&amp;token=e41445e9-a1d0-4f83-9ce3-eb0b7da33767" alt=""><figcaption></figcaption></figure>

Open the `shai.conf` file...

```
nano shai.conf
```

Copy and paste the following. Then save it. CTRL X, Y then Enter

```
# Enable RPC server
server=1

# Set the username and password for RPC
rpcuser=user
rpcpassword=password

# Optional: Bind to your IP address (leave localhost for local connections)
rpcbind=127.0.0.1

# RPC listening port
rpcport=8710

# Allow only connections from localhost
rpcallowip=127.0.0.1

# Maximum number of connections
maxconnections=16

# Enable logging (optional)
logtimestamps=1


```

<figure><img src="https://756696340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1zYuAvy414Nd31flJdHr%2Fuploads%2F9YhlvC0xyDy5mFFAxBcc%2Fimage.png?alt=media&amp;token=7a529030-c8a2-4617-9ad8-344c254392ae" alt=""><figcaption></figcaption></figure>

Start your node and let it sync again to the network.

```
cd
cd shaicon
cd src
./shaicoind
```

<figure><img src="https://756696340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1zYuAvy414Nd31flJdHr%2Fuploads%2FFSChxMTdGLMTCbqCYmoA%2Fimage.png?alt=media&amp;token=175b44df-f9f1-42a8-b505-54f5912c7880" alt=""><figcaption></figcaption></figure>

### Install Solo Pool repo

Install **Node.js 23.x**:

Before you begin, ensure that `curl` is installed on your system. If `curl` is not installed, you can install it using the following command:

```
sudo apt-get install -y curl
```

1. **Download the setup script:**

   ```
   curl -fsSL https://deb.nodesource.com/setup_23.x -o nodesource_setup.sh
   ```
2. **Run the setup script with sudo:**

   ```
   sudo -E bash nodesource_setup.sh
   ```
3. **Install Node.js:**

   ```
   sudo apt-get install -y nodejs
   ```
4. **Verify the installation:**

   ```
   node -v
   ```

<figure><img src="https://756696340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1zYuAvy414Nd31flJdHr%2Fuploads%2FsasWrqEa2B4g2fiqC4Ai%2Fimage.png?alt=media&amp;token=dfac92a4-08e1-4100-8d1d-f47478d68d01" alt=""><figcaption></figcaption></figure>

Copy the Shaicoin Solo Backend repo.

```
cd
git clone https://github.com/shaicoin/shaipot-solo-backend.git
cd shaipot-solo-backend
```

<figure><img src="https://756696340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1zYuAvy414Nd31flJdHr%2Fuploads%2FFeoWpySpZv4EgfATHSbi%2Fimage.png?alt=media&amp;token=90600680-c5cf-4733-910d-43ffa53cd5cc" alt=""><figcaption></figcaption></figure>

Install Dependencies

```
npm install
```

<figure><img src="https://756696340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1zYuAvy414Nd31flJdHr%2Fuploads%2F4XSO2QFTYZMV1bSbKlGN%2Fimage.png?alt=media&amp;token=6e40fc85-43a2-40f8-b65f-cd6aeb0215e9" alt=""><figcaption></figcaption></figure>

Build Native Addon

```
npm run build
```

<figure><img src="https://756696340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1zYuAvy414Nd31flJdHr%2Fuploads%2FuOaRokkXudrGH4byuqMr%2Fimage.png?alt=media&amp;token=897d5e36-0f5e-4590-8906-d95dc29c845e" alt=""><figcaption></figcaption></figure>

### Configure Solo pool

Open `config.json` file.

```
nano config.json
```

&#x20;and change the information based on your node settings. Then save it.

```
{
    "rpc_url": "http://your_rpc_server:port",
    "rpc_username": "user",
    "rpc_password": "password",
    "pool_shaicoin_address": "your_pool_address"
}
```

Here is an example:

<figure><img src="https://756696340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1zYuAvy414Nd31flJdHr%2Fuploads%2FBxIr8JEQJb3civkUy5HA%2Fimage.png?alt=media&amp;token=6be4fbf8-5b3c-4e90-894d-af8b0a04bcd1" alt=""><figcaption></figcaption></figure>

### Run Solo pool

Run your solo pool with this command:

```
node server.js
```

<figure><img src="https://756696340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1zYuAvy414Nd31flJdHr%2Fuploads%2FBNc6Pdx0Vsl5t7bRUVTn%2Fimage.png?alt=media&amp;token=ed4653fa-325d-426a-a25b-abb890425e92" alt=""><figcaption></figcaption></figure>

### Connect miners

Using the same command for connecting to a mining pool, make sure you set the correct IP:port for the --pool settings.

```
./target/release/shaipot --address sh1xxxxxxxxxxxxxj --pool ws://161.97.130.233:3333
```

<figure><img src="https://756696340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1zYuAvy414Nd31flJdHr%2Fuploads%2FuPUcUDTaxKAeNVYvx01K%2Fimage.png?alt=media&amp;token=ef5c42b3-6a90-4e75-bd07-b1a414318405" alt=""><figcaption></figcaption></figure>

Your mining pool will also indicate once a miner is connected to it. Congratulations you have successfully setup your own solo mining pool.

<figure><img src="https://756696340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1zYuAvy414Nd31flJdHr%2Fuploads%2FolsvKlIrbh2cDh1ShJ3I%2Fimage.png?alt=media&amp;token=a169265b-2032-48bf-a195-41b3d6be3719" alt=""><figcaption></figcaption></figure>

Note:\
You can also use the same approach for creating a public mining pool.\
See instructions here:\
<https://github.com/shaicoin/shaipot-backend>
