Giter Site home page Giter Site logo

networks's Introduction

Archway Networks

This repo contains a registry of Archway protocol based networks, IBC connections to these networks.

Schema files containing the recommended metadata structure can be found in the *.schema.json files located in the root directory. Schemas are still undergoing revision as user needs are surfaced. Optional fields may be added beyond what is contained in the schema files.

Adding new IBC paths

If you are a relayer operator and wish to add a new IBC path connecting to Archway Networks, please follow the below mentioned criteria and create a PR after creating the path.

Requirements for the IBC channel

  • Archway client's trusting period should be set to 2/3 of unbonding period e.g. for archway-1 (mainnet) the clients trusting period must be 1209600s
  • IBC client for the counter-party chain should also have a trusting period set to exactly 2/3 of the chains unbonding period

Steps to create new IBC paths

We recommend using hermes relayer implementation and use this tutorial to create new paths.

Requesting a new IBC path

If you are a builder on the Archway protocol and/or looking to connect Archway Networks to another chain through IBC, but do not have the expertise or the capacity to operate relayers, you can request the desired IBC relayer from archway community:

  • Join Arcwhay Discord
  • Use "@Mainnet Validator" or "@Relayer" tag on discord to request a new relay path from within Archway Network operators and partners
    • Suitable channel for such requests: "build-together"
    • You may use the "@Community Mods" discord tag for Archway community moderators and/or the "@DevRel" discord tag for Philabs developer relations team, to ask for help in your search of finding a new relayer partner
  • Each relayer connecting the cosmos to Archway networks is eligible for a feegrant to pay for IBC transfer on Archway mainnet. Please check feegrants program below for more details

Monitoring IBC paths

Philabs (on behalf of Archway foundation) is building monitoring tools e.g. relayer_exporter and also leveraging existing tools like chainpulse. These monitoring tools will be used to monitor relayers and IBC paths published on this repo for the following metrics

  • Client Expiry
  • Total IBC packets transmitted
  • Fee paid per packet transmitted
  • Redundant packets transmitted
  • Stuck packets
  • Account balances
    • Philabs operated relayers
    • Foundation feegranter account balance (this account is used to provide feegrants for relayers)
    • External relayers account balances

Feegrants Program

All relayers operating IBC paths connecting to Archway mainnet are eligible for a feegrant to pay for IBC transaction fees on Archway network.

To enable feegrants for your relayer use the following fee granter address and configuration docs for your relayer:

Archway fee granter address: archway1ktka5q3cnsy3ar7qwj2huzz6qj9q4ys7h74l9y

Feegrant selection criteria

  • Feegrants programs aims to have availability of maximum 2 to 3 relayers on each published path
  • Feegrants will be reviewed based relayer performance and renewed periodically
  • Relayer must have local full nodes available for both connecting chains
  • Relayer must publish its metadata and signer addresses for both connecting chains. Please use ibc_data_schema.json for schema reference.

Active feegrants

All operators published under _IBC have active feegrants e.g. to see active feegrants for archway <> osmosis path are under operator section of archway-osmosis.json

networks's People

Contributors

aelesbao avatar alextothemoon avatar croutondigital avatar dvjromashkin avatar dylanschultzie avatar galadrin avatar gnongs avatar huginntech avatar jlehtimaki avatar kayano avatar kinrokinro avatar kj89 avatar lesnikutsa avatar maxzonder avatar mogoll92 avatar nktsh avatar nodersteam avatar nodestake avatar openbitlab2 avatar ricotoothless avatar romainua avatar romanv1812 avatar shahbazn avatar sigv avatar social244305-architect avatar stakemepro avatar svv28 avatar validatrium avatar vinjan23 avatar xiphiar avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

networks's Issues

fix: make wireguard instance automatically configure itself

Wireguard base instance now has to be configured manually everytime the instance gets deleted.
It would be good to have cloud-init there to do the following:

  • Install packages:
    • wireguard
    • iptables
    • resolvconf
    • qrencode
  • Format and automount the disk to /etc/wireguard
  • Add these to `/etc/sysctl.d/wg.conf
    • net.ipv4.ip_forward = 1
    • net.ipv6.conf.all.forwarding = 1
  • Enable wireguard via systemd : systemdctl enable wg-quick@wg0

┆Issue is synchronized with this Jira Task by Unito

feat(ci): Add IBC infrastructure

We need to be able to test IBC transfers across various chains and to be able to do so we need the following infrastructure

┆Issue is synchronized with this Jira Task by Unito

feat(vpn): Restrict infrastructure access only through VPN

Currently our nodes are highly available from the internet and it brings quite a significant security risk.

Enhance the security of the cluster by:

  • limitting access to nodes through VPN only
  • limiting access to Kubernetes through VPN only
  • limiting access to public endpoints like Grafana through VPN only

This requires task #62 to be done first

┆Issue is synchronized with this Jira Task by Unito

Relayer operation is unstable

Relayer operation seems quite unstable -> context

There seems to be multiple issue:

  • packets get stuck after a while and the relayer stops relaying until restarted
  • ibc client on axelar keep getting expired and chain configs on hermes probably are to blame.

┆Issue is synchronized with this Jira Task by Unito

feat: Build terraform modules for environment setup

Currently all the terraform files are under infrastructure folder

New proposed structure:

  • infrastrucure
    • modules
      • environment
    • environments
      • non-prod
        • main.tf
      • prod
        • main.tf
      • xyz-env
        • main.tf

environment module:

  • Setup a new project under non-prod or prod folder
  • Use shared VPC from non-prod or prod
  • Create and configure GKE cluster
  • Create and configure apps in GKE cluster

┆Issue is synchronized with this Jira Task by Unito

feat(nodeset): Add DNS configs for nodeset module

Nodeset module should be able to set up Cloud DNS enteries to expose RPC, gRPC and API endpoints.

Proposal:

  • nodeset should input two variables for zone and domain
  • nodeset should create two records in cloud DNS under the give zone
    A record: *.
    A record:

┆Issue is synchronized with this Jira Task by Unito

feat: automate checks for infrastucture

Currently there is not automated checks for infrastructure which can cause unnecessary problems and security risks.

Tools:

  • Terraform
    • tflint
    • terraform fmt
    • tfsec
  • Kubernetes
    • kube-score
    • yamllint

Each tool should be run by CI and also be available from Make file or equivalent

┆Issue is synchronized with this Jira Task by Unito

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.