/chain-main

Crypto.org Chain⛓: Croeseid Testnet and beyond development

Primary LanguageGoOtherNOASSERTION


Crypto.org Chain


Table of Contents

Crypto.org Chain is a blockchain application built using Cosmos SDK and Tendermint, intended as a backbone for some of the existing and future Crypto.org ecosystem.

Please abide by the Code of Conduct in all interactions, and the contributing guidelines when submitting code.

Apache 2.0

Technical documentation can be found in this Github repository (you can read it in this hosted version).

make build

By default, the command will build a binary with Mainnet configurations.

To build with different network, provided NETWORK variable to make command

NETWORK=testnet make build

Nix is a (cross-language) package manager for reproducible builds. On Linux and macOS, you can install it as follows (on Windows 10, you can possibly use the Windows Subsystem for Linux):

$ curl -L https://nixos.org/nix/install | sh

If you're using a recent Mac with a T2 chip, you might need to check nix macos installation when the command above is not working in your environment.

You can then run:

$ make chaindImage

Which will build a docker image that contains the full node binary.

Optionally, you can also use a binary cache to speed up the build process:

$ nix-env -iA cachix -f https://cachix.org/api/v1/install
$ cachix use crypto-org-chain

Please follow this documentation to run a local devnet.

After setting the local devnet, you may interact with the your local blockchain by following this documentation.

There are different tests that can be executed in the following ways:

  • unit tests: make test
  • simulations: make test-sim-* (e.g. make test-sim-nondeterminism)
  • integrations tests: make nix-integration-test (see more details in their documentation)

you can install pystarport to manage nodes for development.

install latest python (for linux)

python version should be 3.8 or above. you can install python like this.

git clone git@github.com:python/cpython.git
cd cpython
git checkout tags/v3.9.5
./configure
make
sudo make install

set path (for linux or for mac)

in some cases, if there are multiple python versions, pystarport cannot be found.
then adjust python path.
also $HOME/.local/bin should be included to the PATH.

export PATH=/usr/local/bin:$HOME/.local/bin:$PATH

install pystarport

python3 -m pip install pystarport

quitck start

run two nodes devnet

pystarport serve --data=./data --config=./integration_tests/configs/default.yaml

get status

pystarport supervisorctl status

stop all

pystarport supervisorctl stop all