Sign inSign up

vericonomy/veriumd

By vericonomy

•Updated almost 6 years ago

Verium Official Images

Image
4

1.5K

vericonomy/veriumd repository overview

⁠Quick reference

Maintained by: the Verium Community and the Verium Team

Where to get help: Verium Community Slack⁠, Verium Community Discord⁠, Verium Community Telegram⁠

Where to file issues: https://github.com/VeriConomy/docker-veriumd/issues⁠

⁠What is Vericonomy?

Vericonomy

⁠Innovation and transparency have been - and always will be - key characteristics of the project.

VeriCoin became the first cryptocurrency to utilize a unique blockchain protocol called "Proof of Stake Time" which provided an added layer of security and consensus over standard Proof of Stake coins. It was one of the first projects in which the developers were not anonymous and presented their true names and faces.

⁠The VeriConomy Is Born

In 2016 the developers released their biggest innovation and concept to date - Verium. While VeriCoin acts as an extremely fast and near-zero transaction costs currency, Verium was designed as a digital reserve backed by the hard costs of a unique "Proof of Work Time" protocol. Keeping in mind the goal of "Opportunity Thru Accessibility", Verium can only be efficiently mined with conventional CPU memory - something most everyone in the world has easy access to. This allows more people the opportunity to profitably mine with computing hardware they already own or can get easy acquire.

For more information and related downloads for Verium or Vericoin, please visit www.vericoin.info⁠.

⁠Where to Store Data / Managing the wallet.dat

Important note: When it comes to keeping your VRM safe, running this Docker container is no different than compiling the code or running the binary. It is critical to backup and maintain your wallet.dat and private keys!

There are several ways to store data used by applications that run in Docker containers. We encourage users of the Vericonomy images to familiarize themselves with the options available, including:

Create a data directory on the host system (outside the container) and mount this to a directory visible from inside the container. This places the files in a known location on the host system, and makes it easy for tools and applications on the host system to access the files. The downside is that the user needs to make sure that the directory exists, and that e.g. directory permissions and other security mechanisms on the host system are set up correctly.

The Docker documentation is a good starting point for understanding the different storage options and variations, and there are multiple blogs and forum postings that discuss and give advice in this area. We will simply show the basic procedure here for the latter option above:

  1. Create a data directory on a suitable volume on your host system, e.g. /my/own/datadir.

  2. Start your verium container like this:

      $ docker run --name super-cool-veriumd -v /my/own/datadir:/root/.verium -d vericonomy/veriumd:tag

The bash -v /my/own/datadir:/root/.verium part of the command mounts the bash /my/own/datadir directory from the underlying host system as the bash /root/.verium folder inside the container, where Veriumd by default will write its blockchain, wallet.dat, logging and config files.

⁠Quick Start

# Create some directory where your Verium data will be stored.
$ mkdir /home/youruser/verium_data

$ docker run --name veriumd -d \
   --env 'VRM_RPCUSER=foo' \
   --env 'VRM_RPCPASSWORD=password' \
   --env 'VRM_TXINDEX=1' \
   --volume /home/youruser/verium_data:/root/.verium \
   --publish 33988:33988 \
   vericonomy/veriumd

$ docker logs -f veriumd
[ ... ]
⁠Connecting to the running container
$ docker exec veriumd bash
⁠Bootstrapping

Connect to the container, navigate to the /usr/local/bin folder and run the bootstrap command

$ cd /usr/local/bin
$ ./verium-cli bootstrap

⁠Docker Compose Example

version: '3.7'

services:

  verium:
    image: vericonomy/veriumd:latest
    restart: always
    environment:
      - VRM_RPCUSER=foo
      - VRM_RPCPASSWORD=changemeplz-or-you-will-have-all-your-coins-stolen
      - VRM_TXINDEX=1
    volumes:
      - /my/persistent/volume/verium:/root/.verium

⁠Configuration

A custom verium.conf file can be placed in the mounted data directory. Otherwise, a default verium.conf file will be automatically generated based on environment variables passed to the container:

namedefault
VRM_RPCUSERvrm
VRM_RPCPASSWORDchangemeplz-or-you-will-have-all-your-coins-stolen
VRM_RPCPORT33987
VRM_P2PORT33988
VRM_RPCBIND127.0.0.1
VRM_RPCALLOWIP::/0
VRM_DISABLEWALLET0
VRM_TXINDEX0
VRM_TESTNET0

⁠Image Variants

The verium images come in many flavors, each designed for a specific use case.

⁠verium:<version>

This is the defacto image. If you are unsure about what your needs are, you probably want to use this one.

Some of these tags may have names like 20.04 in them. These are the versions for releases of Ubuntu and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Ubuntu.

⁠verium:<version>-alpine

This image is based on the popular Alpine Linux project⁠, available in the alpine official image⁠. Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general (approximately 1/2 the size of the defacto image above).

This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use musl libc instead of glibc and friends, so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See this Hacker News comment thread⁠ for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images.

To minimize image size, it's uncommon for additional related tools (such as git) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the alpine image description⁠ for examples of how to install packages if you are unfamiliar).

⁠License

View license information⁠ for the software contained in this image.

As with all Docker images, these likely also contain other software that may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

Some additional license information that was able to be auto-detected might be found in the repo-info repository's verium/ directory.

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

Tag summary

Content type

Image

Digest

Size

67.2 MB

Last updated

almost 6 years ago

docker pull vericonomy/veriumd