Skip to content

Run POA Node on MacOS

$ whoami edited this page Dec 30, 2023 · 18 revisions

How to run a POA node on MacOS

NOTE:

If at any point you have issues please check our FAQ which we will be constantly updating: FAQ

If the answers can not be found there then feel free to add a new issue to the repository here: Issues and one of our team members or members of the community will be able to assist you.

1. Install .Net

Catalyst.Node works with .Net 8. You'll need to have the .Net SDK installed.

If you don't have .Net Core installed you can follow the instructions below.

2. Install Snappy for rocksdb

Snappy must be installed for MacOS opperating sytems

For MacOS you must first install brew following if not already installed using the instructions at: https://brew.sh/

Then:

brew install snappy

3. Install MongoDB

Instructions to install MongoDB can be found here for each operating system.

4. Clone the repository

To clone the repository it is assumed you have Git installed. If you do not, then follow the Git install instructions.

To clone the Catalyst repository use the command:

git clone https://github.com/catalyst-network/Catalyst.git

Then navigate into the repository:

cd Catalyst

Install the dependencies using the command:

git submodule update --init --recursive --force

5. Build the solution

Navigate to the src folder:

cd src

In the src folder build the solution:

dotnet build Catalyst.sln

6. Run the node

To run the node change to:

cd Catalyst.Node.POA.CE

Then use the command

dotnet run

Configuring a Catalyst POA node

Currently on the POA network the catalyst peer ID and DFS peer ID are seperate. This will be changed soon however currently the node must be configured as follows:

1. Create a self signed certificate

Firstly you must stop the node running in the terminal, this is done by using ctrl + c

Then you must move to the .catalyst folder which has now been created and contains the information about your specific node using:

(cd ~/.catalyst)

You must now create a Self Signed Certificate the instructions for which are found here:

Create a Self Signed Certificate

Navigate back to the Catalyst repository using:

cd ~/Catalyst/src/Catalyst.Node.POA.CE

Or if you cloned the catalyst to a different file path use that.

Restart the node using:

dotnet run --reset

2. If this is the first time that you have ran the node then you will be asked to create three passwords:

  • Node password
  • IPFS Password
  • Certificate Password

Create these passwords and keep them safe (there is no way to recover these passwords as they are only held locally on your machine).

Once these three passwords have been set you must stop the node running this is generally done by pressing:

Ctrl + c

3. Find and copy your public key for later use, it should show in the console output or in the Catalyst logs like the following:

using PublicKey: 3edzejbuvme3ed4wqr5pp23if7rguoy7yddlcy3whijywzvo7lfq

4. Find your external ip address and copy it for later use: Whats My IP Address

5. Go to your home profile directory:

MacOS(cd ~/.catalyst)`

6. Edit devnet.json and replace the Peer BindAddress and the RCP BindAddress with your internal IP address found using the command ipcconfig on Windows and ifconfig on Unix (MacOS / Linux) using IPV4. Then replace the Peer PublicIpAddress with your external ip address from Step 3 and replace the public key with your public key from Step 2.

7. Port forward if you are behind NAT. If your internal and external IP Addresses in step 5 were different then you are behind NAT.

There are steps that you can follow which will allow us to forward the ports for you automatically. This will only work with compatible routers. To try this run:

dotnet run --project ../Catalyst.Modules.UPnP --filepath ~/.catalyst/devnet.json

This will run a program which will attempt to configure your ports, it will provide feedback on whether this was successful or not.

If the above is unsuccessful will you will have to log into your router with administrator passwords. These can generally be found on the router.

Some common default IP addresses for router login are:

  • BT - 192.168.1.254
  • TalkTalk - 192.168.1.1
  • EE - 192.168.1.1
  • Virgin - 192.168.0.1
  • Sky - 192.168.0.1

We have created a guide for the process for BT initially and to update with more examples however this process varies from router to router, some will not require log in and port forwarding can be performed via an app e.g. Google Nest. However, the process remains generally the same. The guide can be found here:

BT Home Hub Port Forwarding

The port forwards that will need to be set up are as follows : 42076(udp) 42066(tcp) 4001(tcp) / API: 5005(tcp). Here is a guide on how to port forward Port Forward.

8. If not currently in 'Catalyst.Node.POA.CE' move to this directory. Re-run your node, enter your credentials again and the node should now be running.

Clone this wiki locally