CLI Build Instructions
The following instructions will cover building and running the VFX on Windows, Linux, and Mac. The most important step is to install .net core 6.
For Linux you can find install instructions here https://docs.microsoft.com/en-us/dotnet/core/install/linux. This document will cover how to install for Ubuntu.
In the last step for dotnet VerifiedXCore(.dll or .exe or blank) if that does not work you can also try dotnet run VerifiedXCore(.dll or .exe or blank)
Linux Install For Ubuntu 22.04:
-
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
-
sudo dpkg -i packages-microsoft-prod.deb
-
rm packages-microsoft-prod.deb
-
sudo apt-get update && sudo apt-get install -y dotnet-sdk-6.0
-
sudo apt-get update && sudo apt-get install -y aspnetcore-runtime-6.0
-
run
dotnet --version. You should see a version number of 6.0.xxx -
mkdir vfx- Makes a directory for VFX -
cd vfx
-
a) Clone the repo with git.
git clone https://github.com/VerifiedXBlockchain/VerifiedX-Core.gitb) Download the already packaged release https://github.com/VerifiedXBlockchain/VerifiedX-Core/releases/. If you do this please navigate to folder you downloaded binaries from and skip to step 12.
-
cd VerifiedX-Core -
dotnet build- There should be 0 (zero) errors. -
dotnet publish -c Release -r linux-x64 --output ./vfxpublished**please note thelinux-x64can be changed if you are on a different architecture -
cd vfxpublished -
dotnet VerifiedXCore.dll
You are done! You should now see a wallet running! Some common errors are usually related to file permissions. Please ensure you have given proper permission to the newly created VFX folder
Dotnet Conflicts
Section titled “Dotnet Conflicts”If you see an error like this, it means your have a conflict with dotnet versions.
A fatal error occurred. The folder [/usr/share/dotnet/host/fxr] does not existTo fix, run the following commands:
sudo apt remove dotnet*sudo apt remove aspnetcore*sudo apt remove netstandard*
sudo nano /etc/apt/preferences.d/99microsoft-dotnet.prefThen paste in the following and save/exit nano:
Package: *Pin: origin "packages.microsoft.com"Pin-Priority: 1001Then run:
sudo apt updatesudo apt install dotnet-sdk-6.0Windows
Section titled “Windows”Install the latest dotnet sdk from here: https://dotnet.microsoft.com/en-us/download/dotnet/6.0 Once that is installed follow steps below.
- Create a directory for VFX and then open command prompt in admin and navigate to that directory.
- Please ensure you have a working version of git installed.
- a) Clone the repo with git.
git clone https://github.com/VerifiedXBlockchain/VerifiedX-Core.gitb) Download the already packaged release https://github.com/VerifiedXBlockchain/VerifiedX-Core/releases/. If you do this please navigate to folder you downloaded binaries from and skip to step 8. cd VerifiedX-Coredotnet build- There should be 0 (zero) errors.dotnet publish-c Release -r win-x64 –output ./vfxpublished **please note thewin-x64can be changed if you are on a different architecturecd vfxpublisheddotnet VerifiedXCore.exe
Mac OSX
Section titled “Mac OSX”Install the latest dotnet sdk from here: https://dotnet.microsoft.com/en-us/download/dotnet/6.0 Once that is installed follow steps below.
- Create a directory for VFX and then open command prompt in admin and navigate to that directory.
- Please ensure you have a working version of git installed.
-
- Clone the repo with git.
git clone https://github.com/VerifiedXBlockchain/VerifiedX-Core.git - Download the already packaged release https://github.com/VerifiedXBlockchain/VerifiedX-Core/releases/. If you do this please navigate to folder you downloaded binaries from and skip to step 8.
- Clone the repo with git.
- cd VerifiedX-Core
dotnet build- There should be 0 (zero) errors.dotnet publish -c Release -r osx-x64 --output ./vfxpublished**please note theosx-x64can be changed if you are on a different architecture like arm.cd vfxpublisheddotnet VerifiedXCore
Native libraries and PLONK parameters
Section titled “Native libraries and PLONK parameters”The publish output includes the native FROST and PLONK libraries for the runtime you chose (-r), including arm64 builds for linux-arm64. Run the libraries that ship with the release: the FROST library is pinned to version 0.2.0-frost-real, and a node that loads any other version stays out of vBTC key ceremonies and signings.
On first start the node downloads vfx_plonk_v4.params (about 400 MB) into PlonkParams in its data directory and verifies its SHA-256. Set VFX_PLONK_PARAMS_PATH to the full path of an existing copy to skip the download. A copy that doesn’t match the pinned hash is ignored.