update readme and todo to reflect new build system

This commit is contained in:
Jethro Grassie 2019-04-01 18:10:48 -04:00
parent c3761f9a99
commit 55da98cee9
No known key found for this signature in database
GPG key ID: DE8ED755616565BB
3 changed files with 26 additions and 21 deletions

View file

@ -55,7 +55,7 @@ endif
LDPARAM += $(LDFLAGS) LDPARAM += $(LDFLAGS)
LIBS := lmdb pthread microhttpd sodium LIBS := lmdb pthread microhttpd
ifeq ($(OS), Darwin) ifeq ($(OS), Darwin)
LIBS += c++ boost_system-mt boost_date_time-mt boost_chrono-mt boost_filesystem-mt boost_thread-mt LIBS += c++ boost_system-mt boost_date_time-mt boost_chrono-mt boost_filesystem-mt boost_thread-mt
else else

View file

@ -31,35 +31,38 @@ shout on IRC: jtgrassie on Freenode.
### Dependencies ### Dependencies
The build system now requires the Monero source tree to be cloned and compiled.
Follow the
[instructions](https://github.com/monero-project/monero#compiling-monero-from-source)
for compiling Monero, then export the following variables:
```bash
export MONERO_ROOT=/path/to/cloned/monero
export MONERO_BUILD_ROOT=$MONERO_ROOT/build/<system>/<branch>/<release|debug>
```
Replacing the values appropriately.
Beyond the Monero dependencies, the following libraries are also required to
build the pool:
- liblmdb - liblmdb
- libevent - libevent
- json-c - json-c
- boost
- 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, these 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 libsodium-dev liblmdb-dev openssl
``` ```
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
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
latency when their RPC methods are called.
### Compile ### Compile
First install all the dependencies. First install all the dependencies as described above.
Then to compile the pool as a release build, run: Then to compile the pool as a release build, run:
@ -90,6 +93,9 @@ Ensure you have your Monero daemon (`monerod`) and wallet RPC
(`monero-wallet-rpc`) up and running with the correct host and port settings as (`monero-wallet-rpc`) up and running with the correct host and port settings as
defined in the pool config file. defined in the pool config file.
It is highly recommended to run these on the same host as the pool server to
avoid network latency when their RPC methods are called.
Then simply `cd build/debug|release` and run `./monero-pool`. Then simply `cd build/debug|release` and run `./monero-pool`.
## Web UI ## Web UI

9
TODO
View file

@ -1,9 +1,8 @@
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 - Add protection against invalid share flooding
- Offload payout processing to a separate thread (maybe not needed, test) - Offload payout processing to a separate thread (appears not needed, test
- Offload RPC requests to a separate thread (maybe not needed, test) more)
- Add daemonizing option (for those too lazy to nohup or use tmux) - Offload RPC requests to a separate thread (appears not needed, test more)
- Add daemonizing option (for those too lazy to nohup or use tmux/screen)
[//]: # ( vim: set tw=80: ) [//]: # ( vim: set tw=80: )