Wallets - guydavis/machinaris GitHub Wiki

Hot Wallet

The standard wallet running within the Machinaris container is used by the Chia full-node services. Details are available on the Keys and Wallets pages of the Machinaris WebUI. This wallet is tied to your mnenomic phrase. The Machinaris index page contains a chart showing your wallet balance, along with farmed coins, from your blockchain wallet(s).

Wallets Page

The Wallets summary table shows a terse display of each blockchain being farmed. Columns include:

  • Blockchain: The name of the blockchain such as 'chia', 'flax', etc.
  • Status: The state of your wallet such as Synced, Syncing, Not Synced, Offline, etc.
  • Wallet Balance: The sum of blockchain coins in your wallet.
  • Cold Wallet Balance: The sum of blockchain coins in your cold wallet addresses, if you provided them.
  • Total Balance: The total of blockchain coins in your wallets.
  • USD*: Using recent coin price in US dollars from online exchanges, converts your coins to ESTIMATED USD. This is not a guaranteed value so exercise due-diligence in selecting your preferred exchanges.
  • Updated At: Date the wallet show command last gathered wallet info at the command-line. Indicates if data is recent or stale.

Claim Rewards

As Chia bolted-on their pooling protocol months after their launch, many users had to create new portable plots (aka NFT plots). These portable plots can be farmed without pooling, particularly against Chia forks, but when you win a block, you'll receive only 1/8 of the reward initially, the other 7/8ths of the reward takes a week to become available and then must be "recovered". While there are online tools that offer this recovery, Machinaris offers it within the blockchain's Docker container. To claim your NFT rewards, click the 'Claim Rewards' button on the top of the Wallets page.

The dialog shown will present a recently (last hour) generated list of all recoverable coins that can be claimed. Due to the PlotNFT contract, a full week must pass before such 7/8ths rewards become recoverable. To claim your rewards, click the 'Recover' button to begin the recovery process. Machinaris will then request reward recovery for each blockchain using the fd-cli recovery tool. This process is not instanenous, so be patient and check back later, keeping an eye on your Wallet chart to watch for increases overtime.

Settings

The gear icon in the top-right of the page allows one to change the Local Currency for display/calculation purposes. Currency exchange is pulled from CoinGecko's API and is for example only. Check with your local exchange for real values.

image

By default the wallet sync runs Always. However, it is now possible to set a wallet sync frequency, including Never. This can free up some memory, leaving only farming/harvesting services running.

When an infrequent time such as "Once a Day" is choosen, Machinaris will spread out the start/pause time for each blockchain's wallet in an attempt to minimize the maximum memory usage of all Machinaris containers on the system. Goal for a small farmer with limited memory is to allow for more blockchains to be farmed concurrently, with their wallets mostly (but not always paused).

NOTE: Each time the Sync Wallet setting is Saved, all running Fullnodes will have that choice set, and it will be immediately honored, as well on next container launch. So it should be possible to slowly increase number of running fullnodes, setting each one to sync infrequently.

Finally, one can now, from the Machinaris WebUI:

  • Restart the entire blockchain (farmer, harvester, wallet (if enabled), and fullnode)... all from the Blockchains page, Status column.
  • Start/Pause just the blockchain wallet on demand... all from Wallets page, Status column.

Transactions

Linked from the Wallets page, a read-only viewer of Transactions, listed from newest to oldest is available for each wallet of each blockchain. To view transactions, either click the blockchain name (Chia, Flax, etc) from the Wallets summary page. A separate browser window will open to display transactions in a dynamic table. This transaction view can be searched, sorted, and in-future exported. As well, you can view a particular wallet's transactions directly by clicking on the linked wallet name from the text of the Wallet Details section below.

Cold Wallet

All Chia users, including all Machinaris users, are strongly encouraged to create a cold wallet to send any wins/payouts. See How To Create A Cold Wallet For Chia Coin and Chia Forks - a great video tutorial by Digital Spaceport:

Digital Spaceport

Most importantly, once you create your cold wallet, be sure to set the xch_target_address value to your new 'First Wallet Address' on the Settings | Farming page (2 locations in the config.yaml file), then click Save to restart the blockchain.

Note: To display all your wallet balances (both hot and cold), you can add your Cold Wallet Address to the Wallets page of the Machinaris WebUI. This will ensure your cold wallet balance is included in the "Wallet Balance" amount on the Summary page.

DON'T FORGET* If you are pooling, be sure to change your pool payout address to your cold wallet address. This is usually done at your particular pool's website.

Fork Cold Wallets

Here's a handy script from Nold360 that can be used to generate cold wallet addresses for the forks you choose.

#!/bin/bash

FORKS="chives hddcoin flax flora staicoin maize nchain stor"
touch mnemonic.txt
touch wallets.txt

if [ "$(cat mnemonic.txt | wc -l)" == "0" ] ; then
    docker run -ti \
      -v $(pwd)/mnemonic.txt:/mnemonic.txt \
      -v $(pwd)/wallets.txt:/wallets.txt \
        --entrypoint /bin/bash \
      ghcr.io/guydavis/machinaris \
      -c "chia init && echo CHIA: >> /wallets.txt && chia keys generate && chia keys show >> /wallets.txt && chia keys show --show-mnemonic-seed | tail -n1 > /mnemonic.txt"
fi

for fork in ${FORKS}; do
    docker run -ti \
      -v $(pwd)/mnemonic.txt:/mnemonic.txt \
      -v $(pwd)/wallets.txt:/wallets.txt \
        --entrypoint /bin/bash \
      ghcr.io/guydavis/machinaris-${fork} \
      -c "chia init && echo -e '\n\n$fork:' >> /wallets.txt && chia keys add -f /mnemonic.txt && chia keys show  >> /wallets.txt"
done

Other Wallets

While Machinaris does a good job of providing a read-only display of your current wallets status, please use the following for interactive usage of wallets, including creating transactions:

FAQ

How do I send coins?

First, you'll need to get inside the Docker container to execute the CLI commands. This can be done with docker exec -it machinaris bash on the linux host or using a Container console/terminal window on such platforms as unraid or windows.

Once inside the container, you should be able to run blockchain commands. Example for Chia:

chia version
chia wallet send -f FINGERPRINT -a AMOUNT -m FEE -t TO_ADDRESS

I would recommend sending a small amount first in a test transaction, verify that it is received at your target address before sending the full amount. Also see the detailed CLI docs.