GithubHelp home page GithubHelp logo

networks's Introduction

Celestia Networks

This repository contains the configuration files for Celestia networks.

Please refer to the Celestia Docs for guides on running your own node. The configuration files genesis.json and addrbook.json are intended for use by Consensus nodes and should be placed in the node's home directory (by default $HOME/.celestia-app/config).

Networks

Name Type Chain ID Configs
Mocha Testnet mocha-4 mocha-4
Arabica Testnet arabica-11 arabica-11
Celestia Mainnet Beta celestia celestia

Software versions

The celestia-app and celestia-node versions in use on each network are visible on this Grafana dashboard.

Public Dashboards

DA Full and Light nodes might have troubles connecting to the networks, so you can checkout this Grafana dashboard to see health/uptime status of DA Bootstrappers (now celestia network only).

networks's People

Contributors

alextothemoon avatar bidon15 avatar blockpowercapital avatar bro-chain avatar easy2stake avatar evan-forbes avatar frannovo avatar ilhanu avatar itrocket-team avatar jbowen93 avatar kim201212 avatar kinrokinro avatar liamsi avatar llporzall avatar mabalaru avatar matilote avatar maxzonder avatar mindstyle85 avatar msevey avatar musalbas avatar nodebreaker0-0 avatar qubelabsio avatar rooiie avatar rootulp avatar santosdios avatar smuu avatar spidey-169 avatar staking4all avatar sysrex avatar yazzyyaz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

networks's Issues

Audit arabica genesis.json

Motivation

celestiaorg/celestia-app#1363 was caused by arabica-4's genesis.json not containing an expected parameter. If we recreate a genesis.json via:

celestia-appd init $CHAINID --chain-id $CHAINID

then the genesis file will contain all the parameters expected by celestia-app. However, for arabica-4 and arabica-5 we've manually copied + pasted the genesis.json to retain a list of account addresses that we fund at genesis time (i.e. a faucet address).

Problem

If we continue copy + pasting the genesis files, then we will fail to pick up on changes to default parameters or new parameters.

Proposal

  1. Audit the diff between arabica-5's genesis.json and a freshly created genesis.json
  2. Before we start a new chain, have the gensis.json in version control and audited by celestia-app team

`auth failure: secret conn failed` when attempting to connect to mocha-4 peers

Context

I'm trying to run a mocha-4 consensus node. I'm using the persistent peers at https://github.com/celestiaorg/networks/blob/master/mocha-4/peers.txt

Problem

I'm observing

3:53PM INF Error reconnecting to peer. Trying again addr={"id":"f9e950870eccdb40e2386896d7b6a7687a103c99","ip":"88.99.219.120","port":43656} err="auth failure: secret conn failed: read tcp 10.239.124.37:64815->88.99.219.120:43656: i/o timeout" module=p2p tries=12
3:53PM INF Ensure peers module=pex numDialing=1 numInPeers=0 numOutPeers=0 numToDial=9
3:53PM INF Error reconnecting to peer. Trying again addr={"id":"34499b1ac473fbb03894c883178ecc83f0d6eaf6","ip":"64.227.18.169","port":26656} err="auth failure: secret conn failed: read tcp 10.239.124.37:64816->64.227.18.169:26656: i/o timeout" module=p2p tries=6
3:53PM INF Error reconnecting to peer. Trying again addr={"id":"43e9da043318a4ea0141259c17fcb06ecff816af","ip":"141.94.73.39","port":43656} err="auth failure: secret conn failed: read tcp 10.239.124.37:64820->141.94.73.39:43656: i/o timeout" module=p2p tries=6

Improve docs on howto join devnet

Some feedback gathered from discord (mainly):

The relation between the different binaries is unclear. It already popped up on other channels and again on discord.
Ideally, there was a brief overview in the readme here and a pointer to more details; these details could be in the celestia-node repo:

What is the relation between celesita-app & celestia-node?

Newcomers start following instructions from the top and the most relevant parts are only at the very end of the documentation:

phase1,2,3 is for building up local dev environment. If you want to participate devnet-2, just follow up phaseX.

For new ppl this fact is not clear. A quick mention of this in the beginning of the document will probably save newcomers an hour time.

Consider removing peer: `celestia.xprv.io`

Context

I'm attempting to run a full consensus node on celestia

Problem

When I set the full consensus node's persistent peers to the list of peers in https://github.com/celestiaorg/networks/blob/master/celestia/peers.txt I encounter

11:59AM ERR Error in peer's address err="error looking up host (celestia.xprv.io): lookup celestia.xprv.io: no such host" module=p2p

Proposal

Consider removing

when I remove it, I no longer encounter the error

fix CI failures

Tasks

Are mainnet seed nodes available?

Context

e6116822e1a5e283d8a85d3ec38f4d232274eaf3@consensus-full-seed-1.celestia-bootstrap.net:26656
cf7ac8b19ff56a9d47c75551bd4864883d1e24b5@consensus-full-seed-2.celestia-bootstrap.net:26656

Problem

I'm trying to start a consensus node and it's failing to connect to either of these ndoes

3:10PM INF No addresses to dial. Falling back to seeds module=pex
3:10PM ERR Error dialing seed err="auth failure: secret conn failed: EOF" module=p2p seed={"id":"e6116822e1a5e283d8a85d3ec38f4d232274eaf3","ip":"51.159.26.109","port":26656}
3:10PM ERR Error dialing seed err="auth failure: secret conn failed: EOF" module=p2p seed={"id":"cf7ac8b19ff56a9d47c75551bd4864883d1e24b5","ip":"51.158.57.239","port":26656}
3:10PM ERR Couldn't connect to any seeds module=p2p

Celestia Bridge crashes with Out Of memory

log:
https://gist.github.com/social244305-Architect/e9cea1d235a2b5b9df74d48de12d6862

~$ free -m
total used free shared buff/cache available
Mem: 64321 1090 59208 4 4022 62600
Swap: 8191 0 8191

~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 46 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Vendor ID: GenuineIntel
Model name: Intel(R) Xeon(R) CPU E5-2450 0 @ 2.10GHz
CPU family: 6
Model: 45
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 2
Stepping: 7
CPU max MHz: 2900.0000
CPU min MHz: 1200.0000
BogoMIPS: 4199.99
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse ss
e2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pc
id dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm pti ssbd ibrs ibpb stibp tpr
_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
Virtualization features:
Virtualization: VT-x
Caches (sum of all):
L1d: 512 KiB (16 instances)
L1i: 512 KiB (16 instances)
L2: 4 MiB (16 instances)
L3: 40 MiB (2 instances)
NUMA:
NUMA node(s): 2
NUMA node0 CPU(s): 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30
NUMA node1 CPU(s): 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31
Vulnerabilities:
Gather data sampling: Not affected
Itlb multihit: KVM: Mitigation: VMX disabled
L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable
Mds: Mitigation; Clear CPU buffers; SMT vulnerable
Meltdown: Mitigation; PTI
Mmio stale data: Unknown: No mitigations
Retbleed: Not affected
Spec rstack overflow: Not affected
Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; Retpolines; IBPB conditional; IBRS_FW; STIBP conditional; RSB filling; PBRSB-eIBRS Not affec
ted; BHI Not affected
Srbds: Not affected
Tsx async abort: Not affected

Add CI task to verify peer connectivity

Context

There are several open PRs that add/remove/modify a peer address in peers.txt. Examples:

  1. #525
  2. #524
  3. #521
  4. #519
  5. #509
  6. #508
  7. #507

Problem

It's not immediately obvious how to verify the correctness of these PRs

Proposal

Add a CI check that verifies if a peer is accessible and running on the network that corresponds to the peers.txt that was modified in the PR.

Generate celestia addrbook.json

Context

celestia-app has a command to convert peers.txt into an addrbook.json

$ celestia-appd addrbook --help
Convert a list of peers into an address book.
The first argument (peers.txt) should contain a new line separated list of peers. The format for a peer is `id@ip:port` or `id@domain:port`.
The second argument (addrbook.json) should contain the complete file path, including both the directory path and the desired output file name, in the following format: `path/to/filename`. The address book is saved to the output file in JSON format.

Usage:
  celestia-appd addrbook peers.txt addrbook.json [flags]

Flags:
  -h, --help   help for addrbook

Proposal

Once https://github.com/celestiaorg/networks/blob/master/celestia/peers.txt is finalized, run the command and save the addrbook.json in https://github.com/celestiaorg/networks/blob/master/celestia/

Switch from FIFO to prioritized mempool

Context

We'd like validators to use the prioritized mempool see celestiaorg/celestia-app#590 (comment)

Problem

Arabica (and potentially most validators on Mamaki) use the default FIFO mempool.

Proposal

We'd like our testnets to be representative of the parameters used on mainnet so we should update the Arabica validator to use the prioritized mempool (i.e. version: "v1"). If possible, we should also update any default configuration so that as many validators as possible on Mamaki update to using the prioritized mempool.

Format of `peers.txt` changes across testnets

Problem

Some scripts downstream of this repo assume that peers.txt has trailing commas. Some scripts assume no trailing commas. Since this repo doesn't enforce a consistent format, it's not clear what scripts should assume.

[email protected]:26656,
daf2cecee2bd7f1b3bf94839f993f807c6b15fbf@celestia-testnet-peer.itrocket.net:11656
contains trailing commas

[email protected]:26656
43e9da043318a4ea0141259c17fcb06ecff816af@rpc-1.celestia.nodes.guru:43656
f9e950870eccdb40e2386896d7b6a7687a103c99@rpc-2.celestia.nodes.guru:43656
does not.

Consequently, I expect a command in the docs https://docs.celestia.org/nodes/full-consensus-node/#setup-the-p2p-networks to fail because

sed -i.bak -e "s/^persistent_peers =./persistent_peers = "$PERSISTENT_PEERS"/" $HOME/.celestia-app/config/config.toml

assumes that there are trailing commas.

Proposal

Describe a format for peers.txt. Enforce it consistently for all peers.txt files. IMO no trailing commas.

bug: formatting output is not useful

When echoing the output here, it removes the whitespaces (incl. all useful formatting):

easy fix: echo "$formatted" instead.

Also, for some files, there are only some whitespace diff which is not visible from the output even when logged correctly as per above. To improve that, we can hexdump the first few bytes:

echo "Hexdump of file:"
head -c 60 "$file" | hexdump -C
echo "Hexdump of jq output:"
echo "$formatted" | head -c 60 | hexdump -C

That would e.g. give a hint on the diff here #401

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.