stefa2k / prysm-docker-compose Goto Github PK
View Code? Open in Web Editor NEWRun a stand-alone Prysm staking node with monitoring tools and own Ethereum 1 node out of the box!
License: MIT License
Run a stand-alone Prysm staking node with monitoring tools and own Ethereum 1 node out of the box!
License: MIT License
stefa2k/ansible-prysm#5
blocked by prysmaticlabs/prysm#6433
Hi, looks like the latest stable release tag is alpha.12
.
The git commit hash is 802bdf5
, and the corresponding Docker tag is HEAD-802bdf
.
I've put this in my .env
file and it seems to work fine.
The validator still reports being alpha.11
, but the corresponding commit hash seems to be correct:
$ docker-compose exec validator /app/validator/image.binary --version
validator version Prysm/v1.0.0-alpha.11/802bdf5561a8c713fc2a8ae5b16cdb02b192e94a. Built at: 2020-06-17 18:50:29+00:00
vs.
$ prysm.sh validator --version
Starting Prysm validator --version
validator version Prysm/v1.0.0-alpha.12/802bdf5561a8c713fc2a8ae5b16cdb02b192e94a. Built at: 2020-06-17 18:58:22+00:00
Accounts were slashed due to haproxy check on node C for slasher of node A timed out (possibly due to this i think healthz can take 1000ms on certain scenarios (we have lock for span update) if those spans take long to update it might hold the lock
statement by https://github.com/shayzluf)
Logs:
2277 slashing.txt
slashed validators: 2277, 2292, 2330, 2366, 2664, 2807, 2377, 2385, 2459, 2532, 2581, 2953, 2971, 3033
Use
Write docs for
Related to prysmaticlabs/prysm#6669
Use own geth node to connect to with the prysm beacon node.
I'm getting this error when trying to run any of the YAML files with docker-compose up
:
ERROR: Version in "./docker-compose.yaml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
I'm running Ubuntu 18.04 LTS with the following Docker versions:
$ docker --version
Docker version 19.03.8, build afacb8b7f0
$ docker-compose --version
docker-compose version 1.17.1, build unknown
I've consulted https://docs.docker.com/compose/compose-file/, which tells me my engine should support up to version 3.8 of the YAML file format, but for some reason it doesn't.
I've also tried to replace the version number in the file(s) with some random lower versions, but then I get errors about certain extensions (such as logging) not being supported.
Concepts for:
adding this line to /config/beacon-no-geth.yaml
monitoring-host: 0.0.0.0
disable-initial-sync-verify-all-signatures
in beacon.yaml
s should not be set to yes
when run on mainnet.
Reverse proxy for backup services (geth + beacon)
Beacon connects to reverse proxy
Validator connects to reverse proxy
Slasher connects to reverse proxy
static IPs for containers OR no dns cache for haproxy
Testing
Create docker-compose.overide.yaml
Documentation (will happen here stefa2k/ansible-prysm#5)
Merge into master
Hi, first of all, thanks for the great work on this setup! I've spun up two Prysm validator setups for Onyx, one with the prysm.sh
script, and one with this setup. The former was easier, but this one seems more flexible.
However, the createAccounts.sh
script wasn't working for me (I know it comes without warranty!), so I took some time to figure out why. This is what I found:
$BEACON_CONTRACT
in createAccounts.sh
) is wrong. I believe this is the address for the now-defunct Topaz network). It should be 0x0F0F0fc0530007361933EaB5DB97d09aCDD6C1c8
for Onyx.createAccounts.sh:13
to RAWTXDATA=$(sed -n 8,1p /tmp/validatorcreateoutput | tr -d '\r')
fixes this.I've forked the repo and will send you a pull request with the suggest changes.
As mentioned in #20 (comment), if one uses this repo to manage a Prysm installation, it is somewhat cumbersome to keep up to date with changes to the repo while also maintaining local configuration changes, some of which (like passwords) are mandatory.
For instance, I should pick my own validator key password and set it in .env
and validator/keystore.json
, but if one of these files is updated in the repository, my local changes will prevent me from pulling these updates.
We should devise a method to keep local changes to any configuration files separate from the repository, similar to how a local docker-compose.override.yaml
can be used to make changes to the docker-compose configuration without having to edit docker-compose.yml
.
So far, I have identified the following files to be likely to contain local changes that should survive an upstream update:
.env
(likely to change upstream)validator/keystore.json
(unlikely to change upstream)config/*.yaml
Logs are now capped at 1gb per container (10x100mb)
Relates to prysmaticlabs/prysm#6519
Trying:
enable-local-protection: true
-> didn't help--grpc-retries 0
-> didn't workenable-external-slasher-protection: false
(was true
) -> works--enable-historical-detection
At the moment slasher.log is growing to 15gb in 24h.
I wonder how to configure an infura endpoint when launching prysm with no geth configuration. Does prysm point by default to https://goerli.prylabs.net?
Should you add http-web3provider in beacon-no-geth.yaml?
I see the grafana alerting constantly due to these errors:
grafana | t=2020-08-24T18:55:24+0000 lvl=eror msg="Alert Rule Result Error" logger=alerting.evalContext ruleId=5 name="NODE: 50 errors or 100 warns in 1h" error="Could not find datasource Data source not found" changing state to=alerting
grafana | t=2020-08-24T18:55:24+0000 lvl=eror msg="Alert Rule Result Error" logger=alerting.evalContext ruleId=7 name="NETWORK: Participation rate below 66%" error="Could not find datasource Data source not found" changing state to=alerting
grafana | t=2020-08-24T18:55:25+0000 lvl=eror msg="Alert Rule Result Error" logger=alerting.evalContext ruleId=4 name="VALIDATOR: Hourly earning <= 0" error="Could not find datasource
but the data is valid when inspecting and testing the alerts look ok.
Adding a volume should solve this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.