Giter Site home page Giter Site logo

holind93 / minexmr2 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from minexmr2/minexmr2

0.0 0.0 0.0 307 KB

First Monero mining pool using decentralized p2pool as a hashrate-liquidity provider

Home Page: https://minexmr2.com

License: GNU General Public License v3.0

Shell 0.38% C++ 2.07% Python 1.70% C 86.24% Makefile 2.18% HTML 7.13% Dockerfile 0.30%

minexmr2's Introduction

Hi there! Now minexmr2.com pool uses decentralized p2pool as a hashrate-liquidity provider ๐Ÿ‘‹

** TODO: implement in Swift? **

This is minexmr2.com Monero mining pool implementation based on jtgrassie's monero-pool. Just nearly 10% of code is added/rewritten, because jtgrassie's monero-pool offers a robust base to develop minexmr2.com pool as a proxy to decentralized p2pool. See build instructions below.

The name MINEXMR2 is inspired by departed old-school MINEXMR pool and conceptual decentralized p2pool. In no way this pool is related to original MINEXMR.

  • ๐Ÿ”ญ FULL support of SChernykh p2pool has been implemented! Now minexmr2.com pool uses decentralized p2pool as a hashrate-liquidity provider. You have nothing to build, deploy, upgrade and maintain like in your own p2pool instance. If you mine with us, you get your pending balance update as regular as p2pool finds new block. Each time your pending balance reaches 0.01XMR you receive automatic payment.

Latest news

โšก Nov 01 2022: minexmr2.com site has new section: Useful Resources (Some Monero-related 3rd party resources we found useful).

โšก Oct 27-28 2022: minexmr2.com site and this README texts have been fixed against further discussion in reddit post. Wrong text about resistance to 51% attack has been completely removed.

โšก Oct 23 2022: minexmr2.com site and this README texts have been fixed against discussion in reddit post.

โšก Oct 18 2022: minexmr2.com pool is rebuilt against Monero Fluorine Fermi, Point Release 1.2 and p2pool v2.4.

โšก Sep 22 2022: minexmr2.com status online and fully operational; blocks are being found by local p2pool instance, approx. 1.62 blocks/hour. Detailed info at minexmr2.com.

Compiling from source

Dependencies

The build system requires the Monero source tree to be cloned and compiled. Follow the instructions for compiling Monero, then export the following variable:

export MONERO_ROOT=/path/to/cloned/monero

Replacing the path appropriately.

Beyond the Monero dependencies, the following extra libraries are also required to build the pool:

  • liblmdb
  • libevent
  • json-c
  • uuid

As an example, on Ubuntu, these dependencies can be installed with the following command:

sudo apt-get install liblmdb-dev libevent-dev libjson-c-dev uuid-dev

P2pool should be compiled too, of course! Follow the instructions.

Compile

After installing all the dependencies as described above, to compile the pool as a release build, run:

make release_p2pool

The application will be built in build/release_p2pool/.

Optionally you can compile a debug build by simply running:

make debug_p2pool

Debug builds are output in build/debug_p2pool/.

Configuration

During compilation, a copy of pool.conf is placed in the output build directory. Edit this file as you see fit. When running, the pool will first look for this file in the same directory as the pool binary, then in the current users home directory. The configuration options should all be self explanatory.

It is highly recommended if you run separate UPSTREAM and TRUSTED instances of minexmr2 pool under different user accounts of your Linux OS or even different hardware Linux servers to maintain good security.

Note, all the networking between instances or servers is performed via OpenVPN tunnel!

UPSTREAM instance communicates with monerod and p2pool servers, while TRUSTED instance communicates with monerod and monero-wallet-rpc servers. UPSTREAM instance's purpose is to listen for miner connections and redirect them to p2pool server, while recording billing info. Billing info recorded is being sent to TRUSTED instance that performs all the payment processing via calls to monero-wallet-rpc server.

pool-edge.conf is a typical configuration file for UPSTREAM instance. Don't forget to rename it to pool.conf in your instance's folder.

pool-trusted.conf is a typical configuration file for TRUSTED instance. Don't forget to rename it to pool.conf in your pool instance's folder.

Important! Your pool's wallet must contain some XMR balance, for example 0.05XMR, and the whole line in configuration file is dedicated to that:

p2pool-safe-balance = 0.05

If something goes wrong, a built-in watchdog routine preserves wallet balance from decrease below 0.05XMR (in this example).

You must start executables in the following order

UPSTREAM

  1. monerod
  2. p2pool
  3. monero-pool as Linux user/server named "monero-pool-upstream"

TRUSTED

  1. monero-wallet-rpc
  2. monero-pool as Linux user/server named "monero-pool-trusted"

Shutdown should be performed in reversed order.

Note, you can use several UPSTREAM bundles configured to communicate with the same TRUSTED bundle. If even TRUSTED bundle is temporarily offline, UPSTREAM bundle does record all the shares/billing info that will be transferred to TRUSTED bundle when it comes back online.

Donations

You donations help to evacuate my family from danger near-war zone of Ukraine.

Donate XMR: 4AoKL73JHbJWSws7exQyxMYwgEvqkrpxX6hiLwLA8YXyESLHVCk7r9djR8fmeaDMSABCryvu1PjUGDYmQnkBNHum9NhDpbW

Donate BTC: bc1qmg0jc8lnsqx82096cknfn9a8q6e723gm3kw23t

minexmr2's People

Contributors

minexmr2 avatar holind93 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.