Goodbye StakeBox, hello Docker portainer!

Unlike a regular wallet that is opened once in a while, a mint station is a (often headless) wallet that is connected 24-7 and minting every second for a possible stake. Staking coins requires energy, space and maintenance, for this effort a reward is given that results up to 3 to 4 % annually on average if minting continuously. Not everyone participates in staking thought which brings down the actual inflation rate of the POS side.

Nowadays, most if not anything that runs 24-7 online, is running inside a container, mostly a docker container. OS updates are a thing of the past. Instead a new container is created and deployed with a click on a (few) buttons. So why not you?

Docker in itself is a command line tool, but a lot of UI software is available for those who cant remember all the commands. Dont worry, all the software that is used in this article are free and cross platform.

Prerequisites:

docker -v

to check the installed version

How to setup a mint station in 10 steps

  1. optional step: create a folder named e.g.: 0.12.4 and copy the 3 files in here from https://github.com/peercoin/docker-peercoind/tree/master/0.12.4 Read more about this project here and docker hub

  2. run the following command to start up a container, change folders, ports names and passwords accordingly but keep 0.0.0.0/0, :/data and :9902:

docker run  -v /opt/data:/data  -p 9998:9902 --name letsmintsome -d peercoin/peercoind -rpcallowip=0.0.0.0/0 -rpcpassword=my_unique_password -rpcuser=my_secret_username
  1. open portainer to see the container running: http://localhost:9443

  2. to see the wallet is syncing, open Thunder client to make a POST request to http://localhost:9998 to retrieve the current block count.



after a while the current block number should be equal to the latest block displayed on https://explorer.peercoin.net/

  1. stop the container using portainer by clicking ■ stop

  2. find the mounted volume op the host, in this example it is opt/data. Create a folder wallets and copy your encrypted wallet.dat backup in here

  3. restart the container using portainer by clicking triangle-right start

  4. make a POST using Thunder client to request to unlock the wallet with walletpassphrase and you own password to unlock the wallet

  5. now the mint station is up and running for the next 69696969 seconds.

  6. Open your regular wallet once in a while to see if you minted new coins. Or use findstakejs when you want to know when to expect new stakes coming.

3 Likes

There is now a gist available to do the above in a much simpler way. So go have a look how it can be done a different way:

what this compose yml does is installing peercoind and portainer. The major difference is no port is mapped to the host, only a folder is mounted to portainer_data. Calling rpc command is to be done via peercoin-cli. I’d say omitting the -p option is a safer setup

services:
peercoind:
image: peercoin/peercoind
container_name: peercoind
volumes:
- /opt/peercoin-data:/data
restart: always

portainer:
image: portainer/portainer-ce:alpine
container_name: portainer
command: -H unix:///var/run/docker.sock
ports:
- “8000:8000”
- “9443:9443”
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
restart: always

volumes:
portainer_data:

I’ve found a portainer alternative that is simple UI wise called Dockge:

just paste the compose yaml in there and hit run. (the last bit seems not needed btw)

enter Bash to get the interactive bash inside the container:

type:

peercoin-cli -datadir=/data getblockcount

to get block count

likewise
type:

peercoin-cli -datadir=/data -walletpassphrase="myawesomepassword" 69696969

to unlock wallet for 69696969 seconds

to clear command history:

type:

history -c