Skip to content

Create a docker container that can be used to build and run the Validity (https://validitytech.com/) client. This is intended to allow an easy way to run the wallet on a Raspberry pi.

License

Notifications You must be signed in to change notification settings

juniorvarsity/ValidityDocker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ValidityDocker

Create a docker container that can be used to build and run the Validity (https://validitytech.com/) client. This is intended to allow an easy way to run the wallet on a Raspberry Pi (recommended Raspberry Pi 4 8GB), but could be useful to run on any 64-bit linux installation to not have to worry about dependencies of that exact OS.

image

Dependencies

Usage

Build the image

Execute sudo ./buildValidity.sh to setup a Docker image that does the following:

  • Fetch and extract the latest tarball source file from the Validity GitHub
  • Setup all build and runtime dependencies for Validity
  • Compile the Validity source
  • Create a final image tagged as ubuntu/validity:latest, with only the files necessary to launch Validity.
  • Note - compilation will take several hours on a Raspberry Pi.

You can execute a docker system prune after building to free up space from the intermediate images of the build if desired.

Run the image

Execute sudo ./runValidity.sh to launch a container with the ubuntu/validity image using x11docker with the data folder in the same directory shared as the home folder for the container.

The first time it is launched the Validity application will prompt for the data folder. Choosing the default will create a hidden .Validity folder inside the shared data folder, and will be used the next time the Validity application is launched.

After syncing the blockchain, exit Validity and the x11docker window will close. If you have an existing wallet.dat file, you can replace the data/.Validity/wallet.dat file with yours. Remember to keep your wallet.dat file safe!

Notes

There are some visual odditities present when using x11docker. There might be some other settings to play with to help with these, but it is usable as is.

  • The title bar is not visibile in the application, meaning the 'X' buttons to close the application or any dialogs are not available. To close dialogs, the Cancel button or the Esc key can be used.
  • When hovering over the connections icon, the tooltip shows the number of connections as "active connections to Bitcoin network" and not "active connections to Validity network" like the Windows client does.
  • The runValidity.sh script uses two options for x11docker: -d to indicate the image contains a desktop OS, and --clipboard to allow copy/paste into and out of the container and host.

Advanced build

An alternative to building directly on the Raspberry Pi is to build on Windows or Mac using Docker Desktop and the buildx command (https://docs.docker.com/desktop/multi-arch/) to create an arm64 image, then load the image onto the Pi.

To build arm64: docker buildx build --platform linux/arm64 -t ubuntu/validity .

To load the image onto the Pi, there are a couple options:

  • Push the image to a personal docker repository , then pull it to the Pi and tag it as ubuntu/validity:latest
  • Docker save the image to a tar file, and docker load the tar file on the Pi

About

Create a docker container that can be used to build and run the Validity (https://validitytech.com/) client. This is intended to allow an easy way to run the wallet on a Raspberry pi.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages