docs: remove "experimental"
This commit is contained in:
parent
3622e70b82
commit
d2d4c3393f
|
@ -16,9 +16,9 @@ The single payout mechanism is PPLNS, which favors loyal pool miners, and there
|
||||||
are no plans to add any other payout mechanisms or other coins. Work should stay
|
are no plans to add any other payout mechanisms or other coins. Work should stay
|
||||||
focussed on performance, efficiency and stability.
|
focussed on performance, efficiency and stability.
|
||||||
|
|
||||||
The pool also supports a new, experimental and optional, method of mining,
|
The pool also supports an optional method of mining whereby miners select their
|
||||||
whereby miners select their *own* block template to mine on. Further information
|
*own* block template to mine on. Further information can be found in the
|
||||||
can be found in [stratum-ss.md](./stratum-ss.md).
|
document: [Stratum mode self-select](./stratum-ss.md).
|
||||||
|
|
||||||
For testing, a reference mainnet pool can be found at
|
For testing, a reference mainnet pool can be found at
|
||||||
[monerop.com](http://monerop.com).
|
[monerop.com](http://monerop.com).
|
||||||
|
|
|
@ -10,47 +10,16 @@ template they are mining, they also have no visibility of the transactions
|
||||||
included in the block template. This enables a malicious pool be selective as to
|
included in the block template. This enables a malicious pool be selective as to
|
||||||
which transactions get included (or not) into a block.
|
which transactions get included (or not) into a block.
|
||||||
|
|
||||||
To address these concerns, I've implemented a new, experimental and optional
|
To address these concerns, I've implemented an optional *mode* for this pool,
|
||||||
*mode* to this pool, which enables miners to select their *own* block template
|
which enables miners to select their *own* block template to mine on.
|
||||||
to mine on.
|
|
||||||
|
|
||||||
What follows are the instructions to test this new mode and the changes made to
|
Along with this pool, the popular miner [XMRig](https://github.com/xmrig/xmrig)
|
||||||
the stratum protocol. For a miner that supports this new mode,
|
has this mode implemented. There is also a very simple [demonstration
|
||||||
[XMRig](https://github.com/xmrig/xmrig) already has this implemented.
|
miner](https://github.com/jtgrassie/monero-powpy/blob/master/stratum-ss-miner.py)
|
||||||
Alternatively, a very simple demonstration miner can be found in
|
in the [monero-powpy](https://github.com/jtgrassie/monero-powpy) project which
|
||||||
[monero-powpy](https://github.com/jtgrassie/monero-powpy).
|
can be used to augment this document for implementers.
|
||||||
|
|
||||||
|
|
||||||
## Running
|
|
||||||
|
|
||||||
Start your `monerod` and `monero-wallet-rpc`. For example, in one
|
|
||||||
shell:
|
|
||||||
|
|
||||||
cd "$MONERO_ROOT"/build/Linux/master/release/bin
|
|
||||||
./monerod --testnet
|
|
||||||
|
|
||||||
And in another shell:
|
|
||||||
|
|
||||||
cd "$MONERO_ROOT"/build/Linux/master/release/bin
|
|
||||||
./monero-wallet-rpc --testnet --rpc-bind-port 28084 --disable-rpc-login \
|
|
||||||
--password "" --wallet-file ~/testnet-pool-wallet
|
|
||||||
|
|
||||||
Next, in a third shell, run `monero-pool`. Instructions per the
|
|
||||||
[README](./README.md#running).
|
|
||||||
|
|
||||||
Lastly you'll need to use a miner that supports this new stratum mode (see
|
|
||||||
above):
|
|
||||||
|
|
||||||
- If using [XMRig](https://github.com/xmrig/xmrig), just adjust your pool
|
|
||||||
object in your `config.json` file setting the `self-select` field to your
|
|
||||||
daemon address (e.g. `"self-select": "localhost:28081"`).
|
|
||||||
|
|
||||||
- If using [monero-powpy](https://github.com/jtgrassie/monero-powpy), install
|
|
||||||
the requirements per the projects
|
|
||||||
[README](https://github.com/jtgrassie/monero-powpy/blob/master/README.md),
|
|
||||||
then just run the `stratum-ss-miner.py` miner, optionally editing the
|
|
||||||
parameters first.
|
|
||||||
|
|
||||||
## Specification
|
## Specification
|
||||||
|
|
||||||
What follows are the stratum message and flow changes required to enable pool
|
What follows are the stratum message and flow changes required to enable pool
|
||||||
|
@ -88,11 +57,12 @@ and an extra nonce:
|
||||||
"id":1
|
"id":1
|
||||||
}
|
}
|
||||||
|
|
||||||
(3) The miner can now call the daemons RPC method
|
(3) The miner can now call a local, or remote, Monero daemons RPC method
|
||||||
[get_block_template](https://ww.getmonero.org/resources/developer-guides/daemon-rpc.html#get_block_template)
|
[get_block_template](https://getmonero.org/resources/developer-guides/daemon-rpc.html#get_block_template)
|
||||||
with parameters `extra_nonce: extra_nonce` (implemented in pull request
|
with parameters `extra_nonce: "<extra nonce hex>"` (implemented in pull request
|
||||||
[#5728](https://github.com/monero-project/monero/pull/5728)), and
|
[#5728](https://github.com/monero-project/monero/pull/5728)) and
|
||||||
`wallet_address: pool_wallet`.
|
`wallet_address: "<pool wallet address>"`, using the result values from step #2
|
||||||
|
above.
|
||||||
|
|
||||||
The miner now informs the pool of the resulting block template it will use for
|
The miner now informs the pool of the resulting block template it will use for
|
||||||
the job:
|
the job:
|
||||||
|
@ -123,6 +93,11 @@ a status:
|
||||||
"id":1
|
"id":1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
The *degree* of validation required is at the discretion of the pool
|
||||||
|
implementer. This pool simply ensures the supplied block template can be parsed
|
||||||
|
as a Monero block and that the destination coinbase reward pays out to the pool
|
||||||
|
wallet.
|
||||||
|
|
||||||
(5) The miner submits results. No changes here:
|
(5) The miner submits results. No changes here:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue