diff --git a/.gitignore b/.gitignore index ae53916..4498f0f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .idea p2pool.cache p2pool_peers.txt -default.pgo.tmp \ No newline at end of file +default.pgo.tmp +*.json \ No newline at end of file diff --git a/README.md b/README.md index 0491f77..5759a6c 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ You can also use the OpenAlias `p2pool.observer` directly on the GUI. You can run or build go-p2pool via Golang to create native binaries for your system. -See the Dependencies section below if you want to use the [tevador/RandomX](https://github.com/tevador/RandomX) library. If you do so, remove all `CGO_ENABLED=0` from your commands. +See the Dependencies section below if you want to use the [tevador/RandomX](https://github.com/tevador/RandomX) library. If you do so, remove all `CGO_ENABLED=0` from your commands and add `-tags enable_randomx_library` to go commands. ```bash # Directly run go-p2pool @@ -87,33 +87,4 @@ You can use either `-[arg] or --[arg]` IP:port for stratum server to listen on. Empty to disable. -zmq-port uint monerod ZMQ pub port number (default 18083) -``` - -## Dependency notes - -### RandomX without external dependencies - -Set `CGO_ENABLED=0` to disable CGO and build everything via Golang, or alternatively via `disable_randomx_library` build tag. - -Uses Golang [git.gammaspectra.live/P2Pool/go-randomx](https://git.gammaspectra.live/P2Pool/go-randomx) RandomX backend for consensus PoW checking. - -Only supports light mode, with almost no JIT support. - -### RandomX with external dependency and CGO - -Requires a native RandomX implementation and `CGO_ENABLED=1` environment variable while building. - -Uses C/C++ [tevador/RandomX](https://github.com/tevador/RandomX) library. - -Supports full and light mode, with JIT support implemented across many platforms. - -You can install the dependency via this command: -```bash -$ git clone --depth 1 --branch v1.2.1 https://github.com/tevador/RandomX.git /tmp/RandomX && cd /tmp/RandomX && \ - mkdir build && cd build && \ - cmake .. -DCMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=/usr && \ - make -j$(nproc) && \ - sudo make install && \ - cd ../ && \ - rm -rf /tmp/RandomX ``` \ No newline at end of file diff --git a/go.mod b/go.mod index 8361aa6..69851af 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module git.gammaspectra.live/P2Pool/go-p2pool/v3 go 1.22 require ( - git.gammaspectra.live/P2Pool/consensus/v3 v3.7.0 + git.gammaspectra.live/P2Pool/consensus/v3 v3.8.0 git.gammaspectra.live/P2Pool/observer-cache-archive v0.0.0-20240413050335-08f79500c0c1 github.com/gorilla/mux v1.8.1 ) @@ -11,10 +11,11 @@ require ( require ( git.gammaspectra.live/P2Pool/edwards25519 v0.0.0-20240405085108-e2f706cb5c00 // indirect git.gammaspectra.live/P2Pool/go-json v0.99.0 // indirect - git.gammaspectra.live/P2Pool/go-randomx/v2 v2.1.0 // indirect + git.gammaspectra.live/P2Pool/go-randomx/v3 v3.1.0 // indirect git.gammaspectra.live/P2Pool/monero-base58 v1.0.0 // indirect git.gammaspectra.live/P2Pool/randomx-go-bindings v1.0.0 // indirect git.gammaspectra.live/P2Pool/sha3 v0.17.0 // indirect + git.gammaspectra.live/P2Pool/softfloat64 v1.0.0 // indirect git.gammaspectra.live/P2Pool/zmq4 v0.99.0 // indirect github.com/dolthub/maphash v0.1.0 // indirect github.com/dolthub/swiss v0.2.2-0.20240312182618-f4b2babd2bc1 // indirect diff --git a/go.sum b/go.sum index 0ea103f..3eda113 100644 --- a/go.sum +++ b/go.sum @@ -1,11 +1,10 @@ -git.gammaspectra.live/P2Pool/consensus/v3 v3.7.0 h1:pkcOYXYq261gIpPxsaj61oKKadKh1BF51WYffy8HeBU= -git.gammaspectra.live/P2Pool/consensus/v3 v3.7.0/go.mod h1:6Gmugv6Wyha2Sl+1gfsmiQzDaiSg/bZsfIDRFIQYE+o= +git.gammaspectra.live/P2Pool/consensus/v3 v3.8.0/go.mod h1:Sx/jnpu73dTacB55VmI07p+b20XR8QqhYnFoXp/BbA4= git.gammaspectra.live/P2Pool/edwards25519 v0.0.0-20240405085108-e2f706cb5c00 h1:mDQY337iKB+kle5RYWL5CoAz+3DmnkAh/B2XD8B+PFk= git.gammaspectra.live/P2Pool/edwards25519 v0.0.0-20240405085108-e2f706cb5c00/go.mod h1:FZsrMWGucMP3SZamzrd7m562geIs5zp1O/9MGoiAKH0= git.gammaspectra.live/P2Pool/go-json v0.99.0 h1:TbFOEWbbDLFzm1fM/2+WPUhhzSwJ501+otfrQ8jCP84= git.gammaspectra.live/P2Pool/go-json v0.99.0/go.mod h1:X9PvT0fmWrU1I+BiDUjMypUWdsWFm24QCW1sWxbzT8w= -git.gammaspectra.live/P2Pool/go-randomx/v2 v2.1.0 h1:L1fV2XBYFmpFU+JKP/7fsgDm2Lfh9yFlS+800v+3OsM= -git.gammaspectra.live/P2Pool/go-randomx/v2 v2.1.0/go.mod h1:vNmHlEIRAcU/bA85mxbUKEiBYtrtS4MVwozf29KmoHM= +git.gammaspectra.live/P2Pool/go-randomx/v3 v3.1.0 h1:FEVDm+kMhiz/zEkjPcc6b/Pp9sKGR1KoAoejT1qgaXY= +git.gammaspectra.live/P2Pool/go-randomx/v3 v3.1.0/go.mod h1:esQjh/AvuhmoMeBv9MCZ2SqgU0vgWOk1u0l0zCTMiP0= git.gammaspectra.live/P2Pool/monero-base58 v1.0.0 h1:s8LZxVNc93YEs2NCCNWZ7CKr8RbEb031y6Wkvhn+TS4= git.gammaspectra.live/P2Pool/monero-base58 v1.0.0/go.mod h1:WWEJy/AdWKxKAruvlKI82brw+DtVlePy0ct3ZiBlc68= git.gammaspectra.live/P2Pool/observer-cache-archive v0.0.0-20240413050335-08f79500c0c1 h1:yWgIcGlYLq2N0WjuudNYh/jZYlcHOJhAXUZW+3HB2DI= @@ -14,6 +13,8 @@ git.gammaspectra.live/P2Pool/randomx-go-bindings v1.0.0 h1:tajr4QFSPrb8NtHmU14Ja git.gammaspectra.live/P2Pool/randomx-go-bindings v1.0.0/go.mod h1:S17NNidG5hxqaVLsSykKqDBg/hTPSzP0KcSwXfH8WIA= git.gammaspectra.live/P2Pool/sha3 v0.17.0 h1:CZpB466LPbNVQrUNjQTtQScGDc30xSMkZ6Bmw0W9VuM= git.gammaspectra.live/P2Pool/sha3 v0.17.0/go.mod h1:HmrrYa97BZTKklUk2n/wAY+wrY0gHhoSGRd2+lIqXq8= +git.gammaspectra.live/P2Pool/softfloat64 v1.0.0 h1:XqxDpowntpV8gvBzG9bMC8VVzxZJT/YEk7BfwmaCamU= +git.gammaspectra.live/P2Pool/softfloat64 v1.0.0/go.mod h1:ZhnGqXOS6F6aJpiiT38Cvk5eHoBNqjkKfp3w3AcnomA= git.gammaspectra.live/P2Pool/zmq4 v0.99.0 h1:DYjOTqZKurPLn+/OvC8wFE0+cMnw9bp6CQnzwqAbrXA= git.gammaspectra.live/P2Pool/zmq4 v0.99.0/go.mod h1:VZEQMCQTRVzrvGZl1E225PPKHl9UQ47CEBvrYkqWKZs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= diff --git a/main.go b/main.go index 693b464..d803b98 100644 --- a/main.go +++ b/main.go @@ -138,6 +138,20 @@ func main() { settings["full-mode"] = "true" } + utils.Logf("Consensus", "network type = %s", currentConsensus.NetworkType) + if currentConsensus.Extra != "" { + utils.Logf("Consensus", "pool extra = %s", currentConsensus.Extra) + } + utils.Logf("Consensus", "pool name = %s", currentConsensus.PoolName) + if currentConsensus.PoolPassword != "" { + utils.Logf("Consensus", "pool password = %s", currentConsensus.PoolPassword) + } + utils.Logf("Consensus", "block time = %d seconds", currentConsensus.TargetBlockTime) + utils.Logf("Consensus", "min diff = %d blocks", currentConsensus.MinimumDifficulty) + utils.Logf("Consensus", "PPLNS window = %d", currentConsensus.ChainWindowSize) + utils.Logf("Consensus", "uncle penalty = %d%%", currentConsensus.UnclePenalty) + utils.Logf("Consensus", "ID = %s", currentConsensus.Id) + if instance, err := NewP2Pool(currentConsensus, settings); err != nil { utils.Fatalf("Could not start p2pool: %s", err) } else {