GithubHelp home page GithubHelp logo

pyrmont's Introduction

Pyrmont testnet

A temporary testnet to run v1.0.0 clients as close as possible to mainnet settings.

Explorer: https://pyrmont.beaconcha.in/

Eth2stats: https://pyrmont.eth2.wtf/

This testnet is:

  • Running for a few weeks, likely until mainnet launch.
  • Larger than the average testnet, 100,000+ validators, all live.
  • Similar to mainnet w.r.t. configuration
  • Public, users can try staking setup ahead of mainnet launch

Config

Chain config file in config.yaml

Bootnodes in bootnodes.txt

Differences with regular mainnet config:

# Pyrmont test deposit contract on Goerli (2nd edition, 0x00002009 fork version)
DEPOSIT_CONTRACT_ADDRESS: 0x8c5fecdC472E27Bc447696F431E425D02dd46a8c

# Ethereum Goerli testnet
DEPOSIT_CHAIN_ID: 5
DEPOSIT_NETWORK_ID: 5

MIN_GENESIS_TIME: 1605700800  #  Wednesday, November 18, 2020 12:00:00 PM UTC
GENESIS_DELAY: 432000  # 5 days
GENESIS_FORK_VERSION: 0x00002009

Deposit contract on etherscan: 0x8c5fecdC472E27Bc447696F431E425D02dd46a8c

Misc. data:

deposit_contract_deploy_block_nr: 3743587
deposit_contract_deploy_tx: 0x34a084b9109c120b8dc26efc44a04dc0edda4c8361ab4dc8184b562fe1ea947e

# Fork digest, mixed with zeroed genesis validators root: 
bootnode_fork_digest: 0xd54cf597
# curl localhost:4000/eth/v1/beacon/genesis
# The genesis time, after waiting for a good eth1 candidate block etc.
actual_genesis_time: 1605700807  # (Wednesday, November 18, 2020 12:00:07 PM)
genesis_validators_root: 0x9436e8a630e3162b7ed4f449b12b8a5a368a4b95bc46b941ae65c11613bfa4c1
# curl localhost:4000/eth/v1/beacon/states/genesis/root
genesis_state_root: 0x2bb257ca66d05a047a65fe43a5f457b674de445d917cca029efb09b3ba4758c4
# curl localhost:4000/eth/v1/beacon/blocks/genesis/root
genesis_block_root: 0x6a89af5df908893eedbed10ba4c13fc13d5653ce57db637e3bfded73a987bb87

Eth2stats

Eth2stats dashboard: https://pyrmont.eth2.wtf

Example to participate:

docker run -d --restart always --network="host" \
--name eth2stats-client \
-v ~/.eth2stats/data:/data \
alethio/eth2stats-client:latest run \
--eth2stats.node-name="example node" \
--data.folder="/data" \
--eth2stats.addr="grpc.pyrmont.eth2.wtf:8080" --eth2stats.tls=false \
--beacon.type="v1" \
--beacon.addr="http://localhost:5052" \
--beacon.metrics-addr="http://localhost:5054/metrics"

More info about eth2stats in the eth2stats-client repo

Client configuration

Work in progress. Not all clients support the expected flags yet.

Prysm

Run the v1.0.0-rc.0 branch

Or use docker images:

beacon_image_name: gcr.io/prysmaticlabs/prysm/beacon-chain:pyrmont
validator_image_name: gcr.io/prysmaticlabs/prysm/validator:pyrmont

Beacon node

  --pyrmont

Validator

  --pyrmont

Lighthouse

Use the pyrmont branch (until that PR is merged into master).

Beacon node

  --testnet pyrmont

Validator

  --testnet pyrmont

Teku

Beacon node & validator

  --network=pyrmont

Nimbus

Run devel or master branch

Beacon node

Prepare a binary with insecure/experimental features enabled:

make -j8 LOG_LEVEL="TRACE" NIMFLAGS="-d:insecure" beacon_node

Use the pyrmont network option.

  --network=pyrmont

Validator

No configuration necessary, fork version etc. are loaded from the beacon node.

Prepare a binary with insecure/experimental features enabled:

make -j8 LOG_LEVEL="TRACE" NIMFLAGS="-d:insecure" validator_client

F.A.Q.

What is "Pyrmont"?

Pyrmont is an area in Sydney, a favorite of Sigma Prime (Lighthouse) devs, and location of EDCON 2019, which hosted one of the early Eth2 dev workshops.

Is Pyrmont a long running testnet?

Not quite. It is planned to run until mainnet launch, and serves a purpose of testing v1.0.0 with mainnet settings, on a large network. It can then continue, or it may be replaced for a testnet with better UX: long term it is better for users to not have to wait as long in a deposit queue, and get removed quicker if offline (most users only try a testnet for a day or two at a time).

Why the 0x00002009 fork version.

This refers to the 2009 area code of Pyrmont.

Why is the deposit contract different?

To bootstrap the Pyrmont network, a 100,000 deposits were made, to create validators for the client devs and other parties involved in running the network. To avoid burning 3.2 million Goerli ETH again (it was done previously, ineffectively), the contract was modified to make the first 100,000 deposits free of charge, for the creator only. Now that the 100,000 deposits are in, the contract functions the same, and burns Goerli ETH. The source can is verified on etherscan for your convenience, see here

pyrmont's People

Contributors

protolambda avatar

Forkers

artysta112

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.