-
Notifications
You must be signed in to change notification settings - Fork 69
MMX
Note: As of 2023-01-14, MMX GPU plotting binaries are now included in the machinaris-mmx:develop
and machinaris-mmx:test
images. See compression
directive below.
MMX is a Proof of Space and Time (PoST) crypto. MMX is NOT simply a fork of Chia, instead being a fresh codebase on a new blockchain. They DO NOT share the same plot files.
MMX is still in their beta (aka testnet
) stages, however I welcome feedback from those keen to test. MMX looks like a very promising blockchain and Machinaris will be there to provide a useful WebUI, with monitoring and control of farming and plotting, as MMX progresses.
To start trying out MMX:
- On Linux, Windows, MacOS, etc: Just create a new
docker-compose.yml
from Machinaris launch wizard, selecting "MMX" as an enabled blockchain. - In Unraid Admin UI, select Apps tab, search for
machinaris mmx
, select 'Machinaris MMX' then complete the form and deploy. Please at least 15 minutes for a complete launch of the Machinaris-MMX container!
- Machinaris API Port: 8940 (LAN communication, do NOT port-forward on your router)
- MMX Network Peer Port: 12339 (
testnet9
network communication, DO port-forward on your router)
Once the Machinaris-MMX container has been running for a while, visit the Machinaris WebUI and look for the mmx
fork to appear on the Wallets, Keys, Connections, Workers, and Summary pages.
To configure plotting, note the Keys page values for MMX, then switch to Settings | Plotting page, choose your fullnode worker and mmx
as the fork. The farmer and pool public keys should be automatically replaced in the plotman.yaml configuration shown. Verify they are correct and then Save the settings.
As with Chives, I strongly recommend keeping your MMX plots in a separate folder on your HOST OS. For example, if I have a drive mounted at /mnt/disks/plots7
:
- I place Chia plots directly within
/mnt/disks/plots7/
- I place Chives plots within
/mnt/disks/plots7/chives/
- I place MMX plots within
/mnt/disks/plots7/mmx/
This is done with volume-mounts, different for each of Chia, Chives, and MMX. Each container simply read/writes plots from /plots7
mounted in-container.
Then switch to the Plotting page, then select your Worker menu, drop-down to 'mmx' and begin plotting your first MMX plot:
As MMX itself, and Machinaris' support for this blockchain, are in testing, expect things to break and you to have to start from scratch. If needed:
- Stop the Machinaris-MMX container.
- Delete the entire appdata at ~/.machinaris/machinaris-mmx or /mnt/user/appdata/machinaris-mmx.
- Start the Machinaris-MMX container.
Alternatively, if you want to just resync the blockchain, you could try stopping, deleting just ~/.machinaris-mmx/mmx/testnet9/block_chain.dat
and starting the container again.
If you have already plotted, then you will want to use your original seed after step 3 above.
docker exec -it machinaris-mmx bash
rm -f /root/.mmx/wallet.dat
mmx wallet create YOUR_SEED -f /root/.chia/mmx/wallet.dat
then restart the Machinaris-MMX container.
Please post questions and issues in the #development channel of the Machinaris Discord. Thanks for testing this early-stage blockchain!
Yes, the blockchain verification can run on only your CPU. However, it requires a recent CPU with AVX2 extensions so many old systems that happily run Chia (and fork) blockchains won't run MMX. As well, the verification is quite CPU-intensive, chewing a lot of power so really you should be using a GPU with MMX (see below).
Yes, definitely on Linux and Unraid, probably not on Windows due to Docker deficiencies. However this is being investigated, tested, and documented. Please drop into the Machinaris Discord to share tips and tricks.
You'll need the Nvidia Driver Runtime. On Unraid, just install the Nvidia Driver plugin.
Then please add the following to your docker-compose.yml.
Extend the existing environment
section
environment:
- OPENCL_GPU=nvidia
- NVIDIA_VISIBLE_DEVICES=0
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
Then add a new runtime line, (at same level as environment
):
runtime: nvidia
OR for Unraid, using the Docker admin tab, edit the Machinaris-MMX config, create 3 new Variables (shown) and add --runtime=nvidia
to the "Extra Parameters" field.
Ideally you can target the device by position or GUID, which you can later override in Unraid Docker Configuration or compose ENVs,
-e NVIDIA_VISIBLE_DEVICES=0 or -e NVIDIA_VISIBLE_DEVICES=GPU-a8b96998-xxxx-xxxx
Further explained here.
For AMD GPUs, as per this tutorial (AMD section part-way down), please add the following to your docker-compose.yml. Extend the existing environment
section
environment:
- OPENCL_GPU=amd
- ROC_ENABLE_PRE_VEGA=1
and add the following devices
section at the same level as environment
:
devices:
- "/dev/kfd:/dev/kfd"
- "/dev/dri/:/dev/dri/"
Extend the existing environment
section
environment:
- OPENCL_GPU=intel
and add the following devices
section at the same level as environment
:
devices:
- "/dev/dri/:/dev/dri/"
On the host machine, add the user that runs the container to the "video" and "render" groups.
sudo adduser $USER video
sudo adduser $USER render
To see if it worked, after the container starts, connect to it and type "clinfo"
docker exec -it machinaris-mmx bash
clinfo
You should see something like:
root@localhost:/chia-blockchain# clinfo
Number of platforms 1
Platform Name Intel(R) OpenCL HD Graphics
Platform Vendor Intel(R) Corporation
Platform Version OpenCL 3.0
Platform Profile FULL_PROFILE
Yes, a Machinaris Worker can be configured by visiting the Workers page of the Machinaris WebUI. Click the 'New Worker' button to create a docker-compose.yml
to run on your worker system. This worker can perform either MMX harvester, MMX plotting, or both!
Check out their Github repository and their Discord server.
CHIA NETWORK INC, CHIA™, the CHIA BLOCKCHAIN™, the CHIA PROTOCOL™, CHIALISP™ and the “leaf Logo” (including the leaf logo alone when it refers to or indicates Chia), are trademarks or registered trademarks of Chia Network, Inc., a Delaware corporation. There is no affiliation between the Machinaris project and the main Chia Network project.