Skip to content

cudoventures/cudos-builders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

This project contains a set of building scripts for CudosNetwork. It depends on 3 other projects which should be downloaded manually. Here is the list:

  1. CudosNode (https://github.com/CudoVentures/cudos-node)
  2. CudosGravityBridge (https://github.com/CudoVentures/cosmos-gravity-bridge)
  3. CudosGravityBridgeUI (https://github.com/CudoVentures/cudos-gravity-bridge-ui)
  4. CudosNftMintingUI (https://github.com/CudoVentures/cudos-nft-minting-ui)

The following directory structure is required in order everything to work correctly otherwise the scripts will not be able to find their dependancies. Let denote the parent directory of all projects parentDir. Its name could be arbitrary.

/parentDir
- /parentDir/CudosBuilders
- /parentDir/CudosNode
- /parentDir/CudosGravityBridge
- /parentDir/CudosGravityBridgeUI
- /parentDir/CudosNftMintingUI
- /parentDir/CudosExplorer
- /parentDir/CudosFaucet
- /parentDir/CudosData
- /parentDir/CudosExporter

In the above directory structure, the folders' names are REQUIRED. Carefully rename every project to match the folder names above. Create an empty folder CudosData in parentDir

All commands in this guide assume that you are using Linux with bash. If you are using Windows then you are required to install WSL2 which is again Linux with bash.

CudosBuilders structure

.vscode - Contains predefined set of commands for VSCode only. They can be triggered by Control(or Cmd)+Shift+B.

docker - Contains configuration, docker, docker-compose files for all build variants of the cudos network.

public-docs - Contains documentation about local dev and DRnet

tools-nodejs - Contains scripts for network deployment and management using Node.js

tools-bash - Contains scripts for network deployment and management using Bash

workspace - Contains VS Code specific files for building a devcontainer including an example of .dockerignore file

System requirements

These system requirements are recommended for usual setup. Spanning a network with a lot of nodes will require more RAM.

Hardware:

CPU: At least 2 cores.

RAM: 16 GB (Windows), 8 GB (Linux)

Disk: An SSD drive

Software:

OS: Linux or Windows with WSL2 enabled.

Docker: 20.10.6+

Docker compose: 1.29+

Ubuntu 21 is tested and is working well.

Windows 10 with Ubuntu 20.04 on WSL2 is tested and it is working well.

The versions of docker and docker-compose are just an example. It is quite likely to work with older/newer versions too.

Use cases

Join a network

Use these docs to connect to one of the already existing networks.

Prepare to join launching network

Follow these docs if you want to be part of the network right at its start.

Launch a network

Follow these docs in order to prepare the root-validator and its compaion nodes for starting a new network

Start/Upgrade an IBC relayer

The docs in this section will guide you through the process of starting or upgrading the Hermes IBC relayer that is used for Osmosis comunication.

Network upgrade

Use this docs when you want to upgrade a node that was started either with the constructor script or with the client script.

Start a local node for testing purposes

Using the debug-node is the best for local dev. Refer to its docs for more information.

Start a local network for testing purposes

You can use one of following methods in order to create a blockchain

  1. Use these docs for starting a local network for testing.
  2. Use these docs to start a network by using a configuration file.

Utility scripts

There are several utility scripts with varios use cases like starting a complete blockchain network by using a single config file. For more information refer to tool-nodejs section.

Setup the dev workspace

The dev workspace is best suited for you if you plan to develop a new features to the CudosNetwork ecosystem. You can find more information to do it here.

Wiki

The wiki section describes the underlying architecture and features of the CudosBuilders repo.