mirror of
https://git.wownero.com/wownero/wownero-puddle.git
synced 2024-08-15 01:03:20 +00:00
update readme
This commit is contained in:
parent
bbfa90981f
commit
fd3c00f510
3 changed files with 36 additions and 20 deletions
41
README.md
41
README.md
|
@ -2,26 +2,27 @@
|
||||||
|
|
||||||
A Monero mining pool server written in C.
|
A Monero mining pool server written in C.
|
||||||
|
|
||||||
Design decisions are focused on performance, hence the use of libevent and LMDB.
|
Design decisions are focused on performance and efficiency, hence the use of
|
||||||
Currently this is single threaded (which is fine because of libevent) but work
|
libevent and LMDB. Currently it uses only two threads (one for the stratum
|
||||||
is planned to offload some of the tasks to a thread pool to allow even faster
|
clients and one for the web UI clients). It gets away with this thanks to the
|
||||||
operation.
|
efficiency of libevent (for the stratum clients) and some sensible
|
||||||
|
proxying/caching being placed in front of the [web UI](#web-ui).
|
||||||
|
|
||||||
The single payout mechanism is PPLNS, which favors loyal pool miners.
|
The single payout mechanism is PPLNS, which favors loyal pool miners.
|
||||||
|
|
||||||
I have no plans to add any other payout mechanisms or other coins. Work should
|
I have no plans to add any other payout mechanisms or other coins. Work should
|
||||||
ideally stay focussed on performance and stability.
|
stay focussed on performance, efficiency and stability.
|
||||||
|
|
||||||
## Project status
|
## Project status
|
||||||
|
|
||||||
Definitely "alpha". I have tested quite a bit on the Monero testnet (if you plan
|
I have tested this quite a bit on the Monero testnet (if you plan
|
||||||
to do the same, ensure to use `--testnet` flag when starting your wallet and
|
to do the same, ensure to use `--testnet` flag when starting your wallet and
|
||||||
daemon) and there is certainly room for improvement. Please see the
|
daemon) and mainnet, but there is always room for improvement. Please see the
|
||||||
[TODO](./TODO) file for the current list of things that could do with looking
|
[TODO](./TODO) file for the current list of things that could do with looking
|
||||||
at.
|
at.
|
||||||
|
|
||||||
There is a reference pool setup at [http://monerop.com](http://monerop.com) so
|
There is also a reference mainnet pool setup and running at
|
||||||
it can be load tested further.
|
[http://monerop.com](http://monerop.com).
|
||||||
|
|
||||||
If you want to help with testing or help setting up your own pool, give me a
|
If you want to help with testing or help setting up your own pool, give me a
|
||||||
shout on IRC: jtgrassie on Freenode.
|
shout on IRC: jtgrassie on Freenode.
|
||||||
|
@ -37,19 +38,24 @@ shout on IRC: jtgrassie on Freenode.
|
||||||
- openssl
|
- openssl
|
||||||
- libmicrohttpd
|
- libmicrohttpd
|
||||||
- uuid
|
- uuid
|
||||||
|
- libsodium
|
||||||
|
|
||||||
As an example, on Ubuntu, the dependencies can be installed with the following
|
As an example, on Ubuntu, the dependencies can be installed with the following
|
||||||
command:
|
command:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo apt-get install libjson-c-dev uuid-dev libevent-dev libmicrohttpd-dev \
|
sudo apt-get install libjson-c-dev uuid-dev libevent-dev libmicrohttpd-dev \
|
||||||
liblmdb-dev libboost-all-dev openssl
|
liblmdb-dev libboost-all-dev openssl libsodium-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
|
There may also be other [Monero
|
||||||
|
dependencies](https://github.com/monero-project/monero#dependencies) needed, so
|
||||||
|
it doesn't hurt to install those too.
|
||||||
|
|
||||||
Another obvious dependency is to have a running Monero daemon (`monerod`) and a
|
Another obvious dependency is to have a running Monero daemon (`monerod`) and a
|
||||||
running wallet RPC (`monero-wallet-rpc`) for the pool wallet. It is highly
|
running wallet RPC (`monero-wallet-rpc`) for the pool wallet. It is highly
|
||||||
recommended to run these on the same host as the pool server to avoid network
|
recommended to run these on the same host as the pool server to avoid network
|
||||||
latency.
|
latency when their RPC methods are called.
|
||||||
|
|
||||||
### Compile
|
### Compile
|
||||||
|
|
||||||
|
@ -76,15 +82,22 @@ Debug builds are output in `build/debug/`.
|
||||||
Copy and edit the `pool.conf` file to either the same directory as the compiled
|
Copy and edit the `pool.conf` file to either the same directory as the compiled
|
||||||
binary `monero-pool`, or place it in your home directory or launch `monero-pool`
|
binary `monero-pool`, or place it in your home directory or launch `monero-pool`
|
||||||
with the flag `--config-file path/to/pool.conf` to use a custom location. The
|
with the flag `--config-file path/to/pool.conf` to use a custom location. The
|
||||||
options are self explanatory.
|
configuration options should be self explanatory.
|
||||||
|
|
||||||
## Running
|
## Running
|
||||||
|
|
||||||
Ensure you have your daemon and wallet RPC up and running with the correct host
|
Ensure you have your Monero daemon (`monerod`) and wallet RPC
|
||||||
and port settings in the pool config file.
|
(`monero-wallet-rpc`) up and running with the correct host and port settings as
|
||||||
|
defined in the pool config file.
|
||||||
|
|
||||||
Then simply `cd build/debug|release` and run `./monero-pool`.
|
Then simply `cd build/debug|release` and run `./monero-pool`.
|
||||||
|
|
||||||
|
## Web UI
|
||||||
|
|
||||||
|
There is a minimal web UI that gets served on the port specified in the config
|
||||||
|
file. It's advisable to use either Apache or Nginx as a proxy in front of this
|
||||||
|
with some appropriate caching.
|
||||||
|
|
||||||
## Supporting the project
|
## Supporting the project
|
||||||
|
|
||||||
This mining pool has **no built-in developer donation** (like *other* mining
|
This mining pool has **no built-in developer donation** (like *other* mining
|
||||||
|
|
9
TODO
9
TODO
|
@ -1,10 +1,9 @@
|
||||||
Things to work on:
|
Things to work on:
|
||||||
|
- Improve the build system (ignore missing definitions of Monero objects, it's
|
||||||
|
just noise)
|
||||||
|
- Add protection against invalid share flooding
|
||||||
- Offload payout processing to a separate thread (maybe not needed, test)
|
- Offload payout processing to a separate thread (maybe not needed, test)
|
||||||
- Offload RPC requests to a separate thread (maybe not needed, test)
|
- Offload RPC requests to a separate thread (maybe not needed, test)
|
||||||
- Improve the build system
|
|
||||||
- Add protection against invalid share flooding
|
|
||||||
- Add daemonizing option (for those too lazy to nohup or use tmux)
|
- Add daemonizing option (for those too lazy to nohup or use tmux)
|
||||||
|
|
||||||
<!--
|
[//]: # ( vim: set tw=80: )
|
||||||
vim: tw=80: filetype=markdown
|
|
||||||
-->
|
|
||||||
|
|
|
@ -12,13 +12,16 @@
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
padding-bottom: 1em;
|
padding-bottom: 1em;
|
||||||
}
|
}
|
||||||
|
form {
|
||||||
|
padding-bottom: 1em;
|
||||||
|
}
|
||||||
.wallet {
|
.wallet {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>THE Monero Mining Pool</header>
|
<header>Monero Mining Pool</header>
|
||||||
<table>
|
<table>
|
||||||
<tr><td>Pool HR: </td><td id="pool_hashrate"></td></tr>
|
<tr><td>Pool HR: </td><td id="pool_hashrate"></td></tr>
|
||||||
<tr><td>Network HR: </td><td id="network_hashrate"></td></tr>
|
<tr><td>Network HR: </td><td id="network_hashrate"></td></tr>
|
||||||
|
@ -35,6 +38,7 @@
|
||||||
Your wallet address: <input type="text" id="wa" name="address" />
|
Your wallet address: <input type="text" id="wa" name="address" />
|
||||||
<input type="submit" value="Submit" />
|
<input type="submit" value="Submit" />
|
||||||
</form>
|
</form>
|
||||||
|
<small><a href="https://github.com/jtgrassie/monero-pool">https://github.com/jtgrassie/monero-pool</a></small>
|
||||||
<script>
|
<script>
|
||||||
function format_last_block(last)
|
function format_last_block(last)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue