melminter is a tool that integrates with
melwalletd to provide a convenient, CLI interface for participating in Melmint by minting erg and converting to mel.
melminter, ensure that you have:
melwalletd. Both can be installed using
cargo install --locked melminter melwalletd
A small amount of MEL.
The second requirement may be surprising: how can minting mel require mel? This is because Melmint transactions are required to pay transaction fees just like any other transaction, so you must have some “starting” mel to even begin to mint more.
Starting the melminter
The easiest way to run the melminter is to first start
melwalletd, then simply run the following command:
melminter --payout <some wallet address>
For example, if we have a wallet with address
t19rcw46nfdy3vfwejw1a4qpng3s2km6myevcm5erjk0e2094rg640, we can run:
melminter --payout t19rcw46nfdy3vfwejw1a4qpng3s2km6myevcm5erjk0e2094rg640
This will start a cool TUI interface that looks like this:
Note the daily return line, which predicts how much computational work (in DOSC) the minter will do in 24 hours, as well as how much MEL that will generate.
Note that the first time you run
melminter, it will ask you to send a particular address a small amount of MEL. You must do so for
melminter to start; otherwise it has nothing to pay initial transaction fees.
What is going on?
To understand what is happening in
melminter, recall the overall Melmint v2 procedure that aims to peg 1 MEL to 1 DOSC, or “day of sequential computation”:
melminter first mints erg, a constant $k$ of which takes a DOSC of computation to create. This is done through creating a
DoscMint transaction with a proof of sequential work over its inputs. Since this is an inherently sequential process,
melminter starts off by creating a bunch of different coins, one for each CPU core, spending them with separate
DoscMint transactions with proofs-of-sequential-work, created in separate threads, attached to generate nominal DOSC. This lets
melminter fully utilize CPU resources.
(You can also reconfigure the number of threads used through the
This nominal DOSC is then continually converted through Melswap into mel, and used to pay transaction fees. Any excess is sent to the payout address. All of this can be configured through
melminter command-line arguments;
melminter -h gives a full explanation.
Minting may not be profitable
Minting erg and converting into mel is not always profitable. Because of the mechanics of Melmint, minting is probably not profitable unless you either have a top-of-the-line CPU and cheap electricity, or Melmint is off-peg. This is because Melmint is not a proof-of-work consensus system, but rather a pegging arbitrage system that is only really used to restore the MEL/DOSC peg.
Transient volatility in the mel/erg exchange rate may also affect profitability.
melminter makes no attempt at guessing whether or not minting is profitable.