Yesterday I wrote about how Mad Max, one of the most respected developers in the Chia ecosystem, has begun development on a new cryptocurrency loosely based on Chia. That currency is called MMX (for now) and is in the very early alpha stages of testnet. So here are some instructions on how to build MMX. If you farm this coin, it will almost certainly be worthless. I want that to be clear, as this is not an early mainnet you are getting in on the ground floor.
First, MMX only runs on Linux. You can compile it and run it in Windows Subsystem for Linux if you are like me and you run Windows. This guide is made using Ubuntu 20.04 LTS running on Windows WSL2. It should be identical for a bare-metal installation of Ubuntu.
- Install Dependencies. Since we are building from source we will need the compile tools necessary to build this.
sudo apt update
sudo apt install git cmake build-essential libsecp256k1-dev libsodium-dev zlib1g-dev ocl-icd-opencl-dev clinfo screen
2. Install the VNX middleware. This is proprietary software that Max has developed to handle a lot of the IO, both disk IO and RPC communication to the node. When I spoke to him, he attributed his work on VNX to being able to build MMX so quickly. This is the part is going to give anyone a problem if they have one, so if you don’t want it installed this is the part to bail on. When installing under WSL2 use the Ubuntu version, not the Windows version. (Update: Max has Open Sourced VNX. What a great guy.)
wget https://github.com/automyinc/vnx-base/raw/master/x86_64/vnx-base-1.9.8-x86_64-ubuntu-20.04.deb
sudo dpkg -i vnx-base-1.9.8-x86_64-ubuntu-20.04.deb
3. Git clone and compile the project. This will build the Full Node, Farmer, Wallet, Harvester and Timelord components. It does not install a plotter, but we will deal with that in the next step. Probably no secret which plotter we will be using here. This process will probably hang partway through after Build Benchmarks: False. This will just take a few minutes to get through, it hasn’t actually stopped.
git clone https://github.com/madMAx43v3r/mmx-node.git
cd mmx-node
git submodule update --init --recursive
./make_devel.sh
4. Once the source has been compiled you need to finish the installation. Pretty basic step.
cd mmx-node
source ./activate.sh
5. Now you will create a wallet. This is similar to Bitcoin-Core (especially back when I was doing it) and not like Chia at all. You are going to end up with a wallet.dat file that contains your keys, as well as a seed phrase you can copy down and preserve.
mmx wallet create
6. At this point we are going to start our Full Node and begin syncing the blockchain. If you are using a Desktop GUI, you can skip step 6 and go to 7. If you are using a console-only server then you will need to do the following to create a new screen so that you can start the Full Node, let it run but still run additional commands. For Desktop Environment / GUI users (either Ubuntu or Windows WSL) you can simply open a new window.
screen -S node
./run_node.sh
<Ctrl+A> + D (to detach)
screen -r node (to attach again)
7. Start the Full Node. This will begin connecting to the MMX network and downloading blocks. This is a VERY intensive process and MMX syncs VERY fast if you are coming from Chia. Be prepared to be impressed. If you have a slow CPU you should run it without a timelord to avoid overloading yourself and getting out of sync. You do this by appending –timelord 0 to your launch arguments.
./run_node.sh
or
./run_node.sh --timelord 0
8. At this point your Node is running and you will need to open a new window / session. Open that, browse back to your /mmx-node/ folder where you git-cloned the repo and re-activate the environment.
cd mmx-node
source ./activate.sh
9. Now we will extract our Pool Public and Farmer Public keys so we can create some plots. At this point forward this is largely like plotting and farming Chia, minus the GUI. And minus some of the annoying performance issues, so far at least.
mmx wallet keys
10. Once you have your wallet keys, you will install the latest version of Mad Max’s chia-plotter (one might call it.. the chia_plot). You can either use the instructions there to build from source, grab one of the binaries or get the Windows version in our guide. Once you have the plotter installed, you are going to do a non-NFT plot with it with the -x 11337 argument used. It will look a little something like this:
chia_plot -k 30 -x 11337 -n -1 -r 12 -t /mnt/c/plotting/ -d /mnt/d/mmx_plots/ -p ad9a743d7dd50ac673e041c05d77ce983ee0bd0684354a0eaf349260db68e4aa0c704d86b40154236bf9582be848dc10 -f a6db170e82a28ea5ecba83b8841b12eed53249f6a7be43b3965509983b8add3a858f411864a408e88b593c7663c8329f
Right now testnet supports k values over 26, but mainnet will start support at k30 as currently planned (this could change, remember this stuff is VERY alpha). To give myself the best chance at keeping plots I am plotting 30, but if you want to get up and going right away then k26 plots go VERY quickly.
11. Once you have your plots, you will need to add the plot directory to your config and restart your node one last time. You do this by modifying the plot_dirs array in the config/local/Harvester.json file. For my plots folder, on d:\mmx_plots\ (in WSL2) I would do the following
nano /mmx-node/config/local/Harvester.json
I would change the empty plots_dirs value to the following, then save and close the file.
{
"plot_dirs": ["/mnt/d/mmx_plots/"]
}
Restart the node and you should plotting and farming away. Again, this is a testnet Alpha project and we are building this to help Mad Max, not ourselves. Try to keep that in mind when making demands of him. With that in mind, here is his discord. On that note, in order to help out the network you can NAT forward port 12331 back to your full node machine. Because this software has not been audited yet, I won’t recommend any one do that. But I have.
I think I’ll pass on this for now.
PS. When using dark mode you have white text in a white box.
Really? Thank you! I will check that out
Stuck on step 10. Chia_plot command not found. After installing the chia plotter located here. “https://github.com/madMAx43v3r/chia-plotter”
Try ./ In front
If using wsl2 the port can be to be forwarded from windows to WSL, something like this in Powershell
netsh interface portproxy add v4tov4 listenport=12331 listenaddress=0.0.0.0 connectport=12331 connectaddress=172.21.64.x
where the 172….. is the WSL IP address
Please change the color scheme of your page. White characters on slightly darker white and black characters on slightly lighter black. Hmm. Have to highlight to read them.
Is this in darkmode?
Ran through the instructions and works very well getting a node setup and attached to TestNet. Thank you for posting.