This is a small guide to help you set up your own Carv verifier node in case you don’t want to delegate your license. Since Carv is developed in Go and we want to build the client from the source, we need to install Go on our server to compile the client.
Before we start to install everything, we must prepare our testnet wallet. Follow the instructions here to claim a testnet node license, acquire tBNB, and bridge it to the opBNB testnet. After you’ve done all that, we can start with the main part.
Install Go
First, we’re going to install Go. Head over to Go’s download directory and copy the download link (right-click) for the Linux version:
Make sure to change the file name or replace the whole link with the one from the website:
cd && wget 'https://go.dev/dl/go1.22.5.linux-amd64.tar.gz'
Next, we need to check if there’s an existing Go folder in the system, which we must remove first. Go to /usr/local/ and check for a Go folder:
cd /usr/local/ && ls -la | grep go
If you don’t see a Go folder in the list, we’re good. If there is a Go folder, remove it with:
sudo rm -rf go
Our next step is to extract the archive to /usr/local/ that we just downloaded (here again: change the file name with the one you downloaded):
cd && sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
Since we aim for a system-wide installation of Go, we need to add a certain line to the profile file under /etc/. Open this file with:
sudo nano /etc/profile
Scroll down to the end of the file and add the following line:
export PATH=$PATH:/usr/local/go/bin
Now it looks like this:
Save the file with STRG (CTRL) + X, hit y, and Enter.
To verify if the installation was successful, execute this:
go version
If the system says, it can find a go command, we have to reboot the server, unfortunately. If you execute the command again, this output should be visible: go version go1.22.4 linux/amd64
Install Git
Next, we need to install Git to clone the Carv repository:
sudo apt-get update && sudo apt install git -y
To verify the installation, execute the following and check if the output is something like git version 2.34.1:
git --version
Create a Burner Wallet
Before we start our node, we need a burner wallet to which we need to delegate our Carv node NFT. This is important because otherwise, we can’t run the node. To create a burner wallet, go to the EVM Wallet Generator, verify that By Random (One Mnemonic), 12 mnemonic words, and 1 address number are selected, and click Generate.
Copy the Address and Pri-key. The Address is the one we delegate our NFT to, and the Pri-key is the private key we need for our configuration file later on.
When copying the Pri-key, it is very important to remove the first 2 characters! Look at the red-underlined part of the Pri-key, this part needs to be removed when copying:
So you would copy and save 15bd84cc8d0c02bed9697e7f14a5fd20fe50ad908b266ab6c27c804e9204a1eb for late usage.
Delegate the License
Next, we quickly delegate the license to the address we just generated. Go to the Verifiers website, connect your wallet with the NFT inside, click Delegate My License, paste the burner address, and click Delegate.
Build the verifier node from Source
Before we build the node, we need to install some packages first:
sudo apt install build-essential -y
Clone the repository with this command:
cd && git clone https://github.com/carv-protocol/verifier
For more clarity, we rename the node folder to “Carv” and enter it:
mv verifier Carv && cd Carv
Start the build process:
make build
A lot is happening on the screen now, but let it work. The binary file will be built and outputted to /bin in the Carv (or verifier) folder:
Edit config file
Let’s edit the config file:
cd configs && nano config.yaml
Move down with the curser and under wallet, change the mode from 0 to 1:
Paste the Pri-key from earlier behind private_key between the quotation marks:
Set the reward claimer address (that’s the MetaMask wallet address that should receive the rewards):
Next, we set the commission rate. This rate can be set between 0-100. 0 means you don’t take any commission from delegators. 100 means you take all rewards:
The whole block should look like this now:
Save and close the file.
Run the node
The last step is to run the node. Head into the /bin directory where our binary file has been saved and start a new screen session named Carv:
cd .. && cd bin && screen -S Carv -L -Logfile "CarvScreenLog"
Type bash, hit Enter, and execute the following command:
./verifier -conf ../configs/config.yaml
Now, your node is running and the screen should look like this:
Exit the screen session with STRG (CTRL) + A + D.