Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oxheadalpha/teztnets
https://github.com/oxheadalpha/teztnets
blockchain dailynet ghostnet kubernetes mondaynet testnet tezos
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/oxheadalpha/teztnets
- Owner: oxheadalpha
- Created: 2021-04-07T15:45:07.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-01T00:06:24.000Z (11 months ago)
- Last Synced: 2024-08-01T22:53:14.828Z (5 months ago)
- Topics: blockchain, dailynet, ghostnet, kubernetes, mondaynet, testnet, tezos
- Language: TypeScript
- Homepage: https://teztnets.xyz
- Size: 3.2 MB
- Stars: 21
- Watchers: 11
- Forks: 26
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Teztnets
Infrastructure-as-code repo to activate and bootstrap Tezos testnets in a repeatable, automated way.
See [teztnets.com](https://teztnets.com) for the list of active Teztnets.
## Features
### Based on tezos-k8s
[tezos-k8s](https://github.com/oxheadalpha/tezos-k8s) is a framework to deploy Tezos nodes or chains using Kubernetes and Helm.
See the [tezos-k8s documentation](https://github.com/oxheadalpha/tezos-k8s/blob/master/README.md)
### Faucet support
We support the beacon-compatible Tezos Faucet.
### Injection of contracts at genesis
A [collection of raw Michelson contracts](https://github.com/oxheadalpha/teztnets/tree/main/bootstrap_contracts) can be optionally deployed in any Teztnet at genesis.
### Injection of Smart Rollups at genesis
Rollups can be injected at genesis of your test chain. Teztnets supports extraction of the EVM Rollup from the Octez container, and its injection at a predetermined address.
### Bootstrap baker and bootstrap p2p endpoint
Upon deployment of a Teztnet, a genesis baker will run and its p2p and rpc endpoints will be exposed externally.
Example:- p2p: `ghostnet.teztnets.com`
- rpc `rpc.ghostnet.teztnets.com`### `--network` endpoint for Tezos node
Tezos nodes supports downloading of network specification from a json endpoint: `octez-node config init --network https://teztnets.com/`
The Teztnet platform creates and exposes such endpoints.
## Automate on Teztnets
You are encouraged to build automation to ensure your Tezos project keeps running with the future versions of Tezos shell and/or protocol.
This endpoint lists the current active testnets: [https://teztnets.com/teztnets.json](https://teztnets.com/teztnets.json)
## Add new Teztnets or modify existing Teztnets
Each Teztnet is defined within a subdirectory of the `/networks` directory in this repository. The Teztnet directory must contain the following files:
- A Helm chart `values.yaml` file
- Optionally, a Helm chart `faucet_values.yaml` file if deploying a faucet
- Optionally, a submodule of tezos-k8s (in case you need an unreleased or custom version of the tezos-k8s software)### Helm chart values.yaml
The Helm chart values.yaml lets you customize your chain in many ways:
- specify activation parameters, such as:
- list of genesis bakers
- list of accounts funded at genesis
- chains parameters (blocks per cycle, time between blocks...)
- specify user-activated upgrades for hard-forks at a given length
- specify the list of baker/endorser binaries to run.Look in any Teztnet directory's values.yaml file in [`/networks`](/networks) for reference as to how to configure your own Teztnet.
The [default Helm values.yaml](https://github.com/oxheadalpha/tezos-k8s/blob/master/charts/tezos/values.yaml) has details on every possible way to customize your teztnet.
## Teztnets.com website
The website is created with Jekyll from Markdown files generated from Jinja templates based on Pulumi outputs.
To build the website locally, from the top-level dir of the repo:
1. run `pulumi stack output networks > networks.json`
1. run `pulumi stack output teztnets > teztnets.json`
1. run `python teztnets_xyz_page/release.py`
1. `cd target/release`
1. run `bundle install`
1. run `bundle exec jekyll serve`The website will be rendered on `localhost:4000`.